なにかの技術メモ置き場

なにかの技術メモ置き場

@インフラエンジニア

AWS CloudFormationを使ってみた - S3

f:id:none06:20210701021423p:plain

概要

AWS CloudFormationでインフラ構築を自動化する。
S3のバケットを1つだけ作成する。

目的

  • CloudFormationに慣れる
  • 構築の自動化
  • 構築の冪等性の確保
  • 構築内容・手順の可視化(IaC)

今回作成する構成

f:id:none06:20210701021423p:plain

処理概要

作成したテンプレート

AWSTemplateFormatVersion: "2010-09-09"

Description: Create S3

# スタック作成時に入力するパラメータの定義
Parameters:
  # バケット名を定義
  BucketName:
    Type: String
    Default: bucket-20210701015300
    Description: Name of bucket.

# 作成するリソースの定義
Resources:
  # S3バケット
  Bucket:
    Type: AWS::S3::Bucket
    Properties:
      BucketName: !Ref BucketName
      # バージョン管理を有効化
      VersioningConfiguration:
        Status: Enabled
      # 暗号化を有効化
      BucketEncryption:
        ServerSideEncryptionConfiguration:
          - ServerSideEncryptionByDefault:
              SSEAlgorithm: AES256
      Tags:
        - Key: Name
          Value: !Ref BucketName

補足

バケット名(bucket-20210701015300)はグローバルにユニークである必要があるので注意。重複するとバケットが作成できず、スタックがエラーになる。

参考サイト

qiita.com