1年無料枠が終了（解約前）に使用しているサービス(リソース)を終了・削除する

## ある日AWSからメールが届きました

内容は以下になります。

> Read carefully and take action to prevent unwanted charges.
The 12-month Free Tier period for your AWS account xxxxxxxxxxxx will expire on February 28, 2022. If no action is taken, your resources will continue to run, and you’ll be automatically billed for any active resources when the 12-month Free Tier period ends.
We strongly advise that you sign in and review your AWS Billing & Cost Management Dashboard to locate any active resources on your account that you no longer need. Even if you aren’t using your AWS account or have closed the account, it’s possible that you still have active resources.
Go to your AWS Billing Dashboard to see the line items by region for each service contributing to your Free Tier usage for the month.
Tip: Select each service or the ‘Expand All’ option to view all active services by region.
If you no longer need the resources, terminate them to prevent unwanted charges.
Note: Closing your account will NOT automatically terminate all resources and you might still be charged.
Open the AWS Management Console and enter each service name in the search bar to open its dashboard. Terminate any unwanted resources. Read this guide for detailed steps.
Tip: To access Regions identified in step 1, use the Region selector in the navigation bar.
Monitor your Free Tier expiration. Once your short-term trials or 12-month Free Tier period ends, you’ll be charged standard, pay-as-you-go service rates for any active resources.
Sincerely,
The Amazon Web Services Team

Google翻訳にかけると以下のような内容に表示されました。

> 注意深く読み、不要な請求を防ぐための措置を講じてください。 AWSアカウントxxxxxxxxxxxxの12か月の無料利用枠期間は、2022年2月28日に期限切れになります。アクションが実行されない場合、リソースは引き続き実行され、12か月の無料利用時にアクティブなリソースの料金が自動的に請求されます Tier期間が終了します。 サインインしてAWS請求を確認することを強くお勧めします

要は1年無料枠の終了期日が近づいているので、何もしないなら終了期日後に通常料金で課金しますよという内容のメールです。

日本語では以下のようにメール通知が来るようです。
[利用していなかった AWS アカウントを解約してみた（2022年Ver.） | DevelopersIO](https://dev.classmethod.jp/articles/delete_aws_account_2022ver/)


「アカウントを解約すれば料金かかりません、 That's Allright!!」 

となってほしいのですが、AWSはどうやらそれを許してくれないようです。

## 2年目使わないから解約したい
使わないから解約したいのですが、余分な料金が発生しないようにするためには、解約する前にリソースを終了させておく必要があるようです。
[不要になったアクティブな AWS リソースを終了する](https://aws.amazon.com/jp/premiumsupport/knowledge-center/terminate-resources-account-closure/)
> アカウントを解約することで、すべてのアクティブなリソースが自動的に終了するわけではありません。アカウントを解約した後でも、アクティブな一部のリソースに対して引き続き料金が発生する可能性があります。解約前に発生した使用料は、すべて請求されます。
予期しない請求が発生しないようにするために、不要になったアクティブなリソースがあるかどうかを定期的にチェックすることをお勧めします。そして、こうした不要なリソースは必ず終了します。

## 【この記事で行うこと】不要なリソースを削除する
解約（終了）後に料金が発生しないように、
今回は使用している以下のリソースを終了、削除します。

- EIP
- EC2(+ EBS)
- S3
- RDS
- Auto Load Balancer
- Route53
- Certificate Manager
- WIP VPC
- SecurityGroup
- VPC、サブネット、ルートテーブル、インターネットゲートウェイ

なお以下の項目は（スクリーンショットを撮るのを忘れたので）省いていますが適宜対応してください。

- IAMの削除


## 結論
- 手作業はかなり時間がかかる
- EBS(Elastic Block Store)の各項目の削除は要確認
- Route53は先にNS, SOA以外のレコードを削除する
- ルートテーブルを削除する場合は紐づけられているVPCから削除する
- terraformとかで管理すると便利？（まだ試したことはありません...）

## 前提条件
- AWSアカウントに登録済み
- 東京リージョンを使用していること(以下で表示しているリンクAWSConsoleのリンクは全て東京リージョンへのリンクです。)

## 手順ざっくり

漏れがないように確実にやっていきましょう！！
手順は以下の通りです（ほぼほぼ画像）。

1. ルートアカウントでAWSConsoleにログイン
1. Billingで使用しているサービスを確認する
1. リージョンを東京に変更する
1. 各サービスを一つずつ終了(削除)
1. アカウントの削除(<- ここは触れません。)


## 1. ルートアカウントでログインする
まずAWSConsoleにログインします。
Billingの確認も行いたいためルートアカウントでログインします。

## 2. Billingで使用しているサービスを確認する
[Billing Management Console](https://console.aws.amazon.com/billing/home?region=us-east-2#/) にアクセスして何のリソースを使用しているか確認します。

確認方法については以下のリンクが参考になります。
[AWSから無料利用枠終了の案内が届きました。その影響を受けるか確認する方法。 | 徒労日記](https://dolls.tokyo/howto-check-awsfreeplan)
[不要になったアクティブな AWS リソースを終了する](https://aws.amazon.com/jp/premiumsupport/knowledge-center/terminate-resources-account-closure/?ref_=pe_3594660_610239480)

BillingのホームにはダッシュボードのAWSの概要に現在稼働しているサービスの数が表示されています。
[![Image from Gyazo](https://i.gyazo.com/070971f22d943ac07b0cc7eba52982c8.png)](https://gyazo.com/070971f22d943ac07b0cc7eba52982c8)

さらに詳細を知りたい場合は同じページの少し下に`請求書を表示`の項目があるので選択します。選択すると使用しているサービスの内訳が出てきます。
[![Image from Gyazo](https://i.gyazo.com/8334ac9a2643579a24803e4932125a75.jpg)](https://gyazo.com/8334ac9a2643579a24803e4932125a75)


## 3. リージョンを東京に変更する
ほとんどのリソースは東京に作成したのでリージョンを東京に変更します。

## 4. 各サービスを一つずつ削除(終了)
さてここからが本題です。

### 4-1. EIP
[ダッシュボード | EC2 Management Console](https://ap-northeast-1.console.aws.amazon.com/ec2/v2/home?region=ap-northeast-1#Home:) にアクセスします。

`インスタンス(実行中)`を選択します。
[![Image from Gyazo](https://i.gyazo.com/2782fdb1addd8f0f213a5be962f7af19.jpg)](https://gyazo.com/2782fdb1addd8f0f213a5be962f7af19)

削除するインスタンスを選択 -> `インスタンスの状態` -> `インスタンスを終了`を選択します。
[![Image from Gyazo](https://i.gyazo.com/64598395cbf110e0dc631d4defca8f79.jpg)](https://gyazo.com/64598395cbf110e0dc631d4defca8f79)

`Elastic IP 画面` を選択します(新規タブで開かれます)。
[![Image from Gyazo](https://i.gyazo.com/455d01ff8a9daea877d9fab779f37284.jpg)](https://gyazo.com/455d01ff8a9daea877d9fab779f37284)

削除したいEIPを選択 -> `アクション` -> `Elastic IP アドレスの関連付けの解除`を選択します。
[![Image from Gyazo](https://i.gyazo.com/a439348d3b2175a68c1132172605a830.jpg)](https://gyazo.com/a439348d3b2175a68c1132172605a830)

`関連付け解除`を選択します。
[![Image from Gyazo](https://i.gyazo.com/7e94cd1d281c9e4875b6a4f69c15afc2.jpg)](https://gyazo.com/7e94cd1d281c9e4875b6a4f69c15afc2)

関連付け解除が完了すると以下のように表示されます。
[![Image from Gyazo](https://i.gyazo.com/2a6718c2d03223711a91109c59906d76.jpg)](https://gyazo.com/2a6718c2d03223711a91109c59906d76)

Elastic IP アドレスを解放します(削除するElastic IPを選択 -> `アクション`を選択 -> `Elastic IPアドレスの解放`を選択)。
[![Image from Gyazo](https://i.gyazo.com/a2278d35ca5b956326511a6eab334dcb.jpg)](https://gyazo.com/a2278d35ca5b956326511a6eab334dcb)

以下のダイアログで`解放`を選択します。
以上でElasticIP削除完了です。
[![Image from Gyazo](https://i.gyazo.com/e45619788dc0ff720a01b7271869ffb5.jpg)](https://gyazo.com/e45619788dc0ff720a01b7271869ffb5)


[![Image from Gyazo](https://i.gyazo.com/0ce8e7a90699d81df6c00fcff843c5af.jpg)](https://gyazo.com/0ce8e7a90699d81df6c00fcff843c5af)


### 4-2. EC2
EIPのタブを閉じてインスタンスの画面（タブ）に戻ります。
工程の途中で止まっているはずなので以下のダイアログの`終了`を選択します。
前工程でElasticIPはすでに削除している（はず）ので気にしなくて大丈夫（なはず）です。
インスタンスの状態がシャットダウン中になり、しばらくしてリロードして（終了済みの表示がされていれば）インスタンスに表示されていなければOKです。
紐づいているEBSも一緒に削除されます。確認したい方は[ボリューム | EC2 Management Console](https://ap-northeast-1.console.aws.amazon.com/ec2/v2/home?region=ap-northeast-1#Volumes:) にアクセスするとEBSの状態が確認できます。
[![Image from Gyazo](https://i.gyazo.com/462d74c286e01fb82bb5b207239ca069.jpg)](https://gyazo.com/462d74c286e01fb82bb5b207239ca069)

### 4-3. S3
画像やデータなどを
[S3 Management Console](https://s3.console.aws.amazon.com/s3/home?region=ap-northeast-1#) にアクセスします。

S3のパケットを削除するにはパケットを空にする必要があります。
削除したいパケットを選択して`空にする`を選択します。
[![Image from Gyazo](https://i.gyazo.com/16ebab7584f2edef0d8fbec3b027a982.jpg)](https://gyazo.com/16ebab7584f2edef0d8fbec3b027a982)

必要項目を入力して`空にする`を選択します。
[![Image from Gyazo](https://i.gyazo.com/a65e4789f6d4553072b411933e5c7661.jpg)](https://gyazo.com/a65e4789f6d4553072b411933e5c7661)

削除が完了すると以下のような画面になります。`終了`を選択します。
[![Image from Gyazo](https://i.gyazo.com/7a0cd331459e99dadf611ed356302da5.jpg)](https://gyazo.com/7a0cd331459e99dadf611ed356302da5)

これでS3のパケットを削除することができるようになります。
画面上の`空にする`を選択します。
[![Image from Gyazo](https://i.gyazo.com/b732a5a3e82d6fe08ac8348f62a5bbc6.jpg)](https://gyazo.com/b732a5a3e82d6fe08ac8348f62a5bbc6)

以下の画面で必要項目を入力して`パケットを削除`を選択します。
[![Image from Gyazo](https://i.gyazo.com/1b5d9a4dd15b0c5a00ab410aee7ccada.jpg)](https://gyazo.com/1b5d9a4dd15b0c5a00ab410aee7ccada)

削除が完了すると以下のような画面が表示され削除が完了となります。
[![Image from Gyazo](https://i.gyazo.com/cec78a6a74f3f737c9880437759b93e7.jpg)](https://gyazo.com/cec78a6a74f3f737c9880437759b93e7)

### 4-4. RDS
[RDS Management Console](https://ap-northeast-1.console.aws.amazon.com/rds/home?region=ap-northeast-1#) にアクセスします。

`DBインスタンス(xx/yy)`を選択します。
[![Image from Gyazo](https://i.gyazo.com/69a41478ff97acd7fd62113edbaefb0e.jpg)](https://gyazo.com/69a41478ff97acd7fd62113edbaefb0e)

削除したいRDSインスタンスを選択 -> `アクション` -> `削除`を選択します。
[![Image from Gyazo](https://i.gyazo.com/18961f92f5b871366ae54fd56d8452a6.jpg)](https://gyazo.com/18961f92f5b871366ae54fd56d8452a6)

以下のダイアログが表示されるので以下のように選択、入力して`削除`を選択します。
[![Image from Gyazo](https://i.gyazo.com/31f5025c6d2931532606d8c47fcf05d2.jpg)](https://gyazo.com/31f5025c6d2931532606d8c47fcf05d2)

削除が完了すると以下のような画面になります。これで削除完了です。
[![Image from Gyazo](https://i.gyazo.com/bc48019a361fbb37e60cbbb4a3095cb0.jpg)](https://gyazo.com/bc48019a361fbb37e60cbbb4a3095cb0)


### 4-5. ALB(Auto Load Balancer)
[ダッシュボード | EC2 Management Console](https://ap-northeast-1.console.aws.amazon.com/ec2/v2/home?region=ap-northeast-1#Home:)にアクセスします。
削除するロードバランサーを選択 -> `アクション` -> `削除`を選択します。
[![Image from Gyazo](https://i.gyazo.com/5bb9e6ed0b3b77dc2ed825b8c5037304.jpg)](https://gyazo.com/5bb9e6ed0b3b77dc2ed825b8c5037304)

確認ダイアログで `はい、削除する` を選択します。
[![Image from Gyazo](https://i.gyazo.com/1076523e952fe4831ca045be5f45b136.jpg)](https://gyazo.com/1076523e952fe4831ca045be5f45b136)

削除が完了すると以下のような画面が表示されます。
[![Image from Gyazo](https://i.gyazo.com/212f767a8b33c2fedfe64dac41a4822c.jpg)](https://gyazo.com/212f767a8b33c2fedfe64dac41a4822c)


### 4-6. Route53
削除する順番を間違えると二度手間になってしまうので手順は気をつけてください（以下のようなエラーが表示されます）。
[![Image from Gyazo](https://i.gyazo.com/699ec358b007f643544f1e145f3e6d2f.jpg)](https://gyazo.com/699ec358b007f643544f1e145f3e6d2f)


NS, SOA以外のレコードを選択 ->`レコードを削除`を選択します。
[![Image from Gyazo](https://i.gyazo.com/75c28eb938fe091dc07516bebfd91726.jpg)](https://gyazo.com/75c28eb938fe091dc07516bebfd91726)

NS, SOAを選択（選択しなくてもよいかも） -> `ゾーンを削除する` -> フィールドに `削除` と入力、削除ボタンが有効になるので削除を選択します。
[![Image from Gyazo](https://i.gyazo.com/95b0c250ea01463162aa2a905c758300.jpg)](https://gyazo.com/95b0c250ea01463162aa2a905c758300)

成功すると以下のように表示されます
[![Image from Gyazo](https://i.gyazo.com/6524b40ffe9d081f2e50e52158432479.jpg)](https://gyazo.com/6524b40ffe9d081f2e50e52158432479)


### 4-7. Certificate Manager
[AWS Certificate Manager](https://ap-northeast-1.console.aws.amazon.com/acm/home?region=ap-northeast-1#/welcome) にアクセスします。

サイドバーに表示されている`証明書を一覧`を選択します。
[![Image from Gyazo](https://i.gyazo.com/bc96eb5916c877e896948e9c02ff60ec.jpg)](https://gyazo.com/bc96eb5916c877e896948e9c02ff60ec)

削除する証明書をチェックして`削除`を選択します。
[![Image from Gyazo](https://i.gyazo.com/776ff380b8907de5459161dadcaf8645.jpg)](https://gyazo.com/776ff380b8907de5459161dadcaf8645)

ダイアログが表示されるので必要項目を入力し`削除`を選択します。
[![Image from Gyazo](https://i.gyazo.com/bc41ba79b40c1890adf21b2dc3038f4f.jpg)](https://gyazo.com/bc41ba79b40c1890adf21b2dc3038f4f)

以下のように表示されれば削除完了です。
[![Image from Gyazo](https://i.gyazo.com/6bceb5a5526bae516ee47f77faecfeb5.jpg)](https://gyazo.com/6bceb5a5526bae516ee47f77faecfeb5)

### 4-8. セキュリティグループ
[EC2 Management Console](https://ap-northeast-1.console.aws.amazon.com/ec2/v2/home?region=ap-northeast-1#SecurityGroups:)にアクセスします。
<strong>セキュリティグループは一括で削除できないので1つずつ削除します。</strong>
手順は同じです。

削除したいセキュリティグループを選択し、`詳細を表示`を選択します。
[![Image from Gyazo](https://i.gyazo.com/8ec89fdf91a8a7454941931537a7a7db.jpg)](https://gyazo.com/8ec89fdf91a8a7454941931537a7a7db)

以下の画面が表示されるので `アクション` -> `セキュリティグループを削除`の順に選択します。
[![Image from Gyazo](https://i.gyazo.com/91ca9199098e661c5594856a186d672a.jpg)](https://gyazo.com/91ca9199098e661c5594856a186d672a)

以下の画像のようにステータスが`削除されません`と表示された場合は右の関連付けされたセキュリティグループを先に削除します（リンクをクリックする）。
[![Image from Gyazo](https://i.gyazo.com/ae59812431897cb88d07b2bc38cb065e.jpg)](https://gyazo.com/ae59812431897cb88d07b2bc38cb065e)

削除ができると以下のような画面になります。
自分が作成したセキュリティグループがなくなるまで手順を繰り返します。
[![Image from Gyazo](https://i.gyazo.com/2fe7e56990cd4ed73a107341ba0cf9ac.jpg)](https://gyazo.com/2fe7e56990cd4ed73a107341ba0cf9ac)


### 4-9. ルートテーブル
[VPC Management Console](https://ap-northeast-1.console.aws.amazon.com/vpc/home?region=ap-northeast-1)にアクセスします。
現在使用しているルートテーブルを削除しようとすると以下のように表示され削除することができません。
[![Image from Gyazo](https://i.gyazo.com/b8eed6c83ab01142aee32c2037f3292c.jpg)](https://gyazo.com/b8eed6c83ab01142aee32c2037f3292c)

依存関係にあるVPCを削除すればいっしょに該当するルートテーブルを削除してくれます。
まず削除したいルートテーブルのVPC欄のリンクを選択します。
[![Image from Gyazo](https://i.gyazo.com/a62a794535fa0698005977e77c115c7d.jpg)](https://gyazo.com/a62a794535fa0698005977e77c115c7d)

次にVPCの画面に遷移するので削除するVPCを選択し`VPCの削除`を選択します。
[![Image from Gyazo](https://i.gyazo.com/ec27a8e05525f532f8b7010f42051a64.jpg)](https://gyazo.com/ec27a8e05525f532f8b7010f42051a64)

必要項目を入力し、`削除`を選択します（この時紐づけられているサブネット、インターネットゲートウェイも削除されるはずです）。
[![Image from Gyazo](https://i.gyazo.com/00f796bc42003a379cfd2ca422f0d134.jpg)](https://gyazo.com/00f796bc42003a379cfd2ca422f0d134)

正常に動作すると以下のように表示され、デフォルトのVPCのみが残ります。
[![Image from Gyazo](https://i.gyazo.com/4d140c2e76c72d339b06e34c936c5726.jpg)](https://gyazo.com/4d140c2e76c72d339b06e34c936c5726)

ルートテーブルに戻り確認すると該当するルートテーブルが削除され、デフォルトのルートテーブルのみが表示されます。
これでサブネットの削除が完了です。

### 4-10. サブネット
[VPC Management Console](https://ap-northeast-1.console.aws.amazon.com/vpc/home?region=ap-northeast-1)にアクセスします。
念のためサブネットを確認します
私の場合は削除できるサブネットがあったので、それを削除します。
該当するサブネットIDを選択します（チェックボックスのチェックは必要ないかもしれないです）。
[![Image from Gyazo](https://i.gyazo.com/6b904abea8a03a54776b5c6fd5fe4ce4.jpg)](https://gyazo.com/6b904abea8a03a54776b5c6fd5fe4ce4)

アクション -> `削除`を選択します。
[![Image from Gyazo](https://i.gyazo.com/555f0ffbb9bc5eac1f53c7f53f41a618.jpg)](https://gyazo.com/555f0ffbb9bc5eac1f53c7f53f41a618)

入力欄に削除と入力して`削除`を選択します。
[![Image from Gyazo](https://i.gyazo.com/c2207df16c9ea37690763ad77d615bb7.jpg)](https://gyazo.com/c2207df16c9ea37690763ad77d615bb7)

正常に削除されれば以下のように表示されます。
[![Image from Gyazo](https://i.gyazo.com/014bc9e8def2bd44e5a689aa763e14f0.jpg)](https://gyazo.com/014bc9e8def2bd44e5a689aa763e14f0)

あとは削除できるサブネットを同様の手順で削除します。
これでサブネットの削除が完了です。


## 完了!!
これで紹介する工程は全て終了しました。
IAMを削除する、解約するという工程が残っていますがここは省かせていただきます（ここのスクリーンショットを撮るの忘れてました...）。

以上です!!
お疲れ様でした!!