AWS GenU を Route53 管理のカスタムドメインで公開する
はじめに
プログデンスの圓佛です。 AWS の GenU をデプロイするとアクセス用の URL は https://1234567890ABC.cloudfront.net
のような CloudFront のものになります。 ですが、「Route53 で管理しているホステッドゾーン」であれば https://genu.example.com
のようなカスタムドメインにデプロイすることも出来ます。 設定方法は Using a Custom Domain に書かれていますが、今回はこの設定方法を記載します。
事前準備
AWS GenU で Claude Sonnet 4 を有効化し Entra で SSO する に記載した通り、作業端末で awscli を使えるようにしたら GitHub から GenU のソースコードをクローンします。
git clone https://github.com/aws-samples/generative-ai-use-cases.git
cd generative-ai-use-cases/
ホストゾーン ID の確認
GenU の設定ファイル中で指定する必要がある為、カスタムドメインに利用する Route53 ホステッドゾーンの ホストゾーン ID
を確認しておきます。
設定ファイルの修正
GenU の設定ファイルである packages/cdk/cdk.json
を修正します。 例えば「GenU を genu.example.com
として公開したい」場合は以下のように設定します。
項目 | 設定例 |
---|---|
hostName |
genu |
domainName |
example.com |
hostedZoneId |
1234567890123456789 (example.com を管理しているホストゾーン ID) |
変更前
{
…
"context": {
…
"hostName": null,
"domainName": null,
"hostedZoneId": null,
…
}
}
変更後
{
…
"context": {
…
"hostName": "genu",
"domainName": "example.com",
"hostedZoneId": "1234567890123456789",
…
}
}
GenU をデプロイする
GenU をデプロイします。
npm ci
npx -w packages/cdk cdk bootstrap
npm run cdk:deploy:quick
デプロイ完了するとログの下部にログイン URL が表示されます。 この URL が設定ファイルで指定したカスタムドメインになっていれば成功です。
・
・
・
GenerativeAiUseCasesStack.UserPoolId = ap-northeast-1_123456789
GenerativeAiUseCasesStack.VideoGenerateModelIds = [{"modelId":"amazon.nova-reel-v1:0","region":"us-east-1"}]
GenerativeAiUseCasesStack.WebUrl = https://genu.example.com
Stack ARN:
arn:aws:cloudformation:ap-northeast-1:123456789012:stack/GenerativeAiUseCasesStack/12345678-1234-1234-1234-123456789012
✨ Total time: 380.76s
サーバ証明書の確認
カスタムドメインを指定すると自動的に AWS Certificate Manager でサーバ証明書も取得されます。 CloudFront から参照出来るサーバ証明書は米国 (バージニア北部) リージョンに存在する必要があります。 AWS Certificate Manager にアクセスし、米国 (バージニア北部) リージョンへ切り替えるとカスタムドメイン用のサーバ証明書が取得されていることが分かります。
GenU へアクセスする
Web ブラウザで指定したカスタムドメインへアクセスし、GenU のログイン画面が表示されることを確認します。