

# VPC 생성
<a name="create-vpc"></a>

다음 절차에 따라 Virtual Private Cloud(VPC)를 생성합니다. VPC에서 AWS 리소스를 생성하려면 먼저 VPC에 서브넷, 라우팅 테이블, 게이트웨이와 같은 추가 리소스가 있어야 합니다.

**Topics**
+ [VPC 및 기타 VPC 리소스 생성](#create-vpc-and-other-resources)
+ [VPC만 생성](#create-vpc-only)
+ [AWS CLI를 사용하여 VPC 생성](#create-vpc-cli)

VPC 수정에 대한 자세한 내용은 [VPC에서 CIDR 블록 추가 또는 제거](add-ipv4-cidr.md) 섹션을 참조하세요.

## VPC 및 기타 VPC 리소스 생성
<a name="create-vpc-and-other-resources"></a>

다음 절차에 따라 VPC 및 애플리케이션을 실행하는 데 필요한 추가 VPC 리소스(예: 서브넷, 라우팅 테이블, 인터넷 게이트웨이, NAT 게이트웨이)를 생성합니다. VPC 구성에 대한 예시는 [VPC 예시](vpc-examples-intro.md) 섹션을 참조하세요.

**콘솔을 사용하여 VPC, 서브넷 및 기타 VPC 리소스를 생성하려면**

1. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)에서 Amazon VPC 콘솔을 엽니다.

1. VPC 대시보드에서 **VPC 생성**을 선택합니다.

1. **Resources to create**(생성할 리소스)에서 **VPC and more**(VPC 등)를 선택합니다.

1. **이름 태그 자동 생성**을 선택한 상태로 유지하여 VPC 리소스에 이름 태그를 생성하거나 선택을 취소하여 VPC 리소스에 고유한 이름 태그를 제공합니다.

1. **IPv4 CIDR 블록**에 VPC의 IPv4 주소 범위를 입력합니다. VPC는 IPv4 주소 범위를 가져야 합니다.

1. (선택 사항) IPv6 트래픽을 지원하려면 **IPv6 CIDR 블록**, **Amazon에서 제공한 IPv6 CIDR 블록**을 선택합니다.

1. **테넌시** 옵션을 선택합니다. 이 옵션은 VPC로 시작하는 EC2 인스턴스가 다른 AWS 계정과 공유되는 하드웨어에서 실행되는지 아니면 사용자 전용 하드웨어에서 실행되는지를 정의합니다. VPC의 테넌시를 `Default`로 선택하면 이 VPC로 시작된 EC2 인스턴스에서는 인스턴스를 시작할 때 지정된 테넌시 속성을 사용합니다. 자세한 내용은 **Amazon EC2 사용 설명서의 [정의된 파라미터를 사용하여 인스턴스 시작](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html)을 참조하세요. VPC의 테넌시를 `Dedicated`로 선택하면 인스턴스는 항상 전용 하드웨어에서 [전용 인스턴스](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html)로 실행됩니다. AWS Outposts를 사용하는 경우 Outpost에 프라이빗 연결이 필요합니다. `Default` 테넌시를 사용해야 합니다.

1. **가용 영역(AZ) 수**에서 프로덕션 환경의 경우 2개 이상의 가용 영역에 서브넷을 프로비저닝하는 것이 좋습니다. 서브넷의 AZ를 선택하려면 **AZ 사용자 지정**을 확장합니다. 그렇지 않으면 AWS가 선택하도록 합니다.

1. 서브넷을 구성하려면 **퍼블릭 서브넷 수** 및 **프라이빗 서브넷 수**의 값을 선택합니다. 서브넷의 IP 주소 범위를 선택하려면 **서브넷 CIDR 블록 사용자 지정**을 확장합니다. 그렇지 않으면 AWS가 선택하도록 합니다.

1. (선택 사항) 프라이빗 서브넷의 리소스가 IPv4를 통해 퍼블릭 인터넷에 액세스해야 하는 경우 **NAT 게이트웨이**에서 NAT 게이트웨이를 생성할 AZ 수를 선택합니다. 프로덕션 환경에서는 퍼블릭 인터넷에 액세스해야 하는 리소스가 있는 각 AZ에 NAT 게이트웨이를 배포하는 것이 좋습니다. NAT 게이트웨이와 관련된 비용이 있습니다. 자세한 내용은 [NAT 게이트웨이 요금](nat-gateway-pricing.md) 섹션을 참조하세요.

1. (선택 사항) 프라이빗 서브넷의 리소스가 IPv6을 통해 퍼블릭 인터넷에 액세스해야 하는 경우 **송신 전용 인터넷 게이트웨이**에서 **예**를 선택합니다.

1. (선택 사항) VPC에서 직접 Amazon S3에 액세스해야 하는 경우 **VPC 엔드포인트**, **S3 게이트웨이**를 선택합니다. 이는 Amazon S3 게이트웨이 VPC 엔드포인트를 생성합니다. 자세한 내용은 *AWS PrivateLink 안내서*의 [게이트웨이 엔드포인트](https://docs.aws.amazon.com/vpc/latest/privatelink/gateway-endpoints.html)를 참조하세요.

1. (선택 사항) **DNS 옵션**의 경우 도메인 이름 확인을 위한 두 가지 옵션이 기본적으로 모두 활성화됩니다. 기본값이 요구 사항을 충족하지 않는 경우 해당 옵션을 비활성화할 수 있습니다.

1. (선택 사항) VPC에 태그를 추가하려면 **추가 태그**를 확장하고 **새 태그 추가**를 선택하여 태그 키와 태그 값을 입력합니다.

1. **미리 보기** 창에서 구성한 VPC 리소스 간의 관계를 시각화할 수 있습니다. 실선은 리소스 간의 관계를 나타냅니다. 점선은 NAT 게이트웨이, 인터넷 게이트웨이 및 게이트웨이 엔드포인트에 대한 네트워크 트래픽을 나타냅니다. VPC를 생성한 후에는 **리소스 맵** 탭을 사용하여 언제든지 VPC의 리소스를 이 형식으로 시각화할 수 있습니다. 자세한 내용은 [VPC의 리소스 시각화](view-vpc-resource-map.md) 섹션을 참조하세요.

1. VPC 구성을 마치면 **VPC 생성**을 선택합니다.

## VPC만 생성
<a name="create-vpc-only"></a>

다음 절차에 따라 Amazon VPC 콘솔을 사용하여 추가 VPC 리소스 없이 VPC를 생성합니다.

**콘솔을 사용하여 추가 VPC 리소스 없이 VPC를 생성하려면**

1. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)에서 Amazon VPC 콘솔을 엽니다.

1. VPC 대시보드에서 **VPC 생성**을 선택합니다.

1. **생성할 리소스**에서 **VPC 전용**을 선택합니다.

1. (선택 사항) **이름 태그**에 VPC의 이름을 입력합니다. 이렇게 하면 `Name` 키와 지정한 값으로 태그가 생성됩니다.

1. **IPv4 CIDR 블록**의 경우 다음 중 하나를 수행합니다.
   + **IPv4 CIDR 수동 입력** 을 선택하고 VPC에 대한 IPv4 주소 범위를 입력합니다.
   + **IPAM에서 할당된 IPv4 CIDR 블록**을 선택하고, Amazon VPC IP 주소 관리자(IPAM) IPv4 주소 풀과 넷마스크를 선택합니다. CIDR 블록의 크기는 IPAM 풀의 할당 규칙에 의해 제한됩니다. IPAM는 AWS 워크로드의 IP 주소를 보다 쉽게 계획, 추적 및 모니터링할 수 있게 해주는 VPC 기능입니다. 자세한 내용은 [Amazon VPC IPAM 사용 설명서](https://docs.aws.amazon.com/vpc/latest/ipam/what-it-is-ipam.html)를 참조하세요.

     IPAM을 사용하여 IP 주소를 관리하는 경우 이 옵션을 선택하는 것이 좋습니다. 그렇지 않으면 VPC에 지정한 CIDR 블록이 IPAM CIDR 할당과 겹칠 수 있습니다.

1. (선택 사항) 듀얼 스택 VPC를 생성하려면 VPC에 IPv6 주소 범위를 지정합니다. **IPv6 CIDR 블록**의 경우 다음 중 하나를 수행합니다.
   + Amazon VPC IP 주소 관리자를 사용 중이고 IPAM 풀에서 IPv6 CIDR을 프로비저닝하려는 경우 **IPAM 할당 IPv6 CIDR 블록**을 선택합니다. IPAM 할당 IPv6 CIDR 블록을 사용하여 VPC에 IPv6 CIDR을 프로비저닝하면 VPC 생성에서 연속 IPv6 CIDR의 이점을 누릴 수 있습니다. 연속 할당 CIDR은 순차적으로 할당되는 CIDR입니다. 이를 통해 보안 및 네트워킹 규칙을 간소화할 수 있습니다. IPv6 CIDRs은 액세스 제어 목록, 라우팅 테이블, 보안 그룹 및 방화벽과 같은 네트워킹 및 보안 구성 요소 전반에 걸쳐 단일 항목으로 집계할 수 있습니다.

     **CIDR 블록**에서 VPC에 IP 주소 범위를 프로비저닝하는 데는 두 가지 옵션이 있습니다.
     + **넷마스크 길이**: CIDR의 넷마스크 길이를 선택하려면 이 옵션을 선택합니다. 다음 중 하나를 수행합니다.
       + IPAM 풀에 대해 선택된 기본 넷마스크 길이가 있는 경우 **IPAM 넷마스크 길이 기본값**을 선택하여 IPAM 관리자가 IPAM 풀에 설정한 기본 넷마스크 길이를 사용할 수 있습니다. 선택적 기본 넷마스크 길이 할당 규칙에 대한 자세한 내용은 *Amazon VPC IPAM 사용 설명서*의 [리전 IPv6 풀 생성](https://docs.aws.amazon.com/vpc/latest/ipam/create-ipv6-reg-pool.html)을 참조하세요.
       + IPAM 풀에 대해 선택된 기본 넷마스크 길이가 없는 경우 IPAM 풀 CIDR의 넷마스크 길이보다 더 구체적인 넷마스크 길이를 선택합니다. 예를 들어 IPAM 풀 CIDR이 /50인 경우 VPC의 넷마스크 길이를 **/52**에서 **/60** 사이로 선택할 수 있습니다. 가능한 넷마스크 길이는**/44**\$1**/60**(/4씩 증가)입니다.
     + **CIDR 선택**: IPv6 주소를 수동으로 입력하려면 이 옵션을 선택합니다. IPAM 풀 CIDR 넷마스크 길이보다 더 구체적인 넷마스크 길이만 선택할 수 있습니다. 예를 들어 IPAM 풀 CIDR이 /50인 경우 VPC의 넷마스크 길이를 **/52**에서 **/60** 사이로 선택할 수 있습니다. 가능한 IPv6 넷마스크 길이는**/44**\$1**/60**(/4씩 증가)입니다.
   + Amazon의 IPv6 주소 풀에서 IPv6 CIDR 블록을 요청하려면 **Amazon 제공 IPv6 CIDR 블록**을 선택합니다. **네트워크 경계 그룹(Network Border Group)**에서 AWS가 IP 주소를 알리는 그룹을 선택합니다. Amazon은 **/56**의 고정 IPv6 CIDR 블록 크기를 제공합니다.
   + 이미 AWS에 가져온 IPv6 CIDR을 프로비저닝하려면 **내가 소유한 IPv6 CIDR** 을 선택합니다. 고유 IP 주소 범위를 AWS로 가져오는 방법에 대한 자세한 내용은 **Amazon EC2 사용 설명서의 [고유 IP 주소 가져오기(BYOIP)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html)를 참조하세요. **CIDR 블록**에 대한 다음과 같은 옵션을 사용하여 VPC의 IP 주소 범위를 프로비저닝할 수 있습니다.
     + **기본 설정 없음**: **/56**의 넷마스크 길이를 사용하려면 이 옵션을 선택합니다.
     + **CIDR 선택**: IPv6 주소를 수동으로 입력하고 BYOIP CIDR 크기보다 더 구체적인 넷마스크 길이를 선택하려면 이 옵션을 선택합니다. 예를 들어 BYOIP 풀 CIDR이 /50인 경우 VPC의 넷마스크 길이를 **/52**에서 **/60** 사이로 선택할 수 있습니다. 가능한 IPv6 넷마스크 길이는**/44**\$1**/60**(/4씩 증가)입니다.

1. (선택 사항) **테넌시** 옵션을 선택합니다. 이 옵션은 VPC로 시작하는 EC2 인스턴스가 다른 AWS 계정과 공유되는 하드웨어에서 실행되는지 아니면 사용자 전용 하드웨어에서 실행되는지를 정의합니다. VPC의 테넌시를 `Default`로 선택하면 이 VPC로 시작된 EC2 인스턴스는 인스턴스를 시작할 때 지정된 테넌시 속성을 사용합니다. 자세한 내용은 **Amazon EC2 사용 설명서의 [정의된 파라미터를 사용하여 인스턴스 시작](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html)을 참조하세요. VPC의 테넌시를 `Dedicated`로 선택하면 인스턴스는 항상 전용 하드웨어에서 [전용 인스턴스](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html)로 실행됩니다. AWS Outposts를 사용하는 경우 Outpost에 프라이빗 연결이 필요합니다. `Default` 테넌시를 사용해야 합니다.

1. (선택 사항) VPC에 태그를 추가하려면 **새 태그 추가**를 선택하고 태그 키와 태그 값을 입력합니다.

1. **VPC 생성**을 선택합니다.

1. VPC를 생성한 후 서브넷을 추가할 수 있습니다. 자세한 내용은 [서브넷 생성](create-subnets.md) 섹션을 참조하세요.

## AWS CLI를 사용하여 VPC 생성
<a name="create-vpc-cli"></a>

다음 절차에는 VPC를 만들기 위한 예제 AWS CLI 명령과 애플리케이션을 실행하는 데 필요한 추가 VPC 리소스가 포함되어 있습니다. 이 절차의 모든 명령을 실행하면 VPC, 퍼블릭 서브넷, 프라이빗 서브넷, 각 서브넷의 라우팅 테이블, 인터넷 게이트웨이, 송신 전용 인터넷 게이트웨이 및 퍼블릭 NAT 게이트웨이가 생성됩니다. 이러한 리소스가 모두 필요하지 않은 경우 필요한 예제 명령만 사용할 수 있습니다.

**사전 조건**  
시작하기 전에 AWS CLI을(를) 설치하고 구성합니다. AWS CLI를 구성하면 AWS 보안 인증 정보를 입력하라는 메시지가 표시됩니다. 이 절차의 예제에서는 기본 리전도 구성했다고 가정합니다. 그렇지 않을 경우 각 명령에 `--region` 옵션을 적용합니다. 자세한 내용은 [AWS CLI 설치 또는 업데이트](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) 및 [AWS CLI 구성](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)을 참조하세요.

**태그 지정**  
[create-tags](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-tags.html) 명령을 사용하여 리소스를 생성한 후 리소스에 태그를 추가할 수 있습니다. 또는 다음과 같이 리소스 생성 명령에 `--tag-specification` 옵션을 추가할 수 있습니다.

```
--tag-specifications ResourceType=vpc,Tags=[{Key=Name,Value=my-project}]
```

**AWS CLI를 사용하여 VPC 및 VPC 리소스 생성**

1. 다음 [create-vpc](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-vpc.html) 명령을 사용하여 지정된 IPv4 CIDR 블록으로 VPC를 생성합니다.

   ```
   aws ec2 create-vpc --cidr-block 10.0.0.0/24 --query Vpc.VpcId --output text
   ```

   또는 듀얼 스택 VPC를 생성하려면 다음 예제와 같이 Amazon에서 제공하는 IPv6 CIDR 블록을 추가하는`--amazon-provided-ipv6-cidr-block` 옵션을 추가합니다.

   ```
   aws ec2 create-vpc --cidr-block 10.0.0.0/24 --amazon-provided-ipv6-cidr-block --query Vpc.VpcId --output text
   ```

   해당 명령은 새 VPC의 ID를 반환합니다. 다음은 예입니다.

   ```
   vpc-1a2b3c4d5e6f1a2b3
   ```

1. [듀얼 스택 VPC] 다음 [describe-vpcs](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpcs.html) 명령을 사용하여 VPC에 연결된 IPv6 CIDR 블록을 가져옵니다.

   ```
   aws ec2 describe-vpcs --vpc-id vpc-1a2b3c4d5e6f1a2b3 --query Vpcs[].Ipv6CidrBlockAssociationSet[].Ipv6CidrBlock --output text
   ```

   출력의 예시는 다음과 같습니다.

   ```
   2600:1f13:cfe:3600::/56
   ```

1. 사용 사례에 따라 하나 이상의 서브넷을 생성합니다. 프로덕션 환경에서는 2개 이상의 가용 영역에서 리소스를 시작하는 것이 좋습니다. 다음 명령 중 하나를 사용하여 각 서브넷을 생성합니다.
   + **IPv4 전용 서브넷** - 특정 IPv4 CIDR 블록으로 서브넷을 생성하려면 다음 [create-subnet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-subnet.html) 명령을 사용합니다.

     ```
     aws ec2 create-subnet --vpc-id vpc-1a2b3c4d5e6f1a2b3 --cidr-block 10.0.1.0/20 --availability-zone us-east-2a --query Subnet.SubnetId --output text
     ```
   + **듀얼 스택 서브넷** - 듀얼 스택 VPC를 생성한 경우 다음 명령과 같이 `--ipv6-cidr-block` 옵션을 사용하여 듀얼 스택 서브넷을 생성할 수 있습니다.

     ```
     aws ec2 create-subnet --vpc-id vpc-1a2b3c4d5e6f1a2b3 --cidr-block 10.0.1.0/20 --ipv6-cidr-block 2600:1f13:cfe:3600::/64 --availability-zone us-east-2a --query Subnet.SubnetId --output text
     ```
   + **IPv6 전용 서브넷** - 듀얼 스택 VPC를 생성한 경우 다음 명령과 같이 `--ipv6-native` 옵션을 사용하여 IPv6 전용 서브넷을 생성할 수 있습니다.

     ```
     aws ec2 create-subnet --vpc-id vpc-1a2b3c4d5e6f1a2b3 --ipv6-native --ipv6-cidr-block 2600:1f13:cfe:3600::/64 --availability-zone us-east-2a --query Subnet.SubnetId --output text
     ```

   해당 명령은 새 서브넷의 ID를 반환합니다. 다음은 예입니다.

   ```
   subnet-1a2b3c4d5e6f1a2b3
   ```

1. 웹 서버용 또는 NAT 게이트웨이용 퍼블릭 서브넷이 필요한 경우 다음을 수행합니다.

   1. 다음 [create-internet-gateway](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-internet-gateway.html) 명령을 사용하여 인터넷 게이트웨이를 생성합니다. 이 명령은 새 인터넷 게이트웨이의 ID를 반환합니다.

      ```
      aws ec2 create-internet-gateway --query InternetGateway.InternetGatewayId --output text
      ```

   1. 다음 [attach-internet-gateway](https://docs.aws.amazon.com/cli/latest/reference/ec2/attach-internet-gateway.html) 명령을 사용하여 VPC에 인터넷 게이트웨이를 연결합니다. 이전 단계에서 반환한 인터넷 게이트웨이 ID를 사용합니다.

      ```
      aws ec2 attach-internet-gateway --vpc-id vpc-1a2b3c4d5e6f1a2b3 --internet-gateway-id igw-id
      ```

   1. 다음 [create-route-table](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-route-table.html) 명령을 사용하여 퍼블릭 서브넷에 대한 사용자 지정 라우팅 테이블을 생성합니다. 이 명령은 새 라우팅 테이블의 ID를 반환합니다.

      ```
      aws ec2 create-route-table --vpc-id vpc-1a2b3c4d5e6f1a2b3 --query RouteTable.RouteTableId --output text
      ```

   1. 다음 [create-route](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-route.html) 명령을 사용하여 모든 IPv4 트래픽을 인터넷 게이트웨이로 보내는 라우팅 테이블의 경로를 생성합니다. 퍼블릭 서브넷의 라우팅 테이블 ID를 사용합니다.

      ```
      aws ec2 create-route --route-table-id rtb-id-public --destination-cidr-block 0.0.0.0/0 --gateway-id igw-id
      ```

   1. 다음 [associate-route-table](https://docs.aws.amazon.com/cli/latest/reference/ec2/associate-route-table.html) 명령을 사용하여 라우팅 테이블을 퍼블릭 서브넷과 연결합니다. 퍼블릭 서브넷의 라우팅 테이블 ID와 퍼블릭 서브넷의 ID를 사용합니다.

      ```
      aws ec2 associate-route-table --route-table-id rtb-id-public --subnet-id subnet-id-public-subnet
      ```

1. [IPv6] 프라이빗 서브넷의 인스턴스가 IPv6를 통해 인터넷에 액세스할 수 있도록 송신 전용 인터넷 게이트웨이를 추가할 수 있지만(예: 소프트웨어 업데이트 받기) 인터넷의 호스트는 인스턴스에 액세스할 수 없습니다.

   1. 다음 [create-egress-only-internet-gateway](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-egress-only-internet-gateway.html) 명령을 사용하여 송신 전용 인터넷 게이트웨이를 생성합니다. 이 명령은 새 인터넷 게이트웨이의 ID를 반환합니다.

      ```
      aws ec2 create-egress-only-internet-gateway --vpc-id vpc-1a2b3c4d5e6f1a2b3 --query EgressOnlyInternetGateway.EgressOnlyInternetGatewayId --output text
      ```

   1. 다음 [create-route-table](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-route-table.html) 명령을 사용하여 프라이빗 서브넷에 대한 사용자 지정 라우팅 테이블을 생성합니다. 이 명령은 새 라우팅 테이블의 ID를 반환합니다.

      ```
      aws ec2 create-route-table --vpc-id vpc-1a2b3c4d5e6f1a2b3 --query RouteTable.RouteTableId --output text
      ```

   1. 다음 [create-route](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-route.html) 명령을 사용하여 모든 IPv6 트래픽을 송신 전용 인터넷 게이트웨이로 보내는 프라이빗 서브넷에 대한 라우팅 테이블의 경로를 생성합니다. 이전 단계에서 반환한 라우팅 테이블의 ID를 사용합니다.

      ```
      aws ec2 create-route --route-table-id rtb-id-private --destination-cidr-block ::/0 --egress-only-internet-gateway eigw-id
      ```

   1. 다음 [associate-route-table](https://docs.aws.amazon.com/cli/latest/reference/ec2/associate-route-table.html) 명령을 사용하여 라우팅 테이블을 프라이빗 서브넷과 연결합니다.

      ```
      aws ec2 associate-route-table --route-table-id rtb-id-private --subnet-id subnet-id-private-subnet
      ```

1. 프라이빗 서브넷의 리소스에 대한 NAT 게이트웨이가 필요한 경우 다음을 수행합니다.

   1. 다음 [allocate-address](https://docs.aws.amazon.com/cli/latest/reference/ec2/allocate-address.html) 명령을 사용하여 NAT 게이트웨이의 탄력적 IP 주소를 생성합니다.

      ```
      aws ec2 allocate-address --domain vpc --query AllocationId --output text
      ```

   1. 다음[create-nat-gateway](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-nat-gateway.html) 명령을 사용하여 퍼블릭 서브넷의 NAT 게이트웨이를 생성합니다. 이전 단계에서 반환되는 할당 ID를 사용합니다.

      ```
      aws ec2 create-nat-gateway --subnet-id subnet-id-public-subnet --allocation-id eipalloc-id
      ```

   1. (선택 사항) 5단계에서 프라이빗 서브넷에 대한 라우팅 테이블을 이미 생성한 경우 이 단계를 건너뜁니다. 그렇지 않으면 다음 [create-route-table](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-route-table.html) 명령을 사용하여 프라이빗 서브넷에 대한 라우팅 테이블을 생성합니다. 이 명령은 새 라우팅 테이블의 ID를 반환합니다.

      ```
      aws ec2 create-route-table --vpc-id vpc-1a2b3c4d5e6f1a2b3 --query RouteTable.RouteTableId --output text
      ```

   1. 다음 [create-route](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-route.html) 명령을 사용하여 모든 IPv4 트래픽을 NAT 게이트웨이로 보내는 프라이빗 서브넷에 대한 라우팅 테이블의 경로를 생성합니다. 이 단계 또는 5단계에서 생성한 프라이빗 서브넷의 라우팅 테이블 ID를 사용합니다.

      ```
      aws ec2 create-route --route-table-id rtb-id-private --destination-cidr-block 0.0.0.0/0 --gateway-id nat-id
      ```

   1. (선택 사항) 5단계에서 프라이빗 서브넷과 라우팅 테이블을 이미 연결한 경우 이 단계를 건너뜁니다. 그렇지 않으면 다음 [associate-route-table](https://docs.aws.amazon.com/cli/latest/reference/ec2/associate-route-table.html) 명령을 사용하여 라우팅 테이블을 프라이빗 서브넷과 연결합니다. 이 단계 또는 5단계에서 생성한 프라이빗 서브넷의 라우팅 테이블 ID를 사용합니다.

      ```
      aws ec2 associate-route-table --route-table-id rtb-id-private --subnet-id subnet-id-private-subnet
      ```