AWS CloudFormation をローカルの YAML から試してみた

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

タグ: