VPC에 IPv6 지원 추가 - Amazon Virtual Private Cloud

VPC에 IPv6 지원 추가

IPv4만을 지원하는 기존 VPC와 서브넷에서 IPv4만을 사용하도록 구성된 리소스가 있으면 VPC 및 리소스에 대한 IPv6 지원을 추가할 수 있습니다. VPC는 듀얼 스택 모드로 작동할 수 있으므로, 리소스는 IPv4나 IPv6 또는 둘 다를 통해 통신할 수 있습니다. IPv4 및 IPv6 통신 프로토콜은 상호 독립적입니다.

VPC 및 서브넷에 대한 IPv4 지원은 Amazon VPC 및 Amazon EC2의 기본 IP 주소 지정 시스템이므로 비활성화할 수 없습니다.

고려 사항
  • IPv4 전용 서브넷에서 IPv6 전용 서브넷으로의 마이그레이션 경로가 없습니다.

  • 이 예시에서는 퍼블릭 및 프라이빗 서브넷을 포함하는 VPC를 보유하고 있다고 가정합니다. IPv6에서 사용할 새 VPC 생성에 대한 자세한 내용은 VPC 생성 섹션을 참조하세요.

  • IPv6를 사용하여 시작하기 전에 Amazon VPC에 대한 IPv6 주소 지정 기능을 읽어 보시길 바랍니다(IPv4 및 IPv6 비교).

프로세스

다음 표는 VPC에 대해 IPv6를 활성화하는 프로세스의 개요를 간략히 설명합니다

단계 참고
1단계: IPv6 CIDR 블록을 VPC 및 서브넷에 연결 Amazon 제공 또는 BYOIP IPv6 CIDR 블록을 VPC 및 서브넷과 연결합니다.
2단계: 라우팅 테이블 업데이트 라우팅 테이블을 업데이트하여 IPv6 트래픽을 라우팅합니다. 퍼블릭 서브넷의 경우, 서브넷의 모든 IPv6 트래픽을 인터넷 게이트웨이로 라우팅하는 경로를 생성합니다. 프라이빗 서브넷의 경우, 서브넷의 인터넷 바인딩된 모든 IPv6 트래픽을 외부 전용 인터넷 게이트웨이로 라우팅하는 경로를 생성합니다.
3단계: 보안 그룹 규칙 업데이트 보안 그룹 규칙을 업데이트하여 IPv6 주소용 규칙을 포함합니다. 이렇게 하면 IPv6 트래픽이 인스턴스로 그리고 인스턴스로부터 흐르도록 할 수 있습니다. 서브넷으로 가는, 그리고 서브넷에서 나오는 트래픽의 흐름을 제어하기 위해 사용자 지정 네트워크 ACL 규칙을 생성한 경우, IPv6 트래픽에 대한 규칙을 포함시켜야 합니다.
4단계: 인스턴스에 IPv6 주소 할당 서브넷의 IPv6 주소 범위에서 인스턴스에 IPv6 주소를 할당합니다.

예: 퍼블릭 및 프라이빗 서브넷이 있는 VPC에서 IPv6 사용

이 예에서는 VPC에 퍼블릭 및 프라이빗 서브넷이 있습니다. VPC의 NAT 게이트웨이를 통해 인터넷과 아웃바운드 통신을 하는 프라이빗 서브넷에 데이터베이스 인스턴스가 있습니다. 인터넷 게이트웨이를 통해 인터넷에 액세스할 수 있는 퍼블릭 서브넷에 퍼블릭 웹 서버가 있습니다. 다음 다이어그램은 VPC의 아키텍처를 보여줍니다.


                    퍼블릭 및 프라이빗 서브넷이 있는 VPC, NAT 게이트웨이 및 인터넷 게이트웨이

웹 서버 보안 그룹(예: 보안 그룹 ID sg-11aa22bb11aa22bb1)에는 다음과 같은 인바운드 규칙이 포함되어 있습니다.

Type 프로토콜 포트 범위 소스 Comment
모든 트래픽 모두 모두 sg-33cc44dd33cc44dd3 sg-33cc44dd33cc44dd3(데이터베이스 인스턴스)과 연결된 인스턴스에서 나오는 모든 트래픽에 대한 인바운드 액세스 허용
HTTP TCP 80 0.0.0.0/0 HTTP를 통해 인터넷에서 오는 인바운드 트래픽을 허용합니다.
HTTPS TCP 443 0.0.0.0/0 HTTPS를 통해 인터넷에서 오는 인바운드 트래픽을 허용합니다.
SSH TCP 22 203.0.113.123/32 로컬 컴퓨터에서 접근하는 인바운드 SSH 액세스를 허용. 예를 들면, 관리 작업을 수행하기 위해 인스턴스에 연결해야 하는 경우.

데이터베이스 인스턴스 보안 그룹(예: 보안 그룹 ID sg-33cc44dd33cc44dd3)에는 다음과 같은 인바운드 규칙이 포함되어 있습니다.

Type 프로토콜 포트 범위 소스 Comment
MySQL TCP 3306 sg-11aa22bb11aa22bb1 sg-11aa22bb11aa22bb1(웹 서버 인스턴스)과 연결된 인스턴스에서 나오는 MySQL 트래픽에 대한 인바운드 액세스 허용

두 보안 그룹에는 모든 아웃바운드 IPv4 트래픽을 허용하는 기본 아웃바운드 규칙이 있고, 다른 아웃바운드 규칙은 없습니다.

웹 서버는 t2.medium 인스턴스 유형입니다. 데이터베이스 서버는 m3.large입니다.

VPC 및 리소스에서 IPv6를 사용하고 VPC 및 리소스를 듀얼 스택 모드로 작동하고 싶은 경우가 있습니다. 바꿔 말하면 인터넷을 통해 VPC 및 리소스의 리소스들 간에 IPv6 및 IPv4 주소 지정을 모두 사용하는 것입니다.

1단계: IPv6 CIDR 블록을 VPC 및 서브넷에 연결

IPv6 CIDR 블록을 VPC와 연결한 다음, 그 범위의 /64 CIDR 블록을 각 서브넷에 연결할 수 있습니다.

IPv6 CIDR 블록을 VPC와 연결하려면
  1. https://console.aws.amazon.com/vpc/에서 Amazon VPC 콘솔을 엽니다.

  2. 탐색 창에서 사용자 VPC(Your VPCs)를 선택합니다.

  3. 해당 VPC를 선택합니다.

  4. 작업, CIDR 편집을 선택한 후 새 IPv6 CIDR 추가를 선택합니다.

  5. 다음 옵션 중 하나를 선택한 다음 CIDR 선택을 선택합니다.

    • Amazon에서 제공한 IPv6 CIDR 블록 - Amazon의 IPv6 주소 풀에서 IPv6 CIDR 블록을 사용합니다. 네트워크 경계 그룹에서 AWS가 IP 주소를 알리는 그룹을 선택합니다.

    • IPAM에 할당된 IPv6 CIDR 블록 - IPAM 풀의 IPv6 CIDR 블록을 사용합니다. IPAM 풀과 IPv6 CIDR 블록을 선택합니다.

    • 내가 소유한 IPv6 CIDR - IPv6 주소 풀에서 IPv6 CIDR 블록을 사용합니다(BYOIP). IPv6 주소 풀과 IPv6 CIDR 블록을 선택합니다.

  6. 닫기를 선택하세요.

IPv6 CIDR 블록을 서브넷에 연결하려면
  1. https://console.aws.amazon.com/vpc/에서 Amazon VPC 콘솔을 엽니다.

  2. 탐색 창에서 서브넷(Subnets)을 선택합니다.

  3. 서브넷을 선택합니다.

  4. 작업, IPv6 CIDR 편집을 선택한 후 IPv6 CIDR 추가를 선택합니다.

  5. 필요한 경우 CIDR 블록을 편집합니다(예: 00 교체).

  6. Save(저장)를 선택합니다.

  7. 이 절차를 VPC의 다른 서브넷에 반복합니다.

자세한 내용은 IPv6 VPC CIDR 블록 단원을 참조하십시오.

2단계: 라우팅 테이블 업데이트

IPv6 CIDR 블록을 VPC에 연결하면 로컬 경로가 각 라우팅 테이블에 자동으로 추가되어 VPC 내부에서 IPv6 트래픽이 허용됩니다.

인스턴스(예: 웹 서버)가 IPv6 트래픽용 인터넷 게이트웨이를 사용할 수 있도록 퍼블릭 서브넷의 라우팅 테이블을 업데이트해야 합니다. 또한 NAT 게이트웨이에서 IPv6이 지원되지 않기 때문에 인스턴스(예: 데이터베이스 인스턴스)가 IPv6 트래픽용 송신 전용 인터넷 게이트웨이를 사용할 수 있도록 프라이빗 서브넷의 라우팅 테이블을 업데이트해야 합니다.

퍼블릭 서브넷의 라우팅 테이블을 업데이트하려면
  1. https://console.aws.amazon.com/vpc/에서 Amazon VPC 콘솔을 엽니다.

  2. 탐색 창에서 서브넷(Subnets)을 선택합니다. 퍼블릭 서브넷을 선택합니다. 라우팅 테이블 탭에서 라우팅 테이블 ID를 선택하여 라우팅 테이블에 대한 세부 정보 페이지를 엽니다.

  3. 라우팅 테이블을 선택합니다. 라우팅 탭에서 라우팅 편집을 선택합니다.

  4. 라우팅 추가를 선택합니다. 대상에 대해 ::/0을 선택합니다. 대상에 대한 인터넷 게이트웨이의 ID를 선택합니다.

  5. Save changes(변경 사항 저장)를 선택합니다.

프라이빗 서브넷의 라우팅 테이블을 업데이트하려면
  1. https://console.aws.amazon.com/vpc/에서 Amazon VPC 콘솔을 엽니다.

  2. 탐색 창에서 송신 전용 인터넷 게이트웨이를 선택합니다. 송신 전용 인터넷 게이트웨이 생성을 선택합니다. VPC에서 VPC를 선택한 후 송신 전용 인터넷 게이트웨이 만들기를 선택합니다.

    자세한 내용은 송신 전용 인터넷 게이트웨이를 사용하여 아웃바운드 IPv6 트래픽 활성화 단원을 참조하십시오.

  3. 탐색 창에서 서브넷을 선택합니다. 프라이빗 서브넷을 선택합니다. 라우팅 테이블 탭에서 라우팅 테이블 ID를 선택하여 라우팅 테이블에 대한 세부 정보 페이지를 엽니다.

  4. 라우팅 테이블을 선택합니다. 라우팅 탭에서 라우팅 편집을 선택합니다.

  5. 라우팅 추가를 선택합니다. 대상에 대해 ::/0을 선택합니다. 대상에 대한 송신 전용 인터넷 게이트웨이의 ID를 선택합니다.

  6. Save changes(변경 사항 저장)를 선택합니다.

자세한 내용은 라우팅 옵션 예 단원을 참조하십시오.

3단계: 보안 그룹 규칙 업데이트

인스턴스가 IPv6을 통해 트래픽을 보내고 받을 수 있도록 하려면 보안 그룹 규칙을 업데이트하여 IPv6 주소용 규칙을 포함해야 합니다. 예를 들어 위의 예에서, 웹 서버 보안 그룹(sg-11aa22bb11aa22bb1)을 업데이트하여 IPv6 주소로부터 인바운드 HTTP, HTTPS, SSH 액세스를 허용하는 규칙을 추가할 수 있습니다. 데이터베이스 보안 그룹에 대한 인바운드 규칙을 변경할 필요는 없습니다. sg-11aa22bb11aa22bb1의 모든 통신을 허용하는 규칙에는 IPv6 통신이 포함되어 있습니다.

인바운드 보안 그룹 규칙을 업데이트하려면
  1. https://console.aws.amazon.com/vpc/에서 Amazon VPC 콘솔을 엽니다.

  2. 탐색 창에서 보안 그룹을 선택하고 웹 서버 보안 그룹을 선택합니다.

  3. 인바운드 규칙 탭에서 인바운드 규칙 편집을 선택합니다.

  4. IPv4 트래픽이 허용되는 각 규칙에 대해 규칙 추가를 선택하고 해당 IPv6 트래픽이 허용되도록 규칙을 구성합니다. 예를 들어 IPv6를 통한 모든 HTTP 트래픽을 허용하는 규칙을 추가하려면 유형에서 HTTP를 선택하고 소스에서 ::/0을 선택합니다.

  5. 규칙 추가가 완료되면 규칙 저장을 선택합니다.

아웃바운드 보안 그룹 규칙 업데이트

IPv6 CIDR 블록을 VPC와 연결할 경우 모든 IPv6 트래픽을 허용하는 VPC의 보안 그룹에 아웃바운드 규칙이 자동으로 추가됩니다. 그러나 보안 그룹에 대한 원본 아웃바운드 규칙을 수정한 경우, 이 규칙은 자동으로 추가되지 않으므로 IPv6 트래픽에 대한 동등한 수준의 아웃바운드 규칙을 추가해야 합니다.

네트워크 ACL 규칙 업데이트

IPv6 CIDR 블록을 VPC와 연결하면 규칙이 기본 네트워크 ACL에 자동으로 추가되어 IPv6 트래픽이 허용됩니다. 그러나 기본 네트워크 ACL을 수정했거나 사용자 지정 네트워크 ACL을 생성한 경우 IPv6 트래픽에 대한 규칙을 수동으로 추가해야 합니다. 자세한 내용은 네트워크 ACL 작업 단원을 참조하십시오.

4단계: 인스턴스에 IPv6 주소 할당

현재 세대의 모든 인스턴스 유형은 IPv6를 지원합니다. 인스턴스 유형이 IPv6를 지원하지 않는 경우 IPv6 주소를 할당하기 전에 지원되는 인스턴스 유형에 맞게 인스턴스 크기를 조정해야 합니다. 사용하는 프로세스는 선택한 새 인스턴스 유형과 현재 인스턴스 유형과의 호환 가능 여부에 의해 결정됩니다. 자세한 내용은 Linux 인스턴스용 Amazon EC2 사용 설명서인스턴스 유형 변경을 참조하세요. IPv6를 지원하기 위해 새 AMI에서 인스턴스를 실행해야 하는 경우 시작 중에 인스턴스에 IPv6 주소를 할당할 수 있습니다.

인스턴스 유형이 IPv6를 지원한다는 것을 확인했으면 Amazon EC2 콘솔을 사용하여 인스턴스에 IPv6 주소를 할당할 수 있습니다. IPv6 주소는 인스턴스에 대한 주 네트워크 인터페이스(eth0)에 할당됩니다. 자세한 내용은 Linux 인스턴스용 Amazon EC2 사용 설명서인스턴스에 IPv6 주소 할당을 참조하세요.

IPv6 주소를 사용하여 인스턴스에 연결할 수 있습니다. 자세한 내용은 Linux 인스턴스용 Amazon EC2 사용 설명서SSH 클라이언트를 사용하여 Linux 인스턴스에 연결 또는 Windows 인스턴스용 Amazon EC2 사용 설명서IPv6 주소를 사용하여 Windows 인스턴스에 연결을 참조하세요.

운영 체제의 현재 버전에 맞는 AMI를 사용하여 인스턴스를 실행한 경우에는 인스턴스가 IPv6에 대해 구성됩니다. 인스턴스에서 IPv6 주소를 ping할 수 없는 경우에는 운영 체제에 대한 설명서를 참조하여 IPv6를 구성하세요.