0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GenU のバックエンド (CDK) 詳細解説 ⑭GenU の Outputs の解説

Last updated at Posted at 2025-03-29

はじめに

皆さん、こんにちは。

私は業務でデータ利活用基盤を取り扱っていること、2024 AWS Japan Top Engineer に選出されたということから、AWS GenU およびそれに必要なデータ基盤の探求 (Snowflake, dbt, Iceberg, etc) に取り組む必要があると考えています。

本投稿では、GenU のバックエンドである CDK コードを詳細に解説します。
自身そして閲覧して頂いた皆様の GenU への理解が少しでも深まり、生成 AI の民主化につながっていければと考えています。

前回までのおさらい

前回までで、以下が完了しました。

GenU の CDK は最大で以下の 6 つの子スタックを作成します。
前回までで全てのスタックについて解説が終わりました。

image.png

  • CloudFrontWafStack
  • RagKnowledgeBaseStack
  • AgentStack
  • GuardrailStack
  • GenerativeAiUseCasesStack ※メインスタック
  • DashboardStack

今回が最終回となります。
今回は、スタックからエクスポート (CfnOutput) される値を解説したいと思います。

CfnOutput とは

CfnOutput はスタックの出力情報です。
Web ページの URL やダッシュボードの URL など、リソースに関する重要な情報の出力や、クロススタック参照用のエクスポート値として利用できます。

GenU では、以下の CfnOutput を行っています。

  • CloudFrontWafStack 関連
    • WebAclId: CloudFront ディストリビューション用の CfnWebACL の ARN (解説)
  • RagKnowledgeBaseStack 関連
    • RagKnowledgeBaseEnabled: スタック作成時のパラメータ ragKnowledgeBaseEnabled (デフォルト値は false)
  • WebSearchAgentStack 関連
    • AgentEnabled: スタック作成時のパラメータ false (デフォルト値は false)
    • AgentNames: 以下のいずれか (上を優先)
      • WebSearchAgentStack で生成した Web 検索エージェントおよびコードインタプリタの displayName
      • スタック作成時のパラメータ agentsdisplayName (デフォルト値は空配列)
  • GenerativeAiUseCasesStack 関連
    • 共通
      • Region: スタック作成時のパラメータ region (デフォルト値は以下のいずれか)
        • CDK 実行時の環境変数 CDK_DEFAULT_REGION
        • 固定値 'us-east-1'
      • ModelRegion: スタック作成時のパラメータ modelRegion (デフォルト値は 'us-east-1')
      • ModelIds: スタック作成時のパラメータ modelIds (デフォルト値は以下の配列)
        • us.anthropic.claude-3-5-sonnet-20241022-v2:0
        • us.anthropic.claude-3-5-haiku-20241022-v1:0
        • us.amazon.nova-pro-v1:0
        • us.amazon.nova-lite-v1:0
        • us.amazon.nova-micro-v1:0
      • ImageGenerateModelIds: スタック作成時のパラメータ imageGenerationModelIds (デフォルト値は以下の配列)
      • HiddenUseCases: スタック作成時のパラメータ hiddenUseCases (デフォルト値は空オブジェクト)
    • Web リソース 関連
      • WebUrl: GenU Web ページの URL (以下のいずれか)
        • カスタムドメインを利用する場合、https://[ホスト名].[ドメイン名]
          • ホスト名はスタック作成時のパラメータ hostName
          • ドメイン名はスタック作成時のパラメータ domainName
        • カスタムドメインを利用しない場合、CloudFront ディストリビューションの URL
      • Flows: スタック作成時のパラメータ flows の JSON 文字列を base64 エンコードしたもの (デフォルト値は空配列)
        • Web ビルド時の環境変数 VITE_APP_FLOWS に使用する
      • EndpointNames: スタック作成時のパラメータ endpointNames (デフォルト値は空配列) ※SageMaker エンドポイント
        • Web ビルド時の環境変数 VITE_APP_ENDPOINT_NAMES に使用する
      • SamlAuthEnabled: スタック作成時のパラメータ samlAuthEnabled (デフォルト値は false)
        • Web ビルド時の環境変数 VITE_APP_SAMLAUTH_ENABLED に使用する
      • SamlCognitoDomainName: スタック作成時のパラメータ samlCognitoDomainName (デフォルト値は null)
        • Web ビルド時の環境変数 VITE_APP_SAML_COGNITO_DOMAIN_NAME に使用する
      • SamlCognitoFederatedIdentityProviderName: スタック作成時のパラメータ samlCognitoFederatedIdentityProviderName (デフォルト値は null)
        • Web ビルド時の環境変数 VITE_APP_SAML_COGNITO_FEDERATED_IDENTITY_PROVIDER_NAME に使用する
      • InlineAgents: スタック作成時のパラメータ inlineAgents (デフォルト値は false)
        • Web ビルド時の環境変数 VITE_APP_INLINE_AGENTS に使用する
    • Api リソース 関連
    • Auth リソース 関連
      • UserPoolId: Cognito ユーザプール ID
      • UserPoolClientId: Cognito アプリケーションクライアント ID
      • IdPoolId: Cognito ID プール ID
      • SelfSignUpEnabled: スタック作成時のパラメータ selfSignUpEnabled (デフォルト値は true)
    • Rag リソース 関連
      • RagEnabled: スタック作成時のパラメータ ragEnabled (デフォルト値は false)
        • amazon.nova-canvas-v1:0
    • UseCaseBuilder リソース 関連
      • UseCaseBuilderEnabled: スタック作成時のパラメータ ragEnabled (デフォルト値は true)
  • DashboardStack 関連

以上です。
全 14 回に渡り、GenU のバックエンド (CDK) を解説してきました。
まだまだ発展していく OSS のため、様々な変更が入っていくと思いますが、コンセプトは変わらないと思いますので、読んで頂いた方の助けになれば幸いです。

この後は、フロントエンド (Vite + React) およびデプロイオプションの解説を行っていきと思います。

(参考) GenU のバックエンド (CDK) 詳細解説投稿一覧

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?