호스트 이름 유형
호스트 이름 유형
AWS는 프라이빗(private) 과 퍼블릭(public) 두 가지 유형의 호스트 이름을 제공해요. 아래 표는 프라이빗/퍼블릭 호스트 이름의 주요 차이점(해석 방식, 구성 방식, 각각 언제 사용하면 좋은지)을 비교해 줘요.
출처: 문서
본문
| 프라이빗 호스트 이름 | 퍼블릭 호스트 이름 | |
|---|---|---|
| DNS 해석 | 프라이빗 호스트 이름은 공개 인터넷에서 접근할 수 없는 프라이빗 FQDN을 활성화해요. 프라이빗 호스트 이름은 요청이 VPC 내의 프라이빗 IPv4 및 IPv6 GUA 주소로만 해석되도록 해요. | 퍼블릭 호스트 이름은 공개 인터넷에서 접근할 수 있는 퍼블릭 FQDN을 활성화해요. 퍼블릭 호스트 이름은 요청이 VPC 내의 프라이빗 IPv4와 IPv6 GUA뿐 아니라 인터넷의 퍼블릭 IP로도 해석되도록 해요(split-horizon DNS). |
| 구성 | 프라이빗 호스트 이름은 인스턴스 수준에서 구성돼요. | 퍼블릭 호스트 이름은 네트워크 인터페이스 수준에서 구성돼요. |
| 언제 사용 | VPC 내에서만 해석되는 호스트 이름이 필요할 때, 내부 통신용으로, 내부 명명 체계를 프라이빗으로 유지하고 싶을 때, 외부 DNS 고려 없이 내부 리소스 관리를 단순화하고 싶을 때 | IPv4와 IPv6 모두로 인터넷에서 인스턴스에 접근할 때, IPv4에서 IPv6 환경으로의 원활한 마이그레이션을 지원하고 싶을 때 |
퍼블릭 호스트 이름
인스턴스의 퍼블릭 IPv4 또는 IPv6 주소로 해석되는 호스트 이름을 사용해 EC2 인스턴스에 접근할 수 있고, IPv6로의 전환을 쉽게 만들 수 있어요.
퍼블릭 호스트 이름을 사용하면 다음을 할 수 있어요.
- IPv4와 IPv6 모두로 EC2 인스턴스에 접근해 리소스 연결 방식에 더 큰 유연성을 얻을 수 있어요.
- 원하는 속도로 IPv4에서 IPv6 환경으로 마이그레이션할 수 있어요. 예를 들어 데이터베이스와 애플리케이션 마이그레이션을 분리해 복잡성과 리스크를 줄일 수 있어요.
- 적절한 IP 주소로 자동 해석되는 여러 호스트 이름 옵션(IPv4-only, IPv6-only, dual-stack)을 사용할 수 있어요.
- VPC 내에서 호스트 이름이 프라이빗 IP 주소로 해석되게 하는 split-horizon DNS 덕분에 보안이 개선돼요.
퍼블릭 호스트 이름 유형과 사용 시점
퍼블릭 호스트 이름을 사용하려면 기존 네트워크 인터페이스를 수정해야 해요. 이 섹션은 세 가지 퍼블릭 호스트 이름 유형 옵션을 설명해 주고 어떤 것을 사용할지 결정하도록 도와드려요.
- Dual-stack - IP 기반 이름
- IPv4에서 IPv6로 마이그레이션 중이거나 계획이 있다면 가장 좋은 옵션이에요. IPv4와 IPv6 모두로 연결을 지원해 두 프로토콜 중 어느 것을 쓰는 클라이언트든 유연하게 잡아주고, 클라이언트가 IPv6로 마이그레이션하는 내내 같은 호스트 이름을 유지하게 해 줘요.
- VPC 내부의 요청은 네트워크 인터페이스의 프라이빗 IPv4 주소와 IPv6 GUA(Global Unicast Address) 둘 다로 해석돼요. 인터넷에서의 요청은 네트워크 인터페이스의 퍼블릭 IPv4와 IPv6 GUA 주소 둘 다로 해석돼요.
- 예시: 이 옵션을 선택하면 이 네트워크 인터페이스에 대해 dual-stack FQDN이 생성돼요. 생성되는 FQDN 예시는 다음과 같아요.
f5lnz-0khrm-nt2u3-gyqqt-nbdl5-q3cdpO.ap-southeast-2.ip.aws- 여기서
f5lnz-0khrm-nt2u3-gyqqt-nbdl5-q3cdpO는 네트워크 인터페이스의 기본 퍼블릭 IPv6 주소(f5lnz-0khrm-nt2u3-gyqqt-nbdl5)의 base36 표현과 기본 퍼블릭 IPv4 주소(q3cdpO)의 base36 표현으로 이뤄진 호스트 이름이에요. f5lnz-0khrm-nt2u3-gyqqt-nbdl5는 Amazon DNS 리졸버에 의해 IPv6 GUA 주소FFFF:1407:4:f000:81d:2689:1066:4489로 해석돼요. 이는 네트워크 인터페이스에 할당된 첫 번째 IPv6 GUA예요.q3cdpO는 IPv4 주소52.54.55.56로 해석돼요. 이는 기본 네트워크 인터페이스에 연결된 퍼블릭 IPv4 주소예요.ap-southeast-2는 네트워크 인터페이스가 있는 서브넷의 리전이에요.ip.aws는 AWS가 제공하는 도메인이에요.
- IPv6 - IP 기반 이름
- 이미 IPv6로 마이그레이션했고 IPv6로만 연결이 필요하다면 좋은 옵션이에요.
- VPC 내부 또는 인터넷에서의 요청은 네트워크 인터페이스의 IPv6 GUA로 해석돼요.
- 예시: 이 옵션을 선택하면 이 네트워크 인터페이스에 대해 FQDN이 생성돼요. 생성되는 FQDN 예시는 다음과 같아요.
f5lnz-0khrm-nt2u3-gyqqt-nbdl5.ap-southeast-2.ip.aws- 여기서
f5lnz-0khrm-nt2u3-gyqqt-nbdl5는 네트워크 인터페이스의 기본 퍼블릭 IPv6 주소의 base36 표현인 호스트 이름이에요. f5lnz-0khrm-nt2u3-gyqqt-nbdl5는 Amazon DNS 리졸버에 의해 IPv6 GUA 주소FFFF:1407:4:f000:81d:2689:1066:4489로 해석돼요.ap-southeast-2는 리전,ip.aws는 AWS가 제공하는 도메인이에요.
- IPv4 - IP 기반 이름
- 이 네트워크 인터페이스를 사용하는 인스턴스가 IPv6로의 전환 동안 IPv4 접근을 유지해야 하거나, 인스턴스에서 실행되는 애플리케이션/시스템이 IPv4만 지원한다면 좋은 옵션이에요. IPv4 연결만 유지하면 되고 워크로드가 IPv6를 필요로 하지 않는다면 가장 좋은 선택이에요. 예를 들어 IPv6로 마이그레이션하면서 일부 애플리케이션은 IPv4에 두고, 다른 것들은 IPv6로 옮기기로 결정할 수 있어요.
- VPC 내부의 요청은 네트워크 인터페이스의 프라이빗 기본 IPv4 주소로 해석되고, 인터넷에서의 요청은 네트워크 인터페이스의 퍼블릭 IPv4 주소로 해석돼요.
- 예시: 이 옵션을 선택하면 이 네트워크 인터페이스에 대해 IPv4 지원 퍼블릭 호스트 이름이 생성돼요. 생성되는 DNS 이름 예시는 다음과 같아요.
ec2-52-54-55-66.ap-southeast-2.compute.amazonaws.com- 여기서
ec2-52-54-55-66는 네트워크 인터페이스의 기본 퍼블릭 IPv4 주소에서ec2-뒤에 점을 하이픈으로 바꾼 IP 주소 형식으로 유도된 호스트 이름이에요. ec2-52-54-55-66은 기본 네트워크 인터페이스에 연결된 퍼블릭 IPv4 주소52.54.55.66으로 해석돼요.ap-southeast-2는 리전,compute.amazonaws.com은 IPv4 기반 퍼블릭 호스트 이름용으로 AWS가 제공하는 도메인이에요.
중요 — 위 예시에서 볼 수 있듯이 IP 주소가 호스트 이름을 생성하는 데 사용돼요. 네트워크 인터페이스에 할당된 기본 프라이빗 IPv4 주소나 첫 번째 IPv6 GUA를 바꾸면 IP 주소로 해석되는 호스트 이름 부분이 바뀌고, 이전에 생성된 퍼블릭 호스트 이름은 더 이상 유효하지 않게 돼요. 또한 기본 IPv4 퍼블릭 주소를 바꾸면 Amazon EC2 사용 설명서의 Instance Metadata Service(IMDS)가 다운스트림에서 새로고침되어 EC2 인스턴스 IMDS 메타데이터가 자동으로 업데이트돼요.
퍼블릭 호스트 이름 보기
네트워크 인터페이스가 있는 VPC에 EnableDnsHostnames와 EnableDnsSupport가 둘 다 활성화되어 있지 않으면 정의되거나 생성된 호스트 이름 유형이 없어요.
콘솔
인스턴스 또는 기본 네트워크 인터페이스의 퍼블릭 호스트 이름을 볼 수 있어요.
인스턴스의 호스트 이름 유형과 DNS 이름 보기
- Amazon EC2 콘솔(https://console.aws.amazon.com/ec2/)을 엽니다.
- 탐색 창에서 Instances를 선택합니다.
- 인스턴스의 확인란을 선택합니다.
- Network 탭의 Hostname and DNS 아래에서 다음을 찾습니다: 퍼블릭 호스트 이름 유형, 퍼블릭 DNS, IPv4-only IP 기반 이름, IPv6-only IP 기반 이름, Dualstack IP 기반 이름.
네트워크 인터페이스의 호스트 이름 유형과 DNS 이름 보기
- Amazon EC2 콘솔을 엽니다.
- 탐색 창에서 Network Interfaces를 선택합니다.
- 검색 필드에 인스턴스 ID를 입력하고, 네트워크 인터페이스 ID를 선택해 상세 페이지를 엽니다.
- Hostname and DNS 아래에서 다음을 찾습니다: 퍼블릭 호스트 이름 유형, 퍼블릭 DNS 이름, 퍼블릭 IPv4 DNS 이름, 퍼블릭 IPv6 DNS 이름, 퍼블릭 Dualstack DNS 이름.
AWS CLI
describe-network-interfaces 명령을 사용합니다.
aws ec2 describe-network-interfaces \
--network-interface-id eni-1234567890abcdef0 \
--query NetworkInterfaces[].PublicIpDnsNameOptions
다음은 예시 출력입니다. 호스트 이름 유형이 public-dual-stack-dns-name이므로 DNS 호스트 이름은 PublicDualStackDnsName과 같습니다.
[
{
"DnsHostnameType": "public-dual-stack-dns-name",
"PublicIpv4DnsName": "ec2-52-54-55-66.ap-southeast-2.compute.amazonaws.com",
"PublicIpv6DnsName": "f5lnz-0khrm-nt2u3-gyqqt-nbdl5.ap-southeast-2.ip.aws",
"PublicDualStackDnsName": "f5lnz-0khrm-nt2u3-gyqqt-nbdl5-q3cdpO.ap-southeast-2.ip.aws"
}
]
PowerShell
Get-EC2NetworkInterface cmdlet을 사용합니다.
(Get-EC2NetworkInterface `
-NetworkInterfaceId eni-1234567890abcdef0).PublicIpDnsNameOptions
예시 출력:
DnsHostnameType : public-dual-stack-dns-name
PublicDualStackDnsName : f5lnz-0khrm-nt2u3-gyqqt-nbdl5-q3cdpO.ap-southeast-2.ip.aws
PublicIpv4DnsName : ec2-52-54-55-66.ap-southeast-2.compute.amazonaws.com
PublicIpv6DnsName : f5lnz-0khrm-nt2u3-gyqqt-nbdl5.ap-southeast-2.ip.aws
퍼블릭 호스트 이름 유형 수정하기
퍼블릭 호스트 이름 유형 옵션은 네트워크 인터페이스와 연결된 IP 주소에 따라 달라져요.
- 네트워크 인터페이스에 퍼블릭 IPv4 주소만 있으면 호스트 이름 유형은 IPv4 - IP 기반 이름이어야 해요.
- 네트워크 인터페이스에 IPv6 주소만 있으면 호스트 이름 유형은 IPv6 - IP 기반 이름이어야 해요.
- 네트워크 인터페이스에 퍼블릭 IPv4 주소와 IPv6 주소가 둘 다 있으면 호스트 이름 유형은 Dual-stack - IP 기반 이름이 될 수 있어요.
사전 요구 사항
- 네트워크 인터페이스에 연결된 퍼블릭 IPv4 주소 또는 IPv6 주소가 있어야 해요.
- 네트워크 인터페이스가 있는 VPC에
EnableDnsHostnames와EnableDnsSupport가 활성화되어 있어야 해요(Amazon VPC 사용 설명서의 VPC의 DNS 속성 보기 및 업데이트 참고).
콘솔
퍼블릭 호스트 이름 유형 수정하기
- Amazon EC2 콘솔을 엽니다.
- 탐색 창에서 Network Interfaces를 선택합니다.
- 검색 필드에 인스턴스 ID를 입력하고, 네트워크 인터페이스의 확인란을 선택합니다. 또는 인스턴스 상세 페이지에서 Networking 탭을 선택하고 디바이스 인덱스 0의 네트워크 인터페이스 ID를 선택합니다.
- Actions, Modify public hostname type을 선택합니다.
- 옵션을 선택합니다: Dual-stack - IP 기반 이름, IPv4 - IP 기반 이름, 또는 IPv6 - IP 기반 이름.
- Modify를 선택합니다.
AWS CLI
modify-public-ip-dns-name-options 명령을 사용합니다.
aws ec2 modify-public-ip-dns-name-options \
--network-interface-id eni-1234567890abcdef0 \
--hostname-type public-dual-stack-dns-name
예시 출력:
{
"Successful": true
}
PowerShell
Edit-EC2PublicIpDnsNameOption cmdlet을 사용합니다.
Edit-EC2PublicIpDnsNameOption `
-NetworkInterfaceId eni-1234567890abcdef0 `
-HostNameType public-dual-stack-dns-name
프라이빗 호스트 이름
이 섹션은 인스턴스를 VPC 서브넷에 실행할 때 사용할 수 있는 Amazon EC2 인스턴스 프라이빗 호스트 이름을 설명해요.
프라이빗 호스트 이름은 네트워크 상의 EC2 인스턴스를 구분해 줘요. 예를 들어 네트워크의 일부 또는 모든 인스턴스와 통신하는 스크립트를 실행하려고 할 때 인스턴스의 프라이빗 호스트 이름을 사용할 수 있어요.
프라이빗 호스트 이름 유형
EC2 인스턴스가 VPC에 실행될 때 게스트 OS 호스트 이름에는 두 가지 프라이빗 호스트 이름 유형이 있어요.
- IP name(IP 이름): 레거시 명명 체계로, 인스턴스를 실행할 때 인스턴스의 프라이빗 IPv4 주소가 인스턴스의 호스트 이름에 포함돼요. IP 이름은 EC2 인스턴스의 수명 동안 존재해요. 프라이빗 DNS 호스트 이름으로 사용되면 프라이빗 IPv4 주소(A 레코드)만 반환해요.
- Resource name(리소스 이름): 인스턴스를 실행할 때 EC2 인스턴스 ID가 인스턴스의 호스트 이름에 포함돼요. 리소스 이름은 EC2 인스턴스의 수명 동안 존재해요. 프라이빗 DNS 호스트 이름으로 사용되면 프라이빗 IPv4 주소(A 레코드) 및/또는 IPv6 GUA(AAAA 레코드)를 반환할 수 있어요.
EC2 인스턴스 게스트 OS 호스트 이름 유형은 서브넷 설정에 따라 달라져요.
- 인스턴스가 IPv4-only 서브넷에 실행되면 IP 이름 또는 리소스 이름을 선택할 수 있어요.
- 인스턴스가 dual-stack(IPv4+IPv6) 서브넷에 실행되면 IP 이름 또는 리소스 이름을 선택할 수 있어요.
- 인스턴스가 IPv6-only 서브넷에 실행되면 리소스 이름이 자동으로 사용돼요.
IP 이름
Hostname type이 IP name인 EC2 인스턴스를 실행하면 게스트 OS 호스트 이름이 프라이빗 IPv4 주소를 사용하도록 구성돼요.
- us-east-1 인스턴스 형식:
private-ipv4-address.ec2.internal - 예시:
ip-10-24-34-0.ec2.internal - 다른 모든 AWS 리전 인스턴스 형식:
private-ipv4-address.region.compute.internal - 예시:
ip-10-24-34-0.us-west-2.compute.internal
리소스 이름
IPv6-only 서브넷에 EC2 인스턴스를 실행하면 Hostname type Resource name이 기본으로 선택돼요. IPv4-only 또는 dual-stack(IPv4+IPv6) 서브넷에 인스턴스를 실행하면 Resource name은 선택 가능한 옵션이에요. 인스턴스 실행 후 호스트 이름 구성을 관리할 수 있어요(자세한 내용은 Amazon EC2의 리소스 기반 명명 옵션 변경하기 참고).
Hostname type이 Resource name인 EC2 인스턴스를 실행하면 게스트 OS 호스트 이름이 EC2 인스턴스 ID를 사용하도록 구성돼요.
- us-east-1 인스턴스 형식:
ec2-instance-id.ec2.internal - 예시:
i-0123456789abcdef.ec2.internal - 다른 모든 AWS 리전 인스턴스 형식:
ec2-instance-id.region.compute.internal - 예시:
i-0123456789abcdef.us-west-2.compute.internal
IP 이름과 리소스 이름의 차이
IP 이름과 리소스 이름에 대한 DNS 쿼리는 역호환성을 보장하고 IP 기반 호스트 이름 명명에서 리소스 기반 명명으로 마이그레이션할 수 있도록 공존해요. IP 이름 기반 프라이빗 DNS 호스트 이름의 경우, 인스턴스에 대한 DNS A 레코드 쿼리가 응답되는지 여부를 구성할 수 없어요. 게스트 OS 호스트 이름 설정과 무관하게 DNS A 레코드 쿼리는 항상 응답돼요. 반면 리소스 이름 기반 프라이빗 DNS 호스트 이름의 경우 인스턴스에 대한 DNS A 및/또는 AAAA 쿼리가 응답되는지 여부를 구성할 수 있어요. 응답 동작은 인스턴스를 실행할 때 또는 서브넷을 수정할 때 구성해요(자세한 내용은 Amazon EC2의 리소스 기반 명명 옵션 변경하기 참고).
리소스 이름과 IP 이름을 찾는 위치
호스트 이름 유형인 리소스 이름과 IP 이름을 Amazon EC2 콘솔에서 볼 수 있어요.
EC2 인스턴스를 만들 때
EC2 인스턴스를 만들 때 선택하는 서브넷 유형에 따라 Hostname type Resource name이 사용 가능하거나, 선택된 상태로 수정 불가능할 수 있어요. 이 섹션은 리소스 이름과 IP 이름 호스트 이름 유형을 보게 되는 시나리오를 설명해요.
시나리오 1
마법사에서 EC2 인스턴스를 만들고(콘솔의 Launch instance wizard 참고), 세부 사항을 구성할 때 IPv6-only로 구성한 서브넷을 선택합니다.
이 경우 Hostname type Resource name이 자동으로 선택되고 수정할 수 없어요. DNS Hostname 옵션인 Enable IP name IPv4 (A record) DNS requests와 Enable resource-based IPv4 (A record) DNS requests가 자동으로 선택 해제되고 수정할 수 없어요. Enable resource-based IPv6 (AAAA record) DNS requests는 기본으로 선택되지만 수정할 수 있어요. 선택하면 리소스 이름에 대한 DNS 요청이 이 EC2 인스턴스의 IPv6 주소(AAAA 레코드)로 해석돼요.
시나리오 2
마법사에서 EC2 인스턴스를 만들고, 세부 사항을 구성할 때 IPv4 CIDR 블록 또는 IPv4와 IPv6 CIDR 블록("dual stack")으로 구성한 서브넷을 선택합니다.
이 경우 Enable IP name IPv4 (A record) DNS requests가 자동으로 선택되고 변경할 수 없어요. 즉 IP 이름에 대한 요청이 이 EC2 인스턴스의 IPv4 주소(A 레코드)로 해석돼요.
옵션은 서브넷 구성이 기본값이지만, 서브넷 설정에 따라 이 인스턴스의 옵션을 수정할 수 있어요.
- Hostname type: EC2 인스턴스의 게스트 OS 호스트 이름을 리소스 이름으로 할지 IP 이름으로 할지 결정해요. 기본값은 IP name이에요.
- Enable resource-based IPv4 (A record) DNS requests: 리소스 이름에 대한 요청이 이 EC2 인스턴스의 프라이빗 IPv4 주소(A 레코드)로 해석되는지 결정해요. 기본적으로 선택되지 않아요.
- Enable resource-based IPv6 (AAAA record) DNS requests: 리소스 이름에 대한 요청이 이 EC2 인스턴스의 IPv6 GUA 주소(AAAA 레코드)로 해석되는지 결정해요. 기본적으로 선택되지 않아요.
기존 EC2 인스턴스의 상세 정보를 볼 때
EC2 인스턴스의 Details 탭에서 기존 인스턴스의 호스트 이름 값을 볼 수 있어요.
- Hostname type: IP 이름 또는 리소스 이름 형식의 호스트 이름.
- Private IP DNS name (IPv4 only): 항상 인스턴스의 프라이빗 IPv4 주소로 해석되는 IP 이름.
- Private resource DNS name: 이 인스턴스에 선택된 DNS 레코드로 해석되는 리소스 이름.
- Answer private resource DNS name: 리소스 이름이 IPv4(A), IPv6(AAAA), 또는 IPv4와 IPv6(A와 AAAA) DNS 레코드로 해석되는지 여부.
또한 SSH로 EC2 인스턴스에 직접 연결해 hostname 명령을 입력하면 IP 이름 또는 리소스 이름 형식의 호스트 이름이 표시돼요.
리소스 이름과 IP 이름 중 선택하기
EC2 인스턴스를 실행할 때 Hostname type Resource name을 선택하면 인스턴스가 리소스 이름 형식의 호스트 이름으로 실행돼요. 이 경우 이 EC2 인스턴스의 DNS 레코드는 리소스 이름을 가리킬 수도 있어요. 이렇게 하면 그 호스트 이름이 인스턴스의 IPv4 주소, IPv6 주소, 또는 둘 다로 해석되도록 선택할 수 있는 유연성이 생겨요. 나중에 IPv6를 사용할 계획이거나 지금 이미 dual-stack 서브넷을 사용 중이라면 Hostname type Resource name을 사용하는 게 좋아요. 그래야 DNS 레코드 자체를 변경하지 않고도 인스턴스의 호스트 이름에 대한 DNS 해석을 바꿀 수 있기 때문이에요. 리소스 이름은 EC2 인스턴스에 IPv4 및 IPv6 DNS 해석을 추가하고 제거할 수 있게 해 줘요.
대신 Hostname type IP name을 선택하고 DNS 호스트 이름으로 사용하면 인스턴스의 IPv4 주소로만 해석돼요. 인스턴스에 IPv4 주소와 IPv6 주소가 둘 다 연결돼 있더라도 IPv6 주소로는 해석되지 않아요.
Amazon EC2의 리소스 기반 명명 옵션 변경하기
서브넷에 대한 호스트 이름 유형과 DNS 호스트 이름 구성을 변경할 수 있는데, 이는 그 이후의 모든 인스턴스 실행에 영향을 미칩니다. 또는 인스턴스를 실행한 후 EC2 인스턴스에 대해 변경할 수도 있어요.
리소스 기반 명명 옵션
- Hostname type: 서브넷에 실행된 EC2 인스턴스의 게스트 OS 호스트 이름의 기본 설정을 결정해요. 리소스 이름 또는 IP 이름 중 하나예요.
- Enable DNS hostname IPv4 (A record) requests: 리소스 이름에 대한 DNS 요청/쿼리가 EC2 인스턴스의 프라이빗 IPv4 주소(A 레코드)로 해석되는지 결정해요.
- Enable DNS hostname IPv6 (AAAA record) requests: 리소스 이름에 대한 DNS 요청/쿼리가 EC2 인스턴스의 IPv6 주소(AAAA 레코드)로 해석되는지 결정해요.
서브넷
서브넷 설정을 변경해도 이미 서브넷에 실행된 EC2 인스턴스의 구성은 바뀌지 않아요.
콘솔
Amazon VPC 콘솔을 열고 서브넷을 선택합니다. Actions, Edit subnet settings를 선택합니다. 필요에 따라 설정을 수정하고 변경 사항을 저장합니다.
AWS CLI
modify-subnet-attribute 명령을 사용합니다.
aws ec2 modify-subnet-attribute \
--subnet-id subnet-0abcdef1234567890 \
--private-dns-hostname-type-on-launch resource-name \
--enable-resource-name-dns-a-record-on-launch \
--enable-resource-name-dns-aaaa-record-on-launch
PowerShell
Edit-EC2SubnetAttribute cmdlet을 사용합니다.
Edit-EC2SubnetAttribute `
-SubnetId subnet-0abcdef1234567890 `
-PrivateDnsHostnameTypeOnLaunch ResourceName `
-EnableResourceNameDnsAAAARecordOnLaunch $true `
-EnableResourceNameDnsARecordOnLaunch $true
EC2 인스턴스
고려 사항
- 호스트 이름 유형을 변경하려면 먼저 인스턴스를 중지해야 해요. 다른 두 옵션을 변경하기 위해 인스턴스를 중지할 필요는 없어요.
- 인스턴스 스토어 루트 볼륨이 있는 인스턴스는 중지할 수 없으므로, 호스트 이름 유형과 DNS 호스트 이름 옵션은 인스턴스 실행 시에만 구성할 수 있어요. 인스턴스 스토어 루트 볼륨을 지원하는 인스턴스 유형은 C1, C3, D2, I2, M1, M2, M3, R3, X1뿐이에요.
콘솔
인스턴스의 호스트 이름 유형과 DNS 호스트 이름 옵션 수정하기
- Amazon EC2 콘솔을 엽니다.
- Use resource based naming as guest OS hostname 설정을 변경할 거라면 먼저 EC2 인스턴스를 중지합니다. 그렇지 않으면 이 단계를 건너뜁니다. 인스턴스를 중지하려면 인스턴스를 선택하고 Instance state, Stop instance를 선택합니다.
- 인스턴스를 선택하고 Actions, Instance settings, Change resource based naming options을 선택합니다.
- 설정합니다: Use resource based naming as guest OS hostname(게스트 OS 호스트 이름을 리소스 이름으로 할지 IP 이름으로 할지), Answer DNS hostname IPv4 (A record) requests(리소스 이름에 대한 DNS 요청/쿼리가 이 인스턴스의 프라이빗 IPv4 주소로 해석되는지), Answer DNS hostname IPv6 (AAAA record) requests(리소스 이름에 대한 DNS 요청/쿼리가 이 인스턴스의 IPv6 주소(AAAA 레코드)로 해석되는지).
- Save를 선택합니다.
- 인스턴스를 중지했다면 다시 시작합니다.
AWS CLI
modify-private-dns-name-options 명령을 사용합니다.
aws ec2 modify-private-dns-name-options \
--instance-id i-1234567890abcdef0 \
--private-dns-hostname-type resource-name \
--enable-resource-name-dns-a-record \
--enable-resource-name-dns-aaaa-record
PowerShell
Edit-EC2PrivateDnsNameOption cmdlet을 사용합니다.
Edit-EC2PrivateDnsNameOption `
-InstanceId i-1234567890abcdef0 `
-PrivateDnsHostnameType ResourceName `
-EnableResourceNameDnsAAAARecord $true`
-EnableResourceNameDnsARecord $true
더 알아보기
- EC2 인스턴스 호스트 이름과 도메인 이해하기
- 자체 IP 주소 가져오기(Bring your own IP addresses)