

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

# ステップ 6: Infrastructure as Code を生成する
<a name="transform-containers-step-iac"></a>

このステップでは、 AWS Transform はコンテナ化されたアプリケーションをデプロイするための AWS インフラストラクチャテンプレートを生成します。ターゲットプラットフォームとして、Amazon Elastic Kubernetes Service と Amazon Elastic Container Service のいずれかを選択します。

## Amazon Elastic Kubernetes Service (Kubernetes)
<a name="transform-containers-iac-eks"></a>

Amazon EKS を選択した場合、 AWS Transform はアプリケーションの Kubernetes マニフェストを含む Helm チャートを生成します。生成されたテンプレートには以下が含まれます。
+ デプロイとサービス
+ 受信ルール
+ ConfigMaps および SecretProviderClass リソース
+ サービスアカウント
+ 永続ボリュームクレーム (EBS および EFS)
+ Route 53 DNS レコード
+ ヘルスチェック設定

### オプション: CloudWatch ログ記録
<a name="transform-containers-iac-eks-logging"></a>

AWS Transform は、Amazon EKS デプロイに CloudWatch ログ記録を含めるかどうかを尋ねます。オプトインすると、 AWS Transform はポッドログを収集して CloudWatch Logs に配信する Fluent Bit DaemonSet 設定を生成します。

CloudWatch ログ記録を選択した場合、クラスター管理者はデプロイ前に次の前提条件を満たす必要があります。

1. クラスターに`amazon-cloudwatch`名前空間を作成します。

1. CloudWatch Logs の書き込み権限を持つ Fluent Bit サービスアカウントの IAM ロールを作成します。デプロイ中にロール ARN の入力を求められます。

## Amazon Elastic Container Service (Terraform)
<a name="transform-containers-iac-ecs"></a>

Amazon ECS を選択した場合、 AWS Transform はアプリケーションをデプロイするための Terraform モジュールを生成します。生成されたテンプレートには以下が含まれます。
+ ECS クラスター
+ タスク定義を含む ECS サービス
+ アクセスログ記録を使用する Application Load Balancer 
+ 永続的ストレージ用の Amazon EFS 
+ サービス検出用のプライベートホストゾーン
+ ヘルスチェック設定

## 自動検証とセキュリティスキャン
<a name="transform-containers-iac-validation"></a>

AWS Transform は、生成されたインフラストラクチャテンプレートを自動的に検証してから提示します。検証には次のものが含まれます。
+ Terraform `terraform validate`の場合: `terraform fmt`構文と設定の正確性を確認するには、 と を使用します。
+ Helm の場合: 生成されたマニフェストの形式が適切であることを確認するグラフ検証。
+ Checkov を使用したセキュリティスキャンにより、生成されたインフラストラクチャコード内の潜在的なセキュリティ設定ミスを特定します。

AWS Transform は、検証の問題を報告し、続行する前に解決します。

## 公開されたイメージなしで IaC を生成する
<a name="transform-containers-iac-decoupled"></a>

前のステップでコンテナイメージを公開していない場合でも、インフラストラクチャテンプレートを生成できます。生成されたテンプレートはプレースホルダーイメージ URIs、後で実際のイメージの場所で更新できます。

## 必要な作業
<a name="transform-containers-iac-user-actions"></a>

**インフラストラクチャテンプレートを生成するには**

1. プロンプトが表示されたら、ターゲットプラットフォーム **Amazon EKS** または **Amazon ECS** を選択します。

1. Amazon EKS を選択した場合、 AWS Transform は CloudWatch ログ記録を含めるかどうかを尋ねます。「はい」または「いいえ」と回答します。

1. プロンプトが表示されたら、アプリケーションのヘルスチェックエンドポイントの詳細 (`/health`パスなど) を指定します。

1. AWS Transform はインフラストラクチャテンプレートを生成して検証します。このステップは自動的に実行され、 AWS Transform は検証やセキュリティスキャンの結果を含む進行状況の更新を表示します。

1. Transform がテンプレート AWS を表示するときに、生成されたテンプレートを確認します。