1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【AWS】Elastic Beanstalkで作成されたS3バケットを削除する場合の注意点

Posted at

はじめに

検証でAWS ElasticBeanstalkでアプリを立てた後、整理のため削除した。
S3を確認したところバケットも作成されていたので、削除したところ、アクセス権限がないため削除できなかった。
改めてElasticBeanstalkの作成プロセスを理解するために備忘録として残しておきます。
スクリーンショット 2022-05-10 9.39.07.png

結論

S3バケットが作成されていることを知らなかったのが原因でした。
ちゃんと作成プロセスを把握しよう。

ElasticBeanstalkの作成プロセス

公式ドキュメントの記載によると、ElasticBeanstalkを作成したらS3バケットが環境を作成した各リージョンに対して作成されるようです。

ElasticBeanstalkの削除プロセス

公式ドキュメントの記載には、自動的に削除されるものと手動で削除しないといけないものがあるようです。
大部分の関連オブジェクトなどは削除されるのですが、不要なストレージコストを避けるのであれば中身を確認してしっかり削除することをオススメします。

バケットポリシーを確認する

S3バケットが作成されると同時にバケットポリシーも付与されます。
バケットの誤った削除を防止するための目的でポリシーが適用されているようです。
Elastic Beanstalk Amazon S3バケットの削除

以下、付与されていたバケットポリシーです。
s3:DeleteBucketに対するアクセス拒否が入っていますので、このアクセス権限を削除するかバケットポリシーを削除しましょう。
これでバケットは削除できました。

※{AWS AccountId}はAWSアカウントに置き換えて読んでください

{
	"Version": "2008-10-17",
	"Statement": [
		{
			"Sid": "eb-ad78f54a-f239-4c90-adda-49e5f56cb51e",
			"Effect": "Allow",
			"Principal": {
				"AWS": "arn:aws:iam::{AWS AccountId}:role/aws-elasticbeanstalk-ec2-role"
			},
			"Action": "s3:PutObject",
			"Resource": "arn:aws:s3:::elasticbeanstalk-ap-northeast-1-{AWS AccountId}/resources/environments/logs/*"
		},
		{
			"Sid": "eb-af163bf3-d27b-4712-b795-d1e33e331ca4",
			"Effect": "Allow",
			"Principal": {
				"AWS": "arn:aws:iam::{AWS AccountId}:role/aws-elasticbeanstalk-ec2-role"
			},
			"Action": [
				"s3:ListBucket",
				"s3:ListBucketVersions",
				"s3:GetObject",
				"s3:GetObjectVersion"
			],
			"Resource": [
				"arn:aws:s3:::elasticbeanstalk-ap-northeast-1-{AWS AccountId}",
				"arn:aws:s3:::elasticbeanstalk-ap-northeast-1-{AWS AccountId}/resources/environments/*"
			]
		},
		{
			"Sid": "eb-58950a8c-feb6-11e2-89e0-0800277d041b",
			"Effect": "Deny",
			"Principal": {
				"AWS": "*"
			},
			"Action": "s3:DeleteBucket",
			"Resource": "arn:aws:s3:::elasticbeanstalk-ap-northeast-1-{AWS AccountId}"
		}
	]
}
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?