👻

[C#] aws-cdk-example for my site

2 min read

内容

AWS公式サンプルを使用して、自分用の静的サイトを作成します。[1]
作成する上での変更点やエラー内容を共有します。

環境

  • MacOS BigSur 11.6
  • Visual Studio Code 1.62.3
  • aws-cli 2.4.1
  • cdk 1.134.0

下準備

  • ドメインの取得

構成

https://github.com/aws-samples/amazon-cloudfront-secure-static-site#user-content-amazon-cloudfront-secure-static-website

サンプルコード

https://github.com/aws-samples/aws-cdk-examples/tree/master/csharp/static-site

変更点

自分のアカウントNo.とリージョンを変更します。

Program.cs
Env = new Amazon.CDK.Environment
{
+    Account = "自分のアカウント",
-    Account = "111111111",
+    Region="ap-northeast-1",
-    Region="us-east-1"
}

バージニア北部でACM証明書を作成する必要があります。

StaticSiteConstruct.cs
var certificateArn = new DnsValidatedCertificate(this, "SiteCertificate", new DnsValidatedCertificateProps
{
    DomainName = siteDomain,
    HostedZone = zone,
+   Region = "us-east-1"
}).CertificateArn;

エラー

cdk deploy 時のエラーです。

  • AWS CDKがデプロイを実行するために、必要なリソースをプロビジョニングしておく必要があります。[2]
❌  ProfileStack failed: Error: This stack uses assets, so the toolkit stack must be deployed to the environment (Run "cdk bootstrap aws://xxxxxxx/ap-northeast-1")
    at Object.addMetadataAssetsToManifest (/Users/xxxxxx/.nodenv/versions/14.7.0/lib/node_modules/aws-cdk/lib/assets.ts:27:11)
    at Object.deployStack (/Users/xxxxxx/.nodenv/versions/14.7.0/lib/node_modules/aws-cdk/lib/api/deploy-stack.ts:223:29)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
    at CdkToolkit.deploy (/Users/xxxxxx/.nodenv/versions/14.7.0/lib/node_modules/aws-cdk/lib/cdk-toolkit.ts:194:24)
    at initCommandLine (/Users/xxxxxx/.nodenv/versions/14.7.0/lib/node_modules/aws-cdk/bin/cdk.ts:267:9)
This stack uses assets, so the toolkit stack must be deployed to the environment (Run "cdk bootstrap aws://xxxxxxx/ap-northeast-1")

cdk bootstrap を実行で解消

  • バージニア北部でACM証明書を作成する必要があります。
Resource handler returned message: "Invalid request provided: The specified SSL certificate doesn't exist, isn't in us-east-1 region, isn't valid, or doesn't in
clude a valid certificate chain. (Service: CloudFront, Status Code: 400, Request ID: bd6aa8d6-6623-4564-8200-95e3738282ad, Extended Request ID: null)" (RequestT
oken: 1e5fb5be-6601-422e-fbfa-584d567d470d, HandlerErrorCode: InvalidRequest)

上記 "変更点" の修正で解消

脚注
  1. https://aws.amazon.com/jp/blogs/news/aws-hands-on-for-beginners-07/ ↩︎

  2. https://docs.aws.amazon.com/ja_jp/cdk/latest/guide/bootstrapping.html ↩︎

GitHubで編集を提案

Discussion

ログインするとコメントできます