Amazon Virtual Private Cloud
사용 설명서

기본 VPC 및 기본 서브넷

2013년 12월 4일 이후에 AWS 계정을 만든 경우에는 EC2-VPC만 지원됩니다. 이 경우 각 AWS 리전에 기본 VPC가 있습니다. 기본 VPC는 바로 사용할 수 있는 상태이므로 VPC를 직접 생성하고 구성할 필요가 없습니다. 기본 VPC로 Amazon EC2 인스턴스를 즉시 시작할 수 있습니다. 기본 VPC에서 Elastic Load Balancing, Amazon RDS, Amazon EMR 등의 서비스를 사용할 수도 있습니다.

기본 VPC는 준비 과정 없이 빠르게 시작하여 블로그나 간단한 웹 사이트 같은 퍼블릭 인스턴스를 시작하는 데 적합합니다. 기본 VPC의 구성 요소를 필요에 따라 수정할 수 있습니다. 기본 VPC를 사용하지 않고, 원하는 CIDR 블록 범위 및 서브넷 크기 등과 같은 특정 요구 사항에 적합한 VPC를 만들려면 예제 시나리오를 참조하십시오.

기본 VPC 구성 요소

기본 VPC는 다음과 같이 생성됩니다.

  • IPv4 CIDR 블록의 크기가 /16인 VPC를 만듭니다 (172.31.0.0/16). 이는 최대 65,536개의 프라이빗 IPv4 주소를 제공합니다.

  • 각 가용 영역에 크기 /20의 기본 서브넷을 생성합니다. 이렇게 하면 서브넷당 최대 4,096개의 주소가 제공되며, 그중 몇 개는 내부용으로 예약되어 있습니다.

  • 인터넷 게이트웨이를 만들어 기본 VPC에 연결합니다.

  • 인터넷으로 향하는 모든 IPv4 트래픽을 인터넷 게이트웨이로 전송하는 규칙을 사용하여 기본 VPC에 대한 기본 라우팅 테이블을 생성합니다.

  • 기본 보안 그룹을 만들어 기본 VPC와 연결합니다.

  • 네트워크 ACL(액세스 제어 목록)을 생성하여 기본 VPC와 연결합니다.

  • AWS 계정에서 설정된 기본 DHCP 옵션을 기본 VPC와 연결합니다.

다음 그림은 기본 VPC에 대해 설정되는 핵심 구성 요소를 보여 줍니다.

 기본 VPC

기본 VPC는 다른 일반 VPC와 동일한 방식으로 사용할 수 있습니다.

  • 기본 서브넷이 아닌 서브넷을 추가합니다.

  • 기본 라우팅 테이블을 수정합니다.

  • 라우팅 테이블을 추가합니다.

  • 추가 보안 그룹을 연결합니다.

  • 기본 보안 그룹의 규칙을 업데이트합니다.

  • VPN 연결을 추가합니다.

  • 더 많은 IPv4 CIDR 블록을 추가합니다.

기본 서브넷도 다른 서브넷을 사용하듯이 사용할 수 있습니다. 즉, 사용자 지정 라우팅 테이블을 추가하고 네트워크 ACL을 설정할 수 있습니다. EC2 인스턴스를 시작할 때 특정 기본 서브넷을 지정할 수도 있습니다.

IPv6 CIDR 블록을 기본 VPC에 연결할 수도 있습니다. 자세한 내용은 VPC 및 서브넷 관련 작업을 참조하십시오.

기본 서브넷

기본 라우팅 테이블은 인터넷으로 목적지가 정해진 서브넷의 트래픽을 인터넷 게이트웨이로 전송하기 때문에 기본적으로 기본 서브넷은 퍼블릭 서브넷입니다. 대상 주소 0.0.0.0/0에서 인터넷 게이트웨이로의 라우팅을 제거함으로써 기본 서브넷을 프라이빗 서브넷으로 만들 수 있습니다. 하지만 이렇게 하면 해당 서브넷에서 실행하는 EC2 인스턴스는 인터넷에 액세스할 수 없습니다.

기본 서브넷에서 시작한 인스턴스는 퍼블릭 IPv4 주소와 프라이빗 IPv4 주소, 퍼블릭 DNS 호스트 이름과 프라이빗 DNS 호스트 이름을 둘 다 받습니다. 기본 VPC의 기본이 아닌 서브넷에서 시작하는 인스턴스는 퍼블릭 IPv4 주소나 DNS 호스트 이름을 수신하지 않습니다. 서브넷의 퍼블릭 IP 주소 지정 동작은 변경할 수 있습니다. 자세한 내용은 서브넷의 퍼블릭 IPv4 주소 지정 속성 수정 단원을 참조하십시오.

때때로 AWS는 새로운 가용 영역을 리전에 추가할 수 있습니다. 대부분의 경우 며칠 내로 기본 VPC에 대한 이 가용 영역에 새로운 기본 서브넷이 자동으로 생성됩니다. 하지만 기본 VPC를 수정했을 경우에는 새로운 기본 서브넷이 추가되지 않습니다. 원한다면, 새로운 가용 영역에 대한 기본 서브넷을 직접 생성할 수 있습니다. 자세한 내용은 기본 서브넷 생성 단원을 참조하십시오.

가용성 및 지원되는 플랫폼

2013년 12월 4일 이후에 AWS 계정을 만든 경우에는 EC2-VPC만 지원됩니다. 이 경우 각 AWS 리전에 기본 VPC가 생성됩니다. 따라서 기본이 아닌 VPC를 만들어 생성하여 인스턴스 시작 시 지정한 경우가 아니면 인스턴스가 기본 VPC에서 시작됩니다.

AWS 계정을 2013년 3월 18일 이전에 만든 경우, 이전에 사용하던 리전에서는 EC2-Classic과 EC2-VPC가 모두 지원되며 이전에 없었던 리전에서는 EC2-VPC만 지원됩니다. 이 경우 AWS 리소스를 생성하지 않은 각 리전에는 기본 VPC가 생성됩니다. 사용자가 기본이 아닌 VPC를 만들어 새로운 리전에서 인스턴스를 시작할 때 지정하지 않는 한, 인스턴스는 해당 리전의 기본 VPC로 시작됩니다. 하지만 이전에 사용했던 리전에서 인스턴스를 시작하면 인스턴스가 EC2-Classic에서 시작됩니다.

AWS 계정을 2013년 3월 18일-2013년 12월 4일 사이에 만든 경우 EC2-VPC만 지원됩니다. 또는 사용했던 일부 리전에서 EC2-Classic과 EC2-VPC를 둘 다 지원할 수 있습니다. AWS 계정에 대해 각 리전에서 지원되는 플랫폼을 확인하는 방법은 지원되는 플랫폼 및 기본 VPC 보유 여부 확인 단원을 참조하십시오. 각 리전이 기본 VPC를 사용하도록 설정된 시점에 대한 자세한 내용은 Amazon VPC에 대한 AWS 포럼에서 Announcement: Enabling regions for the default VPC feature set를 참조하십시오.

AWS 계정이 EC2-VPC만 지원할 경우, 이 AWS 계정과 연결된 IAM 계정 역시 EC2-VPC만 지원하며 AWS 계정과 동일한 기본 VPC를 사용합니다.

귀하의 AWS 계정이 EC2-Classic과 EC2-VPC를 둘 다 지원할 경우, AWS 계정을 새로 만들거나, 이전에 사용하지 않았던 리전에서 인스턴스를 시작할 수 있습니다. EC2-VPC를 활용하면서 EC2-Classic에서 인스턴스를 시작하는 간편함을 누리기 위해 이렇게 할 수 있습니다. 기본 VPC가 없으며 EC2-Classic을 지원하는 리전에 기본 VPC를 추가하려면 기본 VPC FAQ에서 "기존 EC2 계정에 기본 VPC를 추가하고 싶습니다. 가능합니까?" 를 참조하십시오.

EC2-Classic 및 EC2-VPC 플랫폼에 대한 자세한 내용은 지원되는 플랫폼을 참조하십시오.

지원되는 플랫폼 및 기본 VPC 보유 여부 확인

Amazon EC2 콘솔이나 명령줄을 사용하여 AWS 계정이 모든 플랫폼을 지원하는지 또는 기본 VPC가 있는지를 확인할 수 있습니다.

Amazon EC2 콘솔을 사용하여 플랫폼 지원을 확인하려면

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 상단 오른쪽의 리전 선택기를 사용하여 리전을 선택합니다.

  3. Amazon EC2 콘솔 대시보드의 [Account Attributes]에서 [Supported Platforms]를 찾습니다. 두 개의 값(EC2VPC)이 있을 경우 두 플랫폼 증 하나에서 인스턴스를 시작할 수 있습니다. 하나의 값(VPC)만 있을 경우 EC2-VPC에서만 인스턴스를 시작할 수 있습니다.

    예를 들어 다음은 해당 계정이 EC2-VPC 플랫폼만을 지원하며, 식별자가 vpc-1a2b3c4d인 기본 VPC가 있음을 나타냅니다.

     지원되는 플랫폼 확인.

    기본 VPC를 삭제하면 [Default VPC] 값이 [None]으로 표시됩니다. 자세한 내용은 기본 서브넷과 기본 VPC 삭제 단원을 참조하십시오.

명령줄을 사용하여 플랫폼 지원을 확인하려면

출력에서 supported-platforms 속성은 EC2 인스턴스를 시작할 수 있는 플랫폼을 나타냅니다.

기본 VPC와 기본 서브넷 보기

Amazon VPC 콘솔이나 명령줄을 사용하여 기본 VPC와 서브넷을 볼 수 있습니다.

Amazon VPC 콘솔을 사용하여 기본 VPC와 서브넷을 보려면

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

  2. 탐색 창에서 Your VPCs를 선택합니다.

  3. [Default VPC] 열에서 [Yes] 값을 확인합니다. 기본 VPC의 ID를 메모합니다.

  4. 탐색 창에서 Subnets을 선택합니다.

  5. 검색줄에 기본 VPC의 ID를 입력합니다. 검색 결과에 표시되는 서브넷이 기본 VPC의 서브넷입니다.

  6. 어느 서브넷이 기본 서브넷인지 확인하려면 [Default Subnet] 열에서 [Yes] 값을 확인합니다.

명령줄을 사용하여 기본 VPC를 나타내려면

isDefault 필터를 포함하여 명령을 사용하고 필터 값을 true로 설정합니다.

명령줄을 사용하여 기본 서브넷을 나타내려면

vpc-id 필터를 포함하여 명령을 사용하고 필터 값을 기본 VPC의 ID로 설정합니다. 기본 서브넷은 출력에서 DefaultForAz 필드가 true로 설정되어 있습니다.

기본 VPC로 EC2 인스턴스 시작

서브넷을 지정하지 않고 EC2 인스턴스를 시작하면 자동으로 기본 VPC의 기본 서브넷에서 시작됩니다. 가용 영역은 기본적으로 선택되고 이 가용 영역의 해당 서브넷으로 인스턴스가 시작됩니다. 또는 콘솔에서 기본 서브넷을 선택하거나, AWS CLI에서 서브넷 또는 가용 영역을 지정하여 인스턴스에 대한 가용 영역을 직접 선택할 수도 있습니다.

콘솔을 사용하여 EC2 인스턴스 시작

기본 VPC로 EC2 인스턴스를 시작하려면

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. EC2 대시보드에서 Launch Instance를 선택합니다.

  3. 마법사의 지침대로 진행합니다. AMI를 선택하고 인스턴스 유형을 선택합니다. Review and Launch를 선택하여 마법사의 나머지 부분에 대한 기본 설정을 수락할 수 있습니다. 그러면 Review Instance Launch 페이지로 바로 이동합니다.

  4. 설정을 검토합니다. Instance Details 섹션에서 Subnet의 기본값은 No preference (default subnet in any Availability Zone)입니다. 이는 인스턴스가 자동으로 선택된 가용 영역의 기본 서브넷에서 시작됨을 나타냅니다. 아니면 Edit instance details를 선택하여 특정 가용 영역에 대한 기본 서브넷을 선택할 수도 있습니다.

  5. Launch를 선택하여 키 페어를 선택하고 해당 인스턴스를 시작합니다.

명령줄을 사용하여 EC2 인스턴스 시작

다음 명령 중 하나를 사용하여 EC2 인스턴스를 시작할 수 있습니다.

EC2 인스턴스를 기본 VPC에서 시작하려면 서브넷이나 가용 영역을 지정하지 않고 다음 명령을 사용합니다.

EC2 인스턴스를 기본 VPC의 특정 기본 서브넷에서 시작하려면 해당 서브넷 ID나 가용 영역을 지정합니다.

기본 서브넷과 기본 VPC 삭제

기본 서브넷이나 기본 VPC는 다른 서브넷 또는 VPC처럼 삭제할 수 있습니다. 그러나 기본 서브넷이나 기본 VPC를 삭제하면 EC2-Classic으로 인스턴스를 시작할 수 없게 되기 때문에 다른 VPC에서 인스턴스를 시작할 서브넷을 명시적으로 지정해야 합니다. 다른 VPC가 없으면 기본이 아닌 VPC와 기본이 아닌 서브넷을 만들어야 합니다. 자세한 내용은 VPC 만들기 단원을 참조하십시오.

기본 VPC를 삭제한 경우 새로 만들 수 있습니다. 자세한 내용은 기본 VPC 만들기 단원을 참조하십시오.

기본 서브넷을 삭제한 경우 새로 만들 수 있습니다. 자세한 내용은 기본 서브넷 생성 단원을 참조하십시오. 대신 기본 VPC에 기본이 아닌 서브넷을 만들고 AWS Support에 연락하여 해당 서브넷을 기본 서브넷으로 설정하도록 요청하십시오. 이때 AWS 계정 ID, 리전, 서브넷 ID를 알려 주셔야 합니다. 새로운 기본 서브넷이 정상적으로 동작하는지 확인하려면 서브넷 속성을 수정하여 해당 서브넷에서 시작되는 인스턴스에 퍼블릭 IP 주소를 할당하십시오. 자세한 내용은 서브넷의 퍼블릭 IPv4 주소 지정 속성 수정 단원을 참조하십시오. 가용 영역당 기본 서브넷은 한 개만 가질 수 있습니다. 기본 VPC가 아닌 VPC에는 기본 서브넷을 생성할 수 없습니다.

기본 VPC 만들기

기본 VPC를 삭제한 경우 새로 만들 수 있습니다. 기본 VPC를 삭제하면 복구할 수 없으며, 기본 VPC가 아닌 기존 VPC를 기본 VPC로 설정할 수도 없습니다. 귀하의 계정에서 EC2-Classic을 지원할 경우 이 절차를 사용하여 EC2-Classic을 지원하는 리전에 기본 VPC를 만들 수 없습니다.

기본 VPC를 만들면 각 가용 영역의 기본 서브넷을 비롯하여 기본 VPC의 표준 구성 요소 와 함께 생성됩니다. 구성 요소를 직접 지정할 수 없습니다. 새로운 기본 VPC의 서브넷 CIDR 블록은 기존 기본 VPC와 동일한 가용 영역에 매핑되지 않을 수 있습니다. 예를 들어 기존 기본 VPC에서 CIDR 블록 172.31.0.0/20을 포함하는 서브넷이 us-east-2a에 생성된 경우, 새로운 기본 VPC에서는 us-east-2b에 생성될 수 있습니다.

리전에 기본 VPC가 이미 있으면 다른 기본 VPC를 만들 수 없습니다.

Amazon VPC 콘솔을 사용하여 기본 VPC를 만들려면

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

  2. 탐색 창에서 Your VPCs를 선택합니다.

  3. [Actions], [Create Default VPC]를 선택합니다.

  4. Create를 선택합니다. 확인 화면을 닫습니다.

명령줄을 사용하여 기본 VPC를 만들려면

  • create-default-vpc AWS CLI 명령을 사용하면 됩니다. 이 명령에는 입력 파라미터가 없습니다.

    aws ec2 create-default-vpc
    { "Vpc": { "VpcId": "vpc-3f139646", "InstanceTenancy": "default", "Tags": [], "Ipv6CidrBlockAssociationSet": [], "State": "pending", "DhcpOptionsId": "dopt-61079b07", "CidrBlock": "172.31.0.0/16", "IsDefault": true } }

또는 New-EC2DefaultVpc Windows PowerShell용 도구 명령이나 CreateDefaultVpc Amazon EC2 API 작업을 사용할 수 있습니다.

기본 서브넷 생성

기본 서브넷이 없는 가용 영역에서 기본 서브넷을 생성할 수 있습니다. 예를 들어 기본 서브넷을 삭제한 경우 이를 생성하고자 할 수 있습니다. 또는 AWS가 새 가용 영역을 추가했지만 기본 VPC에서 해당 영역에 대한 기본 서브넷을 자동적으로 생성하지 않은 경우가 있습니다.

기본 서브넷을 생성할 때, 기본 VPC의 다음 사용 가능한 연속 공간에 IPv4 CIDR 블록의 크기가 /20인 서브넷이 생성됩니다. 다음 규칙이 적용됩니다.

  • CIDR 블록을 직접 지정할 수 없습니다.

  • 삭제한 이전 기본 서브넷을 복원할 수 없습니다.

  • 가용 영역당 기본 서브넷은 한 개만 가질 수 있습니다.

  • 기본 VPC가 아닌 VPC에는 기본 서브넷을 생성할 수 없습니다.

CIDR 블록 크기 /20을 생성할 충분한 주소 공간이 기본 VPC에 없는 경우 요청은 실패합니다. 더 많은 주소 공간이 필요한 경우 VPC에 IPv4 CIDR 블록을 추가할 수 있습니다.

기본 VPC에 IPv6 CIDR 블록을 연결한 경우 새로운 기본 서브넷이 자동적으로 IPv6 CIDR 블록을 수신하지 않습니다. 대신 기본 서브넷을 생성한 다음 이에 IPv6 CIDR 블록을 연결할 수 있습니다. 자세한 내용은 IPv6 CIDR 블록을 서브넷에 연결 단원을 참조하십시오.

현재는 AWS CLI AWS SDK 또는 Amazon EC2 API만을 사용하여 기본 서브넷을 생성할 수 있습니다.

명령줄을 사용하여 기본 서브넷을 생성하려면

  • create-default-subnet AWS CLI 명령을 사용하고 서브넷을 생성할 가용 영역을 지정합니다.

    aws ec2 create-default-subnet --availability-zone us-east-2a
    { "Subnet": { "AvailabilityZone": "us-east-2a", "Tags": [], "AvailableIpAddressCount": 4091, "DefaultForAz": true, "Ipv6CidrBlockAssociationSet": [], "VpcId": "vpc-1a2b3c4d", "State": "available", "MapPublicIpOnLaunch": true, "SubnetId": "subnet-1122aabb", "CidrBlock": "172.31.32.0/20", "AssignIpv6AddressOnCreation": false } }

    또는 CreateDefaultSubnet Amazon EC2 API 작업을 사용할 수 있습니다.