

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Infrastructure as Code
<a name="infrastructure-as-code"></a>

サーバーレス AI システムがスケールするにつれて、クラウドインフラストラクチャのプロビジョニング、管理、進化の複雑さが急速に増します。APIs、 AWS Lambda 関数、Amazon Bedrock エージェント、IAM ロール、ステートマシンの手動セットアップは、エラーが発生しやすく、反復不可能であり、大規模には準拠していません。

Infrastructure as Code (IaC) は、すべてのインフラストラクチャコンポーネントが次のことを確実に行うための基本的な規律です。
+ バージョン管理
+ 環境間で繰り返し可能 
+ 監査可能およびレビュー可能
+ モジュール式でテスト可能

IaC を採用することで、企業は自動化だけでなく、サーバーレス AI ワークロードのデプロイと運用におけるガバナンス、スピード、レジリエンスも得られます。

## AWS のサービス でのサーバーレス AI の IaC デプロイ用 AWS
<a name="section-iac-aws-services"></a>

以下の AWS のサービス およびサードパーティーのツールは、 AWSでのサーバーレス AI の IaC デプロイをサポートし AWS CloudFormation AWS CDK、インフラストラクチャデプロイ用のネイティブ AWS 機能 AWS SAM を提供します。 HashiCorpTerraformは一般的なサードパーティーソリューションを提供します。それぞれに異なる利点があり、さまざまなチーム要件やユースケースに適しています。

### CloudFormation
<a name="section-iac-cloudformation"></a>

[CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) は、インフラストラクチャを構造化された JSON テンプレートまたは YAML テンプレートとして定義できるネイティブの宣言型 IaC サービスです。

CloudFormation の長所は次のとおりです。
+ 安定性と成熟度が高く、すべての で広くサポートされています AWS のサービス 
+ 統合されたロールバックとドリフトの検出
+ マネージドスタックと変更セットにより、より安全なデプロイが可能に 
+ ビジュアル追跡 AWS マネジメントコンソール のために で直接サポート

CloudFormation は、以下の要件に最適です。
+ きめ細かなコントロールを備えた明示的で監査可能なテンプレートを必要とするチーム
+ コードのトレーサビリティが必須である規制環境 
+ DevOps パイプラインが厳格な昇格ワークフローを適用する環境

### AWS CDK
<a name="section-iac-cdk"></a>

[AWS Cloud Development Kit (AWS CDK)](https://docs.aws.amazon.com/cdk/v2/guide/home.html) はオープンソースフレームワークです。を使用すると AWS CDK、TypeScript、、、または C\# などの使い慣れ AWS たプログラミング言語を使用してPythonJavaインフラストラクチャを定義できます。

の長所 AWS CDK は次のとおりです。
+ コードでのループ、条件、抽象化の使用をサポートする必須ハイブリッドと宣言ハイブリッド 
+ 多くのコンストラクトと再利用可能なパターンの可用性
+ 開発者が採用しやすい (コードファーストの考え方)
+ 環境対応スタックでマルチ環境デプロイを有効にする

 AWS CDK は、以下の要件に最適です。
+ 強力なソフトウェアエンジニアリングスキルを持つチーム
+ 動的なインフラストラクチャ生成を必要とするユースケース
+ コンストラクトの再利用、カスタマイズ、迅速な反復を含むプロジェクト

### AWS SAM
<a name="section-iac-sam"></a>

[AWS Serverless Application Model (AWS SAM)](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/what-is-sam.html) は、[Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html)、[Amazon API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html)、 などのサーバーレスアプリケーションを定義するために最適化された CloudFormation 拡張機能です[AWS Step Functions](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html)。

の長所 AWS SAM は次のとおりです。
+ Lambda をベースとするパイプラインに最適な最小構文
+ ローカルエミュレーションとデバッグのネイティブサポート
+ デプロイ、テスト、パッケージワークフローを簡素化する統合されたコマンドラインインターフェイス (CLI)

AWS SAM は、以下の要件に最適です。
+ 主に Lambda、API Gateway、Amazon Bedrock に焦点を当てた小規模から中規模のプロジェクト
+ 継続的インテグレーションと継続的デプロイ (CI/CD) サポートが組み込まれたシンプルな YAML ベースのテンプレートを必要とするチーム

### Terraform
<a name="section-iac-terraform"></a>

[https://developer.hashicorp.com/terraform/intro](https://developer.hashicorp.com/terraform/intro) は、コードを使用してクラウドインフラストラクチャとリソースをプロビジョニングおよび管理するための IaC ツールです。

の長所Terraformは次のとおりです。
+ マルチクラウドシナリオに最適な AWS を超える広範なプロバイダーエコシステム 
+ リッチ状態管理と依存関係グラフの解決
+ DevOps ファーストの文化を持ち、GitOps ワークフローを使用する企業で人気

Terraform は、以下の要件に最適です。
+ 既存のTerraform投資を持つチーム
+ Software as a Service (SaaS) ツールと統合されたマルチクラウドデプロイまたは AWS ネイティブサービス
+ チーム間で一貫性Terraformを保つために を標準化する組織

## サーバーレス AI プロジェクトにおける IaC のベストプラクティス
<a name="section-iac-best-practices"></a>

サーバーレス AI プロジェクトで IaC を実装する場合は、以下のベストプラクティスとその重要性を考慮してください。
+ **バージョン管理のすべて** — 再現性を確保し、ロールバックを有効にし、Git による変更承認をサポートします。
+ **環境固有のスタックを使用する – **開発、テスト、本番環境のデプロイをクリーンに分離します。偶発的な交差汚染を防止します。
+ **インフラストラクチャのモジュール化** – 再利用を奨励し、オンボーディングを高速化し、変更の範囲を縮小します (Amazon [Bedrock エージェント](https://docs.aws.amazon.com/bedrock/latest/userguide/agents.html)用のモジュールと EventBridge ルール用のモジュールなど）。
+ **パラメータ化とタグを使用する** – スタックの動的動作とコスト追跡を有効にします。請求と [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) のオブザーバビリティが向上しました。
+ **IaC を CI/CD** に統合する – デプロイ中のインフラストラクチャの更新を自動化し、アプリケーションとインフラストラクチャの同期を維持します。
+ **スキーマの検証とリンティングを適用する** – デプロイエラーを防止し、チームの貢献に一貫性を適用します。
+ **ドリフト検出と監査証跡の実装** – インフラストラクチャが想定された定義と一致することを確認し、コンプライアンスレビューを簡素化するのに役立ちます (CloudFormation [ドリフト検出](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html)や Terraform 状態検証を使用するなど）。

## 例: サーバーレス AI アシスタントのバージョン管理されたデプロイ
<a name="section-iac-example-deployment"></a>

 AWS CDK または CloudFormation を使用すると、Amazon Bedrock を搭載したサポートアシスタントに以下が含まれる場合があります。
+ API Gateway エンドポイント
+ Lambda をベースとする 3 つのツールを備えた Amazon Bedrock エージェント
+ Amazon S3 ドキュメントを参照するナレッジベース
+ フォールバック/エラー処理の Step Functions ワークフロー
+ CloudWatch や などのログ記録とオブザーバビリティインフラストラクチャ [AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html)

IaC では、これらの要素はすべてリポジトリで定義され、CI/CD を介して昇格され、デプロイごとにバージョンタグが付けられます。このアプローチは、完全なトレーサビリティ、監査可能性、および必要に応じてロールバックを提供します。

## サーバーレス AI の IaC デプロイの概要
<a name="section-iac-summary"></a>

エンタープライズグレードのサーバーレス AI システム用の IaC は、実験を本稼働環境に変換する基盤であり、組織がインフラストラクチャを次のように確信できるようにします。
+ 開発、テスト、本番環境全体で一貫している
+ ポリシー、レビュー、監査メカニズムを通じて管理可能
+ AI 導入と同じペースでスケーラブル

を動的コンストラクト AWS CDK に使用するか、CloudFormation を監査整合性のあるデプロイに使用するか、集中型パイプライン AWS SAM に使用するかにかかわらず、IaC はインテリジェントでイベント駆動型のクラウドのコントロールプレーンです。