メサイア・ワークス

CDKでS3+index.htmlを作って、Web公開してみる。

CDKでS3+index.htmlを作って、Web公開してみる。

AWSをIaC(Infrastrucre As Code)できるCDK(Cloud Developer Kit)を使ってみた。

lib/cdk-sample-system-stack.ts

frontend/index.html

cdk deploy で実行されるけど、背後で色々やっている!!

Outputs:
WebsiteURL = http://your-bucket-name.s3-website-ap-northeast-1.amazonaws.com

CDK が作成したリソース一覧

リソース種類 リソース名(CDK 内部名) 説明
S3 バケット WebsiteBucket (WebsiteBucket75C24D94) 静的ウェブサイトホスティング用
S3 バケットポリシー WebsiteBucket/Policy (WebsiteBucketPolicyE10E3262) S3 をパブリックアクセス可能にする
Lambda レイヤー DeployWebsite/AwsCliLayer (DeployWebsiteAwsCliLayer17DBC421) AWS CLI (aws s3 cp など) を実行するためのレイヤー
IAM ロール Custom::CDKBucketDeployment/ServiceRole aws s3 cp を実行する Lambda のロール
IAM ポリシー Custom::CDKBucketDeployment/ServiceRole/DefaultPolicy S3 のファイル管理権限を持つ
Lambda 関数(オブジェクト削除用) Custom::S3AutoDeleteObjectsCustomResourceProvider/Handler autoDeleteObjects: true のための削除用 Lambda
カスタムリソース DeployWebsite/CustomResource/Default index.html を S3 にアップロードする処理

✅ CDK が追加で作成した「独自の仕組み」

S3 に HTML をアップロードするだけなら、手動で aws s3 cp を使う方がシンプル!

index.htmlの修正を、S3に反映したい場合

モバイルバージョンを終了