

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 생성된 네트워크 아티팩트 이해
<a name="transform-migrations-generated-artifacts"></a>

AWS 변환은 대상 네트워크를 코드형 인프라(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/`, `terraform/`, 또는 `lza/`)`cdk_l2/`가 있습니다. 각 에는 네트워크 정의를 위한 `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/`)에는 AWS CDK Construct Library의 상위 수준(L2) 구문을 사용하는 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/`)은 단일 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/`)에는 랜딩 존 액셀러레이터 구성 파일과 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/` 출력에는에 두 개의 추가 파일이 포함됩니다`security/`.
+ `security-interface.json`는 각 세그먼트가 사용하는 네트워크 식별자를 세그먼트당 하나의 항목과 함께 나열합니다. 식별자 유형은의 형식: CloudFormation 내보내기 이름 CloudFormation, CDK L1 및 CDK L2 또는 Terraform의 SSM 파라미터 이름에 따라 다릅니다. 아무것도 가져오지 않는 세그먼트에는 항목이 없습니다.
+ `validate-references.py`는 세그먼트를 배포하기 전에 실행하는 스크립트입니다. 의 네트워크 식별자가 AWS 계정에 `security-interface.json` 이미 있는지 확인합니다. 이를 실행하려면 대상 계정 및 리전에 대해 자격 증명 AWS CLI이 구성된가 필요합니다.

**참고**  
의 리소스`network_segments/`보다 먼저에 리소스를 배포합니다`security/`. 보안 정의는 이미 존재해야 하는 네트워크 리소스의 내보내기 및 파라미터를 참조합니다.

## 다중 계정 출력
<a name="transform-migrations-generated-artifacts-accounts"></a>

다중 계정 배포는 출력 디렉터리의 루트에 형식별 매니페스트 파일 하나를 추가합니다. 단일 계정 배포에는 매니페스트 파일이 없습니다. 각 형식에는 고유한 매니페스트가 있습니다.
+ `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` 필드가 있습니다.