

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

# 6단계: 코드형 인프라 생성
<a name="transform-containers-step-iac"></a>

이 단계에서 AWS 변환은 컨테이너화된 애플리케이션을 배포하기 위한 AWS 인프라 템플릿을 생성합니다. Amazon Elastic Kubernetes Service와 Amazon Elastic Container Service 중에서 대상 플랫폼으로 선택합니다.

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

Amazon EKS를 선택하면 AWS 변환은 애플리케이션에 대한 Kubernetes 매니페스트가 있는 차트 Helm을 생성합니다. 생성된 템플릿에는 다음이 포함됩니다.
+ 배포 및 서비스
+ 수신 규칙
+ ConfigMaps 및 SecretProviderClass 리소스
+ 서비스 계정
+ 영구 볼륨 클레임(EBS 및 EFS)
+ Route 53 DNS 레코드
+ 상태 확인 구성

### 선택 사항: CloudWatch 로깅
<a name="transform-containers-iac-eks-logging"></a>

AWS 변환은 Amazon EKS 배포에 CloudWatch 로깅을 포함할지 묻습니다. 옵트인하면 AWS 변환은 포드 로그를 수집하여 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 변환이 애플리케이션을 배포하기 위한 Terraform 모듈을 생성합니다. 생성된 템플릿에는 다음이 포함됩니다.
+ ECS 클러스터
+ 작업 정의가 있는 ECS 서비스
+ 액세스 로깅이 포함된 Application Load Balancer 
+ 영구 스토리지용 Amazon EFS 
+ 서비스 검색을 위한 프라이빗 호스팅 영역
+ 상태 확인 구성

## 자동 검증 및 보안 스캔
<a name="transform-containers-iac-validation"></a>

AWS 변환은 생성된 인프라 템플릿을 제시하기 전에 자동으로 검증합니다. 검증에는 다음이 포함됩니다.
+ Terraform: `terraform fmt` 및 `terraform validate`의 경우 구문 및 구성 정확성을 확인합니다.
+ Helm의 경우: 생성된 매니페스트의 형식이 올바른지 확인하기 위한 차트 검증입니다.
+ Checkov를 사용하여 생성된 인프라 코드에서 잠재적인 보안 구성 오류를 식별하는 보안 스캔입니다.

AWS 변환은 계속하기 전에 모든 검증 문제를 보고하고 해결합니다.

## 게시된 이미지 없이 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 변환은 CloudWatch 로깅을 포함할지 여부를 묻습니다. 예 또는 아니요로 응답합니다.

1. 메시지가 표시되면 애플리케이션의 상태 확인 엔드포인트 세부 정보(예: `/health` 경로)를 제공합니다.

1. AWS 변환은 인프라 템플릿을 생성하고 검증합니다. 이 단계는 자동으로 실행되며 AWS 변환에는 검증 또는 보안 스캔 결과를 포함한 진행 상황 업데이트가 표시됩니다.

1.  AWS 변환에서 템플릿을 표시할 때 생성된 템플릿을 검토합니다.