CloudFormation テンプレートを S3 バケットに配置したくない場合、ローカルファイルから実行する方法が考えられます。ローカルファイルといっても、Git で管理したりするのですが、まずは AWS CLI で AWS CloudFormation を実行する方法を試してみました。
S3 バケットを作成する YAML を作成
s3-mnrsdev-test.yaml
というファイル名で YAML を作成します。
AWSTemplateFormatVersion: "2010-09-09"
Description: s3-mnrsdev-test
Resources:
s3mnrsdevtest:
Type: AWS::S3::Bucket
Properties:
BucketName: s3-mnrsdev-test
PublicAccessBlockConfiguration:
BlockPublicAcls: TRUE
BlockPublicPolicy: TRUE
IgnorePublicAcls: TRUE
RestrictPublicBuckets: TRUE
AWS CLI で AWS CloudFormation を実行
# CloudFormation テンプレートを検証
aws cloudformation validate-template \
--template-body file://s3-mnrsdev-test.yaml
# CloudFormation を実行して S3 バケットを作成
aws cloudformation create-stack \
--stack-name s3-mnrsdev-test \
--template-body file://s3-mnrsdev-test.yaml
# CloudFormation テンプレートを変更し S3 バケットの設定を適用
aws cloudformation update-stack \
--stack-name s3-mnrsdev-test \
--template-body file://s3-mnrsdev-test.yaml
# CloudFormation を削除し S3 バケットも削除
aws cloudformation delete-stack \
--stack-name s3-mnrsdev-test
参考
https://docs.aws.amazon.com/cli/latest/reference/cloudformation/#cli-aws-cloudformation
タグ: AWS