

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

# 生成されたネットワークアーティファクトについて
<a name="transform-migrations-generated-artifacts"></a>

AWS Transform はターゲットネットワークを Infrastructure as Code (IaC) として生成するため、独自のツールとプロセスを使用して確認してデプロイできます。ネットワークは短時間で生成され、デプロイ方法とタイミングを決定します。独自の標準に照らしてチェックし、チームの仕組みに合わせて調整し、インフラストラクチャをすでにデプロイする方法に合わせてデプロイし、バージョン管理に保持して、変更を追跡して後で再度デプロイできるようにします。

これらのアーティファクトは、ターゲット AWS アカウントの Amazon S3 バケットにあります。 は、すべての移行、および選択した他の形式 CloudFormation について、書き込み AWS CDK と を同じ場所 AWS に変換します。バケットは、コネクタに指定した AWS アカウントと AWS リージョンにあり、 で始まります`transform-vmware-target-`。コネクタの詳細については、「」を参照してください[ステップ 3: コネクタ設定](transform-vmware-connect-target-account.md#transform-vmware-cta-connector)。

 AWS 変換で提供されているリンクを使用して、そのバケットで生成されたアーティファクトを開きます。生成されたアーティファクトには、生成されたテンプレートの使用方法を説明する `README.md` ファイルが含まれています。

**重要**  
ダウンロードしたファイルが破損または改ざんされていないことを確認するには、チェックサムを生成してダウンロードし、 `openssl dgst -sha256 -binary <file.zip> | base64` コマンドを使用してローカルに生成されたハッシュと比較します。

## 出力ディレクトリ構造
<a name="transform-migrations-generated-artifacts-layout"></a>

各 IaC 形式には、独自の出力ディレクトリ (`cdk/` および `cfn/`、`cdk_l2/`、`terraform/`、または ) があります`lza/`。各 には、ネットワーク定義用の`network_segments/`ディレクトリとセキュリティ定義用の`security/`ディレクトリが含まれています。次のツリーは各形式の構造を示しています。ここで、 `<segment>`は各セグメントのプレースホルダーです。

**CloudFormation** (`cfn/`) には CloudFormation テンプレートが含まれています。

```
cfn/
├── network_segments/
│   └── <segment>/                        # CloudFormation template JSON
└── security/
    ├── <segment>_security/
    └── <segment>_security_dependencies/   # only when the segment has cross-VPC rules
```

**CDK L1** (`cdk/`) には AWS CDK プロジェクトが含まれています。ファイルが含まれています`README.md`。

```
cdk/
├── README.md
├── network_segments/
│   └── <segment>/
└── security/
    ├── security-interface.json
    ├── validate-references.py
    ├── <segment>_security/
    └── <segment>_security_dependencies/   # only when the segment has cross-VPC rules
```

**CDK L2** (`cdk_l2/`) には、コンストラクトライブラリの高レベル (L2) AWS CDK コンストラクトを使用する AWS CDK プロジェクトが含まれています。L2 コンストラクトは、CDK L1 がL1使用する L1 コンストラクトよりも適切なデフォルトと少ないボイラープレートを提供します。詳細については、「 *AWS Cloud Development Kit (AWS CDK) デベロッパーガイド*」の[「コンストラクト](https://docs.aws.amazon.com/cdk/v2/guide/constructs.html)」を参照してください。ワークロードセグメントは完全なプロジェクト zip ファイルとして配信され、デプロイ`README.md`は各 zip 内にあります。

```
cdk_l2/
├── network_segments/
│   ├── <segment>/                         # hub and spoke CDK app (.ts source)
│   └── <segment>/                         # workload segment (.zip)
└── security/
    ├── security-interface.json
    ├── validate-references.py
    ├── <segment>_security/                # .zip
    └── <segment>_security_dependencies/   # .ts source, only when the segment has cross-VPC rules
```

**Terraform** (`terraform/`) は 1 つの zip ファイルとして配信されます。

```
terraform/
├── README.md, LICENSE.txt, main.tf, outputs.tf
├── modules/                                # networking, vpc, workload-vpc
├── network_segments/
│   └── <segment>/                         # main.tf, outputs.tf, variables.tf, versions.tf, terraform.tfvars
└── security/                               # standalone Terraform root
    ├── main.tf, locals.tf, variables.tf, terraform.tfvars
    ├── security-interface.json
    ├── validate-references.py
    ├── modules/security/
    └── security_segments/
        ├── <segment>_security/            # main.tf, variables.tf, terraform.tfvars (plus versions.tf for cross-account segments)
        └── <segment>_security_dependencies/   # only when the segment has cross-VPC rules
```

**LZA** (`lza/`) には、Landing Zone Accelerator 設定ファイルと VPC ごとの AWS CDK アプリケーションが含まれています。

```
lza/
├── README.md
├── network_segments/
│   ├── network-config.yaml
│   └── replacements-config.yaml
└── security/
    ├── <segment>/                          # one CDK app per VPC segment
    │   ├── <stack_name>.ts                 #   security group stack
    │   ├── app.ts
    │   ├── cdk.json
    │   ├── tsconfig.json
    │   └── package.json
    └── <segment>_dependencies/             # same file set; only when the segment has cross-VPC rules
```

## セキュリティ定義
<a name="transform-migrations-generated-artifacts-security"></a>

内では`security/`、セキュリティグループはセグメントごとに分割されます。各セグメント独自のセキュリティグループは ディレクトリにあります`<segment>_security/`。セグメントに別のセグメントを参照するルールがある場合、そのクロス VPC ルールは、参照するセキュリティグループが存在した後、最後にデプロイする`<segment>_security_dependencies/`ディレクトリに分割されます。

アカウントに既に VPC が存在するセグメントは、サフィックスなしで元の名前を `security/<segment>/`に保持します。

`cdk/`、`cdk_l2/`、および `terraform/`出力には、 に 2 つの追加ファイルが含まれています`security/`。
+ `security-interface.json` は、各セグメントが消費するネットワーク識別子を、セグメントごとに 1 つのエントリとともに一覧表示します。識別子タイプは、、CDK L1 CloudFormation、CDK L2 の形式: CloudFormation エクスポート名、または Terraform の SSM パラメータ名によって異なります。何もインポートしないセグメントにはエントリがありません。
+ `validate-references.py` は、セグメントをデプロイする前に実行するスクリプトです。これにより、 のネットワーク識別子が AWS アカウント内に`security-interface.json`既に存在することが確認されます。これを実行するには AWS CLI、ターゲットアカウントとリージョン用に設定された認証情報を持つ が必要です。

**注記**  
のリソース`network_segments/`の前に にリソースをデプロイします`security/`。セキュリティ定義は、ネットワークリソースのエクスポートとパラメータを参照します。これらは既に存在している必要があります。

## マルチアカウント出力
<a name="transform-migrations-generated-artifacts-accounts"></a>

マルチアカウントデプロイでは、出力ディレクトリのルートにフォーマットごとに 1 つのマニフェストファイルを追加します。単一アカウントのデプロイにはマニフェストファイルはありません。各形式には独自のマニフェストがあります。
+ `manifest-cdk_l1.json` AWS CDK L1 形式の場合。
+ `manifest-cdk_l2.json` AWS CDK L2 形式用。
+ `manifest-terraform.json` は、`terraform/`ルートの Terraform 形式用です。
+ `manifest-lza.json` LZA 形式の 。

アカウント割り当てはフォルダ構造では表示されません。各マニフェストはターゲットアカウント (マニフェストの フィールド`segments[].targetAccount`) でセグメントを一覧表示し、 の各エントリ`security-interface.json`には `targetAccount`フィールドがあります。