1 import { Stack, StackProps, RemovalPolicy } from 'aws-cdk-lib';
2 import { Bucket, BucketEncryption, BlockPublicAccess } from 'aws-cdk-lib/aws-s3';
3 import { Construct } from 'constructs';
4
5 export class MyStack extends Stack {
6 constructor(scope: Construct, id: string, props?: StackProps) {
7 super(scope, id, props);
8
9 // セキュアなS3バケットを作成
10 new Bucket(this, 'MyBucket', {
11 bucketName: 'my-example-bucket-12345', // 一意な名前
12 versioned: true,
13 encryption: BucketEncryption.S3_MANAGED,
14 blockPublicAccess: BlockPublicAccess.BLOCK_ALL,
15 removalPolicy: RemovalPolicy.DESTROY, // 開発環境用
16 });
17 }
18 }