広告ここから
広告ここまで
S3バケットのデフォルト設定が変わった関係で、パラメータを1つ追加する必要がありました。
目次
遭遇したエラー
Webサイトを配置するためのバケットを作ろうとしていました。
const websiteBucket = new Bucket(this, 'SonikStaticAssets', {
websiteIndexDocument: 'index.html',
publicReadAccess: true,
});
しかしこの定義は、CloudFormationでエラーが発生します。
CdkSonikAppStack: deploying... [1/1]
CdkSonikAppStack: creating CloudFormation changeset...
10:08:29 PM | CREATE_FAILED | AWS::S3::BucketPolicy | SonikStaticAssetsPolicy8AA45F84
API: s3:PutBucketPolicy Access Denied
❌ CdkSonikAppStack failed: Error: The stack named CdkSonikAppStack failed to deploy: UPDATE_ROLLBACK_COMPLETE: API: s3:PutBucketPolicy Access Denied
どんな変更があったか
すべての新しい S3 バケットに対して自動的に S3 パブリックアクセスブロックが有効になり、S3 アクセスコントロールリスト (ACL) は無効にされます。これらのデフォルト設定は導入されると、AWS CLI、API、SDK、AWS CloudFormation などの作成方法に関係なく、すべての新しいバケットに適用されるようになります。
とのころで、CDKはCloudFormationなのできっちり対象に入っています。
blockPublicAccess
を追加する
blockPublicAccess: BlockPublicAccess.BLOCK_ACLS
を追加してやりましょう。
const websiteBucket = new Bucket(this, 'SonikStaticAssets', {
websiteIndexDocument: 'index.html',
publicReadAccess: true,
blockPublicAccess: BlockPublicAccess.BLOCK_ACLS,
});
成功しました。
CdkSonikAppStack: creating CloudFormation changeset...
✅ CdkSonikAppStack
✨ Deployment time: 118.93s
参考にした記事

ブックマークや限定記事(予定)など
WP Kyotoサポーター募集中
WordPressやフロントエンドアプリのホスティング、Algolia・AWSなどのサービス利用料を支援する「WP Kyotoサポーター」を募集しています。
月額または年額の有料プランを契約すると、ブックマーク機能などのサポーター限定機能がご利用いただけます。
14日間のトライアルも用意しておりますので、「このサイトよく見るな」という方はぜひご検討ください。
広告ここから
広告ここまで