본문 바로가기
[AWS]/AWS SAA EXAMTOPICS

[AWS][SAA][EXAMTOPICS] Question 247

by METAVERSE STORY 2022. 7. 5.
반응형

Management has chosen to allow IPv6 on all AWS VPCs. After a period of time, a solutions architect attempts to create a new instance and gets an error indicating that the subnet does not have enough accessible IP address space.

What is the solution architect's role in resolving this?

  • A. Check to make sure that only IPv6 was used during the VPC creation.
  • B. Create a new IPv4 subnet with a larger range, and then launch the instance.
  • C. Create a new IPv6-only subnet with a large range, and then launch the instance.
  • D. Disable the IPv4 subnet and migrate all instances to IPv6 only. Once that is complete, launch the instance.

 

한글 번역

경영진은 모든 AWS VPC에서 IPv6을 허용하도록 선택했습니다. 일정 시간이 지나면 솔루션 설계자가 새 인스턴스를 생성하려고 시도하고 서브넷에 액세스 가능한 IP 주소 공간이 충분하지 않다는 오류가 발생합니다.

이를 해결하기 위한 솔루션 아키텍트의 역할은 무엇입니까?

  • A. VPC 생성 시 IPv6만 사용했는지 확인합니다.
  • B. 범위가 더 넓은 새 IPv4 서브넷을 생성한 다음 인스턴스를 시작합니다.
  • C. 넓은 범위의 IPv6 전용 서브넷을 새로 생성한 후 인스턴스를 시작합니다.
  • D. IPv4 서브넷을 비활성화하고 모든 인스턴스를 IPv6으로만 마이그레이션합니다. 완료되면 인스턴스를 시작합니다.

 

 

 

정답

  • C. Create a new IPv6-only subnet with a large range, and then launch the instance.

 

해설

원래는 B가 맞다. 왜냐하면 IPv6 전용 서브넷은 없었기 때문에 기존 서브넷에 IPv6를 추가하는 것이었다. 그러나 아래 문서에서 볼 수 있듯이 IPv6 전용 서브넷 및 EC2 인스턴스가 공개되었다. 

그러므로 최신화를 반영한다면 C가 정답이라고 생각한다. 

IPv6 전용 서브넷 및 EC2 인스턴스 소개

 2022년 6월 6일

2021년 6월 에 AWS에서 IPv6을 활성화하기 위한 지속적인 노력과 혁신을 발표했습니다 . 오늘 우리는 AWS에서 IPv6 전용 아키텍처를 생성하는 기능으로 기념비적인 한 걸음을 내디뎠습니다. 이번 출시로 Amazon Virtual Private Cloud (VPC)를 통해 이제 듀얼 스택 VPC에서 IPv6 전용 서브넷을 생성하고 Nitro 시스템 에 구축된 EC2 인스턴스를 시작할 수 있습니다.이러한 서브넷에서. 이 기능은 서버리스 및 컨테이너 애플리케이션과 같이 많은 수의 IP 주소를 사용하는 워크로드가 있는 경우에 이상적입니다. IPv4 주소 공간의 제한된 크기로 인해 제약을 받는 워크로드는 이제 AWS의 IPv6 전용 환경으로 마이그레이션하여 확장할 수 있습니다. 또한 이번 출시를 통해 미국 연방 정부 기관에서 설정한 IPv6 전용 네트워크 환경의 채택 요구 사항을 충족하고 번역 소프트웨어 또는 시스템의 필요성을 최소화하여 간소화된 IPv6 전용 아키텍처를 만들 수 있습니다.

VPC 내에서 IPv6 전용 서브넷의 IPv6 CIDR 블록 크기는 고정 접두사 길이가 /64입니다. 이는 2^64(약 18퀸틸리언) IPv6 주소를 제공하며 서브넷에서 IPv4 주소를 지정하지 않고도 AWS에서 배포를 확장할 수 있습니다. IPv6 전용 서브넷에서 시작된 EC2 인스턴스와 이에 연결된 ENI( 탄력적 네트워크 인터페이스 ) 에는 서브넷의 IPv6 CIDR 블록에서 설정된 DHCPv6(동적 호스트 구성 프로토콜 버전 6) 옵션 을 통해 IPv6 주소가 할당됩니다 . 이러한 인스턴스에는 프라이빗 IPv4 주소를 할당할 필요가 없습니다. 인스턴스는 Amazon EC2 Instance Metadata Service , Amazon Time Sync Service 와 같은 로컬 인스턴스 서비스 에 액세스할 수 있습니다.및 IPv6 고유 로컬 주소(ULA)를 통한 Amazon VPC DNS 서버 (Amazon Route 53 Resolver라고도 함). 또한 EC2 인스턴스 게스트 OS 호스트 이름을 구성할 수 있는 리소스 기반 이름 지정(RBN) 이라는 새로운 이름 지정 체계도 도입합니다 . 여기에는 IPv6 주소로 인스턴스를 비공개로 확인할 수 있는 기능도 포함됩니다.

이 블로그 게시물에서는 이중 스택 VPC 내에서 IPv6 전용 서브넷을 생성하고 이 서브넷에서 EC2 인스턴스를 시작하는 방법을 배웁니다. 또한 리소스 기반 이름 지정 및 IPv6 끝점을 통해 로컬 인스턴스 서비스에 액세스하는 방법에 대해 알아봅니다.

이제 IPv6 전용 서브넷을 생성하고 이 서브넷 내에서 EC2 인스턴스를 시작하여 시작하겠습니다.

전제 조건

설정을 시작하기 전에 다음 전제 조건이 충족되었는지 확인해야 합니다.

  • 모든 리전에서 새 VPC를 생성하고 VPC와 보조 IPv6 CIDR 블록을 연결했습니다. 선택적으로 보조 IPv6 CIDR 블록이 연결된 기존 VPC를 선택할 수도 있습니다. 블로그의 나머지 부분에서는 이 VPC를 이중 스택 VPC라고 합니다.

이중 스택 VPC 내에서 IPv6 전용 서브넷 생성

AWS Management 콘솔 또는 명령줄 인터페이스 (CLI) 를 사용하여 IPv6 전용 서브넷을 생성할 수 있습니다 . 이 블로그 게시물에서는 콘솔을 사용하여 이를 수행합니다.

  1. Amazon VPC 콘솔 을 열고 서브넷 으로 이동 한 다음 아래 그림 1과 같이 서브넷 생성 을 클릭 합니다.
  2. 서브넷을 생성할 VPC를 선택하고, 서브넷 이름을 지정하고, 가용 영역을 선택하고, "IPv6-only" 를 활성화하는 확인란을 선택한 다음 256개의 가능한 /64 서브넷 중 하나에 대해 16진수 쌍을 지정합니다. /56 VPC CIDR(예: 20 선택)을 선택하고 체크 아이콘을 선택하여 항목을 확인합니다. 이는 아래 그림 1에 나와 있습니다.
  3. 필요에 따라 서브넷 세부 정보를 지정했으면 생성 을 선택할 수 있습니다 .

그림 1: IPv6 전용 서브넷 생성

나중에 서브넷 ID가 필요하므로 지금 기록해 두십시오. 위의 그림 1에 사용된 IPv6 CIDR 2001:db8:1234:1a00::/56은 IANA가 예약한 문서 전용 접두사 2001:db8::/32에 속하며, 이는 문서화 목적으로만 사용됩니다. 귀하의 경우 AWS에서 제공한 IPv6 주소를 사용하거나 VPC에 대해 자체 IPv6 주소 가져오기 (BYOIPv6)를 사용할 수 있으므로 CIDR이 달라집니다. 이제 서브넷으로 이동하고 특정 서브넷을 선택하여 서브넷이 IPv6 전용인지 확인할 수 있습니다. 세부 정보 ( 아래 그림 2 참조)에서 다음 필드를 찾습니다.

ㅏ. IPv4 CIDR 은 IPv6 전용 서브넷이므로 정의하면 안 됩니다
. b. 사용 가능한 IPv4 주소 는 0이어야 합니다
. c. IPv6 CIDR 은 적절한 CIDR로 채워져야 합니다. 실제로 서브넷의 IPv6 CIDR은 Amazon의 IPv6 주소 풀에서 AWS에서 할당한 IPv6 주소 공간의 하위 집합입니다.
디. IPv6 전용 서브넷이므로 IPv6 전용은 '예'로 설정해야 합니다
. e. 리소스 이름 DNS A 레코드 는 '비활성화'여야 합니다
. f. 리소스 이름 DNS AAAA 레코드 는 '활성화'여야 합니다.

그림 2: IPv6 전용 서브넷 세부 정보

리소스 기반 명명(RBN)

RBN(리소스 기반 이름 지정)은 IPBN(IP 기반 이름 지정) 대신 인스턴스에 대한 새로운 프라이빗 DNS 이름입니다. 인스턴스를 시작하면 EC2 인스턴스 ID 가 인스턴스의 호스트 이름에 포함됩니다. 리소스 기반 이름은 EC2 인스턴스의 수명 동안 존재합니다. IPv6 전용 인스턴스의 프라이빗 DNS 호스트 이름으로 RBN을 사용하면 IPv6 글로벌 유니캐스트 주소(AAAA 레코드)가 반환됩니다.

리소스 기반 호스트 이름 유형으로 EC2 인스턴스를 시작하면 게스트 OS 호스트 이름이 EC2 인스턴스 ID를 사용하도록 구성됩니다. 리소스 기반 이름(RBN)은 다음과 같습니다.

us-east-1의 인스턴스 형식: 예: 다른 AWS 리전의 인스턴스 형식: 예:ec2-instance-id.ec2.internal
i-0123456789abcdef.ec2.internal
ec2-instance-id.region.compute.internal
i-0123456789abcdef.us-west-2.compute.internal

위에서 언급했듯이 다음과 같은 새로운 필드를 이해합시다.

호스트 이름 유형 – 이 필드는 EC2 인스턴스의 게스트 OS 호스트 이름에 대한 옵션을 결정합니다. 리소스 이름(RBN) 또는 IP 이름(IPBN)일 수 있습니다. 인스턴스 호스트 이름은 인스턴스의 IPv4 주소 또는 ID를 기반으로 합니다. 기본값은 서브넷에서 상속됩니다.

DNS 호스트 이름 필드에는 리소스 기반 IPv4(A 레코드) DNS 요청 활성화 및 리소스 기반 IPv6(AAAA 레코드) DNS 요청 활성화 라는 두 가지 속성 이 표시 됩니다.

  • 리소스 기반 IPv4(A 레코드) DNS 요청 활성화 – DNS A 레코드가 있는 리소스 ID를 기반으로 하는 호스트 이름에 대한 DNS 쿼리에 응답할지 여부를 나타냅니다.
  • 리소스 기반 IPv6(AAAA 레코드) DNS 요청 활성화 – DNS AAAA 레코드가 있는 리소스 ID를 기반으로 하는 호스트 이름에 대한 DNS 쿼리에 응답할지 여부를 나타냅니다.

EC2 인스턴스를 IPv6 전용 서브넷으로 시작하면 리소스 기반 이름 지정이 자동으로 사용되며 아래 섹션에서 볼 수 있듯이 "리소스 기반 IPv6(AAAA 레코드) DNS 요청"이 활성화됩니다.

IPv6 전용 서브넷으로 IPv6 전용 EC2 인스턴스 시작

서브넷을 생성한 후 Amazon EC2 콘솔을 사용하여 IPv6 전용 EC2 인스턴스를 IPv6 전용 서브넷으로 시작할 수 있습니다.

  1. Amazon EC2 콘솔 을 열고 인스턴스 시작 을 선택합니다 .
  2. 마법사의 지시를 따릅니다. AMI 및 Nitro 인스턴스 유형(예: t3.micro)을 선택하고 다음: 인스턴스 세부 정보 구성 을 선택합니다 .
  3. Configure Instance Details 페이지 의 네트워크 목록 에서 필수 이중 스택 VPC를 선택했는지 확인한 다음 아래 그림 3과 같이 인스턴스를 시작할 IPv6 전용 서브넷을 선택합니다. 여기에서 다음 필드를 확인할 수 있습니다
    . IPv6 전용 서브넷용이므로 공용 IP 자동 할당 이 비활성화됩니다.
    비. 자동 할당 IPv6 IP 는 수정할 수 있지만 기본 서브넷 설정으로 설정
    됩니다. c. 호스트 이름 유형 은 인스턴스 DNS 이름에 대해 리소스 기반 이름을 사용하도록 자동으로 리소스 이름으로 설정됩니다. 수정할 수 없습니다.
    디. DNS 호스트 이름 옵션이 표시되지만리소스 기반 IPv6(AAAA 레코드) 활성화 DNS 요청 은 리소스 이름에 대한 요청이 이 EC2 인스턴스의 IPv6 주소로 확인되도록 자동으로 확인됩니다.

    그림 3: IPv6 전용 서브넷 내에서 EC2 인스턴스 시작

    이 페이지의 다른 기본 설정을 유지하고 다음: 스토리지 추가 를 선택합니다 .
  4. Configure Security Group ( 보안 그룹 구성 ) 페이지에서 소유하고 있는 기존 보안 그룹 중에서 선택하거나 마법사의 지시에 따라 특정 IPv6 주소 또는 IPv6 주소 범위의 SSH가 인스턴스에 액세스할 수 있도록 하는 새 보안 그룹을 생성합니다. 완료되면 검토  시작 을 선택합니다 .

SSH(Secure Shell)를 사용하여 IPv6 전용 인스턴스에 연결하려면 보안 그룹에 인바운드 규칙을 추가하여 인터넷의 특정 IPv6 주소 또는 IPv6 주소 범위에서 EC2 인스턴스에 액세스하도록 허용해야 합니다. 자세한 내용은 보안 그룹에 규칙 추가 에 대한 설명서를 참조하십시오 . 또한 IPv6 전용 서브넷과 연결된 라우팅 테이블을 수정하고 EC2 인스턴스에 액세스하기 위해 인터넷의 특정 IPv6 주소 또는 IPv6 주소 범위에서 액세스할 수 있도록 경로를 추가해야 합니다. 라우팅 테이블을 구성했으면 다음 명령을 사용하여 IPv6 전용 인스턴스에 SSH로 연결할 수 있습니다. 자세한 내용은  SSH를 사용하여 Linux 인스턴스에 연결에 대한 설명서를 참조하십시오 .

ssh -i /path/my-key-pair.pem my-instance-user-name@my-instance-IPv6-address

최종 사용자가 IPv6 주소 공간을 지원하지 않는 회사 네트워크에 있는 경우 사용자가 먼저 공용 IPv4 주소를 통해 SSH로 연결할 수 있는 이중 스택 서브넷에서 이중 스택 인스턴스를 시작해야 합니다. 그런 다음 해당 이중 스택 인스턴스에서 사용자는 SSH를 통해 IPv6 전용 인스턴스에 연결할 수 있습니다.

IPv6 엔드포인트를 통해 로컬 인스턴스 서비스에 액세스

IPv6 전용 EC2 인스턴스에 SSH로 연결하면 이제 Nitro 시스템에 구축된 인스턴스를 사용하여 IPv6 엔드포인트를 통해 Amazon EC2 Instance Metadata Service, Amazon Time Sync Service 및 Amazon VPC DNS 서버에 액세스할 수 있습니다.

  1. Amazon EC2 인스턴스 메타데이터 서비스는 fd00:ec2::254 IPv6 주소에서 사용할 수 있습니다. IPv6 전용 EC2 인스턴스 내에서 IMDS IPv6 엔드포인트에 액세스하려면 이를 활성화해야 합니다. 인스턴스 메타데이터 서비스의 IPv6 주소는 IMDSv2 명령과 호환됩니다. 현재 AWS SDK 또는 AWS CLI만 사용하여 기존 인스턴스의 인스턴스 메타데이터 옵션을 수정할 수 있습니다. 인스턴스 메타데이터 옵션을 수정하는 데 Amazon EC2 콘솔을 사용할 수 없습니다. IPv6 전용 EC2 인스턴스를 이미 시작한 경우 여기 에 언급된 대로 modify-instance-metadata-options API 호출을 사용하여 IMDS IPv6 엔드포인트에 대한 액세스를 활성화할 수 있습니다 .

aws ec2 modify-instance-metadata-options --instance-id <your-instance-id> --http-protocol-ipv6 enabled

또한 API 또는 CLI를 사용하여 EC2 인스턴스를 시작하는 경우 run-instances API 호출을 사용하여 IMDS IPv6 엔드포인트에 대한 액세스를 활성화할 수 있습니다.

aws --region <region> ec2 run-instances --instance-type <instance-type> --image-id <ami-id> --subnet-id <your-ipv6-only-subnet-id> --key-name <your-keyname> --ipv6-address-count 1 --security-group-ids <your-security-group-id> --metadata-options "HttpEndpoint=enabled,HttpProtocolIpv6=enabled"

IMDS IPv6 엔드포인트에 대한 액세스를 활성화한 후 다음 curl 명령을 사용하여 IPv6 전용 EC2 인스턴스 내에서 액세스할 수 있습니다.

curl -w "\n" --connect-timeout 10 'http://[fd00:ec2::254]/latest/meta-data/hostname'

출력에 다음이 포함되어 있는지 확인하십시오.

예를 들어 us-east-1 리전: 예를 들어 다른 모든 AWS 리전:ec2-instance-id.compute.internal
ec2-instance-id.region.compute.internal

  1. Amazon Time Sync Service는 NTP를 통해 fd00:ec2::123 IPv6 주소에서 사용할 수 있습니다. IPv6 주소를 통해 Amazon Time Sync Service를 사용하도록 IPv6 전용 EC2 인스턴스를 구성하려면 Linux 인스턴스에서
    IPv6 주소로 EC2 인스턴스의 시간 구성에 대한 설명서를 참조하십시오 . Windows 기반 EC2 인스턴스 의 경우 Windows 인스턴스 시간 설정 을 참조하십시오 .

NTP를 통해 Amazon Time Sync Service를 테스트하려면 다음 명령을 실행할 수 있습니다(배포에 ntpdate를 설치해야 함).

ntpdate -q fd00:ec2::123

  1. Amazon VPC DNS 서버는 fd00:ec2::253 IPv6 주소에서 사용할 수 있습니다. IPv6 엔드포인트를 통해 Amazon VPC DNS 서버를 사용하여 DNS 이름 조회를 수행하려면 다음 명령을 실행할 수 있습니다.

dig @fd00:ec2::253 -6 AAAA <domain-name>

dig 출력의 응답 섹션에서 IPv6 주소를 얻었는지 확인합니다.

염두에 두어야 할 사항

  1. IPv6 전용 서브넷에서만 Nitro 시스템을 기반으로 Amazon EC2 인스턴스를 시작할 수 있습니다.
  2. 리소스 기반 이름 지정은 프라이빗 DNS 호스트 이름에만 지원됩니다. 공용 DNS 호스트 이름은 지원되지 않습니다.
  3. IPv6 전용 서브넷 내에서 시작된 EC2 인스턴스에서 IPv4 및 IPv6 엔드포인트를 통해 로컬 인스턴스 서비스에 액세스할 수 있습니다.

지금 사용 가능

IPv6 전용 서브넷, IPv6 전용 EC2 인스턴스 및 리소스 기반 이름 지정은 AWS 아시아 태평양(자카르타) 리전 을 제외한 모든 퍼블릭 AWS 리전에서 사용할 수 있으며 AWS GovCloud(미국 서부), AWS GovCloud(미국 서부)에서 사용할 수 있습니다. East) 및 Sinnet에서 운영하는 Amazon Web Services 중국(베이징) 리전에서 추가 비용 없이 사용할 수 있습니다. [이 기능이 새로운 자카르타 지역에서 지원되지 않음을 명확히 하기 위해 2022년 1월 7일 업데이트됨.]

오늘 바로 사용을 시작할 수 있습니다. Amazon EC2용 AWS 포럼 이나 일반적인 AWS 지원 연락처를 통해 피드백을 보내주십시오 . 이러한 새로운 기능을 시작하려면 다음 문서 링크를 방문하십시오.

IPv6 전용 서브넷 생성 – VPC 및 서브넷

리소스 기반 명명 이해 – Amazon EC2 인스턴스 호스트 이름 유형

IPv6 전용 서브넷 내에서 EC2 인스턴스 시작 – EC2 인스턴스 시작

 

 

 

참조 문서

https://aws.amazon.com/ko/blogs/networking-and-content-delivery/introducing-ipv6-only-subnets-and-ec2-instances/

 

Introducing IPv6-only subnets and EC2 instances | Amazon Web Services

In June 2021, we announced our continued commitment and innovation towards the enablement of IPv6 on AWS. Today, we take a monumental step forward with the ability to create an IPv6-only architecture on AWS. With this launch, Amazon Virtual Private Cloud (

aws.amazon.com

 

반응형

댓글