AWSTemplateFormatVersion: "2010-09-09" Description: S3 Bucket for ELB AccessLog Create Metadata: "AWS::CloudFormation::Interface": ParameterGroups: - Label: default: "S3 Bucket for ELB AccessLog Configuration" Parameters: - ELBLogBucketName ParameterLabels: ELBLogBucketName: default: "ELBLogBucketName" # ------------------------------------------------------------# # Input Parameters # ------------------------------------------------------------# Parameters: ELBLogBucketName: Type: String # ------------------------------------------------------------# # ELBAccountId Mappings # ------------------------------------------------------------# Mappings: ELBAccountID: ap-northeast-1: "AccountId": "" Resources: # ------------------------------------------------------------# # S3 # ------------------------------------------------------------# # ELBLogBucket ELBLogBucket: Type: "AWS::S3::Bucket" Properties: BucketName: !Ref ELBLogBucketName #BucketPolicy ELBLogBucketPolicy: Type: "AWS::S3::BucketPolicy" Properties: Bucket: !Ref ELBLogBucket PolicyDocument: Id: "AWSCFn-AccessLogs-Policy-20180920" Version: "2012-10-17" Statement: - Sid: AWSCFn-20180920 Effect: "Allow" Action: - "s3:PutObject" Resource: !Sub "arn:aws:s3:::${ELBLogBucket}/AWSLogs/${AWS::AccountId}/*" Principal: AWS: !FindInMap [ ELBAccountId, !Ref "AWS::Region", AccountId ] # ------------------------------------------------------------# # Output Parameters # ------------------------------------------------------------# Outputs: #ELBLogBucket ELBLogBucket: Value: !Ref ELBLogBucket Export: Name: !Ref ELBLogBucketName
ELBの管理画面で、AccessLogをS3に設定できるのね。