🍉

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 を確認しておきます。

image

設定ファイルの修正

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 にアクセスし、米国 (バージニア北部) リージョンへ切り替えるとカスタムドメイン用のサーバ証明書が取得されていることが分かります。

image

GenU へアクセスする

Web ブラウザで指定したカスタムドメインへアクセスし、GenU のログイン画面が表示されることを確認します。

image

株式会社プログデンス
設定によりコメント欄が無効化されています