経緯
本当にやりたいことは別にありますが、そのためにはCloudFormationを使えないといけなかったので、とりあえず作成してみました。
- 参考URL
AWS CloudFormationテンプレート形式
docs.aws.amazon.com
S3バケットリソース
docs.aws.amazon.com
実施内容
- CloudFormationテンプレート作成
- スタック作成
- 実行後リソース確認
実施作業
CloudFormationテンプレート作成
参考URLを元にテンプレートを作成します。
今回はシンプルにバケット名とDeletionPolicy属性のみ設定します。
create_s3_bucket.yaml
AWSTemplateFormatVersion: "2010-09-09" Description: Create S3 Bucket Resources: Type: AWS::S3::Bucket DeletionPolicy: Retain Properties: BucketName: test-tmp-20191111
DeletionPolicy属性はスタックが削除されたときに、関連するリソースが削除されないようにするためのパラメータです。
詳細はこちら
docs.aws.amazon.com
スタック作成
CloudFormationはスタックという単位でAWSリソースを作成削除します。
docs.aws.amazon.com
スタックを削除することで作成した関連リソースをまとめて削除できるため、リソースの削除し忘れによる課金を防ぐことができます。
またテンプレートファイルは他の環境でも使用でき、同じ構成でリソースを作成することが可能です。
マネジメントコンソールから『スタックを作成』を押下
スタックの作成に必要な情報を設定
今回はテンプレートファイルを作成済みのため、テンプレートファイルのアップロードから作成したファイルを選択します。
※テンプレートファイルの記載方法が間違っていたりすると、『次へ』を押下して実行されるテンプレートの検証でエラーになります。
今回はResoucesセクションに論理IDの設定が足りていなかったので、それを追加するとエラーが出力されなくなります。
AWSTemplateFormatVersion: "2010-09-09" Description: Create S3 Bucket Resources: S3: Type: AWS::S3::Bucket DeletionPolicy: Retain Properties: BucketName: 'test-tmp-20191111'
スタックの詳細設定
特にパラメータは設定しないので、スタックの名前を設定したら『次へ』を押下します。
スタックオプションの設定
スタックのオプションの設定を行います。
今回は省略しますが、スタックの作成失敗時のロールバックや、スタックイベントの通知の設定などが可能です。
docs.aws.amazon.com
スタックの作成
スタックの設定内容を確認し、問題内容なら作成を実施します。
実行後リソース確認
スタックの管理画面から、対象のスタックのステータスがCREATE_COMPLETEになっていることを確認します。
リソースの項目からスタックで作成されたリソースが確認できます。
S3のダッシュボードから対象のバケットが作成されていることを確認します。
感想及び所感
次回はS3バケットに対してポリシーのアタッチをします。