Skip to content

Instantly share code, notes, and snippets.

@horsewin
Last active May 15, 2021 09:56
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save horsewin/21ee020e3bca338db1540c38bd9b36b3 to your computer and use it in GitHub Desktop.
Save horsewin/21ee020e3bca338db1540c38bd9b36b3 to your computer and use it in GitHub Desktop.
AWSで学ぶクラウドネイティブ実践入門で作成したリソースの削除方法

作成したリソースの消し方

本ドキュメントでは、書籍「AWSで学ぶクラウドネイティブ実践入門」で作成したリソース群の削除手順について記載します。 本書籍で作成したリソースは、作成方法に応じて削除方法が異なります。

  • Terraformで作成したリソース
  • AWS マネジメントコンソールから手動で作成したリソース

前者については、https://github.com/iselegant/cntfdemo のREADME.md(https://github.com/iselegant/cntfdemo#%E3%83%AA%E3%82%BD%E3%83%BC%E3%82%B9%E3%81%AE%E5%89%8A%E9%99%A4) を参考にしてください。 後者についてはコンソールからステップを踏んで作成していきましたので、削除も地道にする必要があります。頑張って消していきましょう(笑)。 下記の手順は後者のコンソールから作成した際の削除手順になります。

開発環境アカウント(本編で作成したアカウント)

ECR

  • 左ペインからリポジトリを選択します。
  • cnappdemoの選択し、削除します。

以上でECRは完了です。

ECS

  • 左ペインからクラスタを選択します。
  • タスクタブを選択し、すべてを停止を押します。
  • すべてのタスクが停止したことを確認します。
  • クラスタの削除ボタンを押します。ポップアップの説明に従って削除してください。
  • クラスタが削除されたことを確認します。

以上でECSは完了です。

Cloud9

  • 2つのインスタンス(管理用と開発用)を順番に削除します。ポップアップの説明に従って削除してください。
  • 削除処理が進みます。これには時間がかかるのでしばらくしてから再度Cloud9のダッシュボードを訪問し、削除されていることを確認してください。

以上で、Cloud9は完了です。

Code系サービス

ここはまとめて削除いきます。

CodePipeline

  • 左ペインのパイプラインから、対象のパイプライン(cnapp-pipeline)を選択します。
  • パイプラインを削除するを押し、ポップアップの説明に従って削除してください(deleteと入力し、チェックボックスはそのままに、削除ボタンを押してOKです)。

CodeDeploy

  • 左ペインのアプリケーションから、対象のアプリケーションのリンクを選択します。
  • アプリケーションを削除ボタンを押して、ポップアップの説明に従って削除してください。

CodeBuild

  • 左ペインのビルドプロジェクトから、対象のプロジェクト(cnapp-codebuild)を選択します。
  • ビルドプロジェクトの削除を押し、ポップアップの説明に従って削除してください。

CodeCommit

  • 左ペインのリポジトリから、対象のリポジトリ(cnapp-repo)を選択します。
  • リポジトリの削除を押し、ポップアップの説明に従って削除してください。

以上で、Code系サービスの削除は完了です。

RDS

  • 左ペインのデータベースから、対象のクラスタ(cnapp-db)を選択します。
  • cnapp-dbにチェックを入れ、変更を押します。
  • 一番下にある、「削除保護」から「削除保護」のチェックを外し、次へを押します。
  • 「変更のスケジュール」ですぐに変更を選択し、クラスタの変更を押してください。
  • 少し時間をおきます(1分ほど)
  • cnapp-dbのツリーを展開し、ロールが読み込みとなっているデータベースを選択します。
  • アクションボタンから削除を押してください。
  • 同様に、ロールが書き込みとなっているデータベースも削除してください。
  • ポップアップ画面では、最終スナップショットの作成のチェックはせず、了承のチェックボックスにチェックを入れて削除してください。

以上で、RDSの削除は完了です。

Load Balancer

  • EC2のダッシュボードへ遷移します。
  • 左ペインからロードバランサーを選択します。
  • 対象のロードバランサー(cnapp-alb-ingress)を選択し、リスナータブからすべてのリスナーにチェックを付け、削除を押してください。
  • 左ペインからターゲットグループを選択します。
  • すべてのターゲットグループを選択し、アクションボタンから削除を押してください。
  • ロードバランサーへ戻り、アクションボタンからロードバランサーを削除してください。

以上で、Load Balancerの削除は完了です。

VPC

VPCを削除することでVPCに関わるリソース(サブネット、PrivateLinkなど)を一括削除できます。

  • 左ペインからVPCを選択します。
  • 対象のVPC(cnapp-vpc)にチェックを入れて、アクションボタンから削除を押します。
  • ポップアップが表示され、大量のリソースを削除するよ、という記載があります。削除しましょう。
  • 削除モーダルの処理を待ちましょう(たまに失敗するようなので失敗したら再度削除してみましょう)。
  • 削除が完了した旨が表示されたらOKです。サブネット、ルートテーブル、インターネットゲートウェイなど作成したリソース群を見て回ってください。削除されていることが確認できるはずです。

以上で、VPC周りの削除は完了です。

EIP

Cloud9インスタンスに紐付けたEIPです。VPCの削除では、EIPは削除されないため、消しておきましょう。

  • EC2のダッシュボードへ遷移します。
  • 左ペインからEIPを選択します
  • 対象のEIPを選択し、アクションから、EIPを削除します。

以上で、EIPの削除は完了です。

CloudWatch

  • 左ペインからルールを選択します。
  • 対象のルールを削除します。
  • 左ペインからロググループを選択します。
  • “cnapp”とついたロググループをそれぞれ選択し、アクションから削除してください。
    • 辛抱強く削除お願いします。

以上で、CloudWatchの削除が完了です。

S3

  • バケットから、cnappとついたバケットをチェックします。CodePipelineのバケットが作られているはずです。
  • 削除ボタンを押します。ポップアップの説明に従って削除してください。

以上で、S3の削除が完了です。

IAM

  • 左ペインからロールを選択します。
  • フィルタ条件でcnappのロールに絞り込みます。
  • フィルタリングされた結果のロールすべてにチェックを付けて、ロールの削除を押します。
  • 左ペインからポリシーを選択します。
  • ポリシーのフィルタで、ユーザによる管理のポリシーに絞り込みます。
  • ロールと違い、一気に削除ができないため辛抱強く削除をします。

以上で、IAMの削除が完了です。

WAF

  • 左ペインからWebACLを選択します。
  • 真ん中にあるドロップダウンリストを選択(Globalと記載されているリスト)し、Tokyoリージョンに切り替えます。
  • 対象のWebACLを選択し、Deleteを押します。ポップアップの説明に従って削除してください。
  • 左ペインからRule groupsを選択します。
  • 対象のRule groupsを選択し、Deleteを押します。ポップアップの説明に従って削除してください。

以上で、WAFの削除が完了です。

Systems Manager

  • 左ペインからパラメータストアを選択します。
  • フィルタ条件として、"cnapp"で絞り込みます。
  • フィルタ条件で絞り込んだパラメータストアをすべて選択し、削除を押します。

以上で、Systems Managerの削除が完了です。

CloudFormation

本来はCloudFormationは使ってないはずですが、筆者がデータ削除を実施しているときにCloud9作成時に利用されたCloudFormationがいました。

もしスタックが残っている場合は削除しましょう。

  • 左ペインのスタックを選択します。
  • “cnapp”とついている、CloudFormationのスタックにチェックをつけます。
  • 削除を押します。ポップアップの説明に従って削除してください。
    • image

ステージングアカウント(付録で作成したアカウント)

下記の手順はAWSマネジメントコンソールから作成した際の削除手順になります。Terraformで作成した箇所については、https://github.com/iselegant/cntfdemo のREADME.md(https://github.com/iselegant/cntfdemo#%E3%83%AA%E3%82%BD%E3%83%BC%E3%82%B9%E3%81%AE%E5%89%8A%E9%99%A4) を参考にしてください。本編を参考に3章までのリソースを作成した方は前述の開発環境アカウントの削除手順も参考にして削除を進めてください。

SNS

  • トピックの削除をします。
  • 次にサブスクリプションの削除をします。

以上で、SNSの削除が完了です。

KMS

  • 左ペインからカスタマー管理型のキーを選択します。
  • 対象の鍵にチェックを付け、[キーのアクション]、[キーの削除をスケジュール]を押します。
  • KMSは鍵サービスであり、鍵を削除すると鍵で暗号化したデータが復元できないため、削除は即時には実施されません。待機日数に最小の日にち(2020/06執筆時点では7日)を入力し、チェックボックスにチェックを付けて[削除をスケジュール]を押します。
  • ステータスが[削除保留中]になっていればOKです。

以上で、KMSの削除が完了です。

Code系サービス

ここはまとめて削除いきます。

CodePipeline

  • 左ペインのパイプラインから、対象のパイプラインを選択します。
  • パイプラインを削除するを押し、ポップアップの説明に従って削除してください(deleteと入力し、チェックボックスはそのままに、削除ボタンを押してOKです)。

CodeBuild

  • 左ペインのビルドプロジェクトから、対象のプロジェクトを選択します。
  • ビルドプロジェクトの削除を押し、ポップアップの説明に従って削除してください。

以上で、Code系サービスの削除は完了です。

Cloud9

  • インスタンスを削除します。ポップアップの説明に従って削除してください。
  • 削除処理が進みます。これには時間がかかるのでしばらくしてから再度Cloud9のダッシュボードを訪問し、削除されていることを確認してください。

以上で、Cloud9は完了です。

IAM

  • 左ペインからロールを選択します。
  • フィルタ条件でcnappのロールに絞り込みます。
  • フィルタリングされた結果のロールすべてにチェックを付けて、ロールの削除を押します。
  • [AWS_Events_Invoke_CodePipeline]で始まるロールを選択し、削除をします。
  • 左ペインからポリシーを選択します。
  • ポリシーのフィルタで、ユーザによる管理のポリシーに絞り込みます。
  • ロールと違い、一気に削除ができないため辛抱強く削除をします。

以上で、IAMは完了です。

Cloud Watch

  • 左ペインからルールを選択します。
  • ルールを削除します。
  • 左ペインからイベントバスを選択します。
  • アクセス許可タブから、追加した開発環境アカウントの権限を削除します。
  • 左ペインからロググループを選択します。
  • “cnapp”とついたロググループをそれぞれ選択し、アクションから削除してください。

以上で、CloudWatchの削除が完了です。

これですべてのリソースが削除されたと思います!お疲れさまでした!! 念の為、残存しているリソースがないか巡回することをオススメします。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment