VPC 엔드포인트 서비스의 DNS 이름 관리
서비스 공급자는 엔드포인트 서비스의 프라이빗 DNS 이름을 구성할 수 있습니다. 서비스 공급자가 기존 퍼블릭 DNS 이름을 엔드포인트 서비스의 프라이빗 DNS 이름으로 사용하는 경우에는 서비스 소비자가 기존 퍼블릭 DNS 이름을 사용하는 애플리케이션을 변경할 필요가 없습니다. 엔드포인트 서비스의 프라이빗 DNS 이름을 구성하려면 먼저 도메인 소유권 확인 검사를 수행하여 도메인 소유 사실을 증명해야 합니다.
고려 사항
-
엔드포인트 서비스당 프라이빗 DNS 이름은 하나만 있을 수 있습니다.
-
프라이빗 DNS 이름에 대해 A 레코드를 생성하지 않아야 합니다. 그래야만 서비스 소비자 VPC의 서버만 프라이빗 DNS 이름을 확인할 수 있습니다.
-
Gateway Load Balancer 엔드포인트에는 프라이빗 DNS 이름이 지원되지 않습니다.
-
도메인을 확인하려면 퍼블릭 호스트 이름 또는 퍼블릭 DNS 공급자가 있어야 합니다.
-
하위 도메인의 도메인은 확인할 수 있습니다. 예를 들어, a.example.com 대신 example.com을 확인할 수 있습니다. 각 DNS 레이블은 최대 63자일 수 있으며 전체 도메인 이름은 총 길이 255자를 초과할 수 없습니다.
하위 도메인을 추가하는 경우 하위 도메인 또는 도메인을 확인해야 합니다. 예를 들어, a.example.com이 있었고 example.com을 확인했다고 가정합시다. 이제 b.example.com을 프라이빗 DNS 이름으로 추가하는 경우 example.com 또는 b.example.com을 확인해야만 서비스 소비자가 해당 이름을 사용할 수 있습니다.
도메인 소유권 확인
도메인은 DNS 공급자를 통해 관리하는 도메인 이름 시스템(DNS) 레코드의 집합과 연결되어 있습니다. TXT 레코드는 DNS 레코드의 한 유형으로 도메인에 대한 추가 정보를 제공하며 이름과 값으로 구성되어 있습니다. 확인 프로세스의 일부로 퍼블릭 도메인의 DNS 서버에 TXT 레코드를 추가해야 합니다.
도메인의 DNS 설정에 TXT 레코드가 있다는 것이 확인되면 도메인 소유권 확인이 완료됩니다.
레코드를 추가한 후에는 Amazon VPC 콘솔을 사용하여 도메인 확인 프로세스의 상태를 확인할 수 있습니다. 탐색 창에서 엔드포인트 서비스(Endpoint services)를 선택합니다. 엔드포인트 서비스를 선택하고 Details(세부 정보) 탭에서 Domain verification status(도메인 확인 상태)의 값을 확인합니다. 도메인 확인이 보류 중인 경우 몇 분 더 기다렸다가 화면을 새로 고칩니다. 필요한 경우 확인 프로세스를 수동으로 시작할 수 있습니다. Actions(작업), Verify domain ownership for private DNS name(프라이빗 DNS 이름에 대한 도메인 소유권 확인)을 차례로 선택합니다.
프라이빗 DNS 이름은 확인 상태가 verified(확인됨)인 경우 서비스 소비자가 사용할 수 있습니다. 확인 상태가 변경되는 경우 새 연결 요청이 거부되지만 기존 연결은 영향을 받지 않습니다.
확인 상태가 failed(실패)인 경우 도메인 확인 문제 해결 섹션을 참조하세요.
이름 및 값 가져오기
TXT 레코드에 사용하는 이름과 값은 제공됩니다. 예를 들어 AWS Management Console에서 이 정보를 사용할 수 있습니다. 엔드포인트 서비스를 선택하고 엔드포인트 서비스의 Details(세부 정보) 탭에서 Domain verification name(도메인 확인 이름) 및 Domain verification value(도메인 확인 값)를 확인합니다. 또한 다음과 같은 describe-vpc-endpoint-service-configurations AWS CLI 명령을 사용하여 지정된 엔드포인트 서비스에 대한 프라이빗 DNS 이름의 구성에 관한 정보를 검색할 수도 있습니다.
aws ec2 describe-vpc-endpoint-service-configurations \ --service-ids
vpce-svc-071afff70666e61e0
\ --query ServiceConfigurations[*].PrivateDnsNameConfiguration
출력의 예는 다음과 같습니다. Value
및 Name
은 TXT 레코드를 생성할 때 사용합니다.
[ { "State": "pendingVerification", "Type": "TXT", "Value": "vpce:l6p0ERxlTt45jevFwOCp", "Name": "_6e86v84tqgqubxbwii1m" } ]
예를 들어 도메인 이름이 example.com이고 Value
및 Name
이 앞의 출력 예와 같다고 가정합니다. TXT 레코드 설정의 예는 다음 표와 같습니다.
명칭 | 유형 | 값 |
---|---|---|
_6e86v84tqgqubxbwii1m.example.com |
TXT |
vpce:l6p0ERxlTt45jevFwOCp |
기본 도메인 이름은 이미 사용 중일 수 있으므로 Name
을 레코드 하위 도메인으로 사용하는 것이 좋습니다. 그러나 DNS 공급자가 DNS 레코드 이름에 밑줄 사용을 허용하지 않는 경우에는 TXT 레코드에서 “_6e86v84tqgqubxbwii1m”을 생략하고 “example.com”만 사용할 수 있습니다.
“_6e86v84tqgqubxbwii1m.example.com”이 확인되면 서비스 소비자는 “example.com”이나 하위 도메인(예: “service.example.com” 또는 “my.service.example.com”)을 사용할 수 있습니다.
도메인의 DNS 서버에 TXT 레코드 추가
도메인의 DNS 서버에 TXT 레코드를 추가하는 절차는 DNS 서비스를 누가 제공하는지에 따라 다릅니다. DNS 공급자가 Amazon Route 53 또는 다른 도메인 이름 등록자일 수 있습니다.
퍼블릭 호스팅 영역에 대한 레코드를 생성합니다. 다음 값을 사용합니다.
-
레코드 유형(Record type)에 대해 TXT를 선택합니다.
-
TTL(초)(TTL (seconds))에
1800
을 입력합니다. -
라우팅 정책(Routing policy)에 대해 단순 라우팅(Simple routing)을 선택합니다.
-
Record name(레코드 이름)에 도메인 또는 하위 도메인을 입력합니다.
-
값/트래픽 라우팅 대상(Value/Route traffic to)에 도메인 확인 값을 입력합니다.
자세한 내용은 Amazon Route 53 개발자 가이드에서 콘솔을 사용하여 레코드 생성을 참조하세요.
DNS 공급자의 웹 사이트로 이동하여 계정에 로그인합니다. 도메인의 DNS 레코드를 업데이트할 페이지를 찾습니다. AWS에서 제공한 이름과 값이 포함된 TXT 레코드를 추가합니다. DNS 레코드 업데이트가 적용되려면 최대 48시간이 걸릴 수 있지만, 대개는 이보다 훨씬 더 빨리 적용됩니다.
더 구체적인 지침은 DNS 공급자의 설명서를 참조하세요. 다음 표에는 몇몇 일반적인 DNS 공급자의 설명서 링크가 나와 있습니다. 이 목록은 전체를 포함하지도 않으며 해당 회사에서 제공하는 제품이나 서비스를 추천하기 위한 것도 아닙니다.
DNS/호스팅 공급자 | 설명서 링크 |
---|---|
GoDaddy |
|
Dreamhost |
|
Cloudflare |
|
HostGator |
|
Namecheap |
|
Names.co.uk |
|
Wix |
TXT 레코드가 게시되었는지 확인
다음 단계에 따라 프라이빗 DNS 이름 도메인 소유권 확인 TXT 레코드가 DNS 서버에 올바르게 게시되었는지 확인할 수 있습니다. 여기서는 Windows 및 Linux에서 사용 가능한 nslookup 명령을 실행합니다.
도메인에 서비스하는 DNS 서버를 쿼리하는 이유는 이들 서버가 도메인에 대한 최신 정보를 포함하고 있기 때문입니다. 도메인 정보가 다른 DNS 서버로 전파되는 데에는 시간이 걸립니다.
TXT 레코드가 DNS 서버에 게시되었는지 확인하려면
-
다음 명령을 사용하여 도메인의 이름 서버를 찾습니다.
nslookup -type=NS
example.com
도메인에 서비스하는 이름 서버가 출력에 나열됩니다. 다음 단계에서 이들 서버 중 하나를 쿼리합니다.
-
다음 명령을 사용하여 TXT 레코드가 올바로 게시되었는지 확인합니다. 여기서
name_server
는 이전 단계에서 찾은 이름 서버 중 하나입니다.nslookup -type=TXT
_6e86v84tqgqubxbwii1m.example.com
name_server
-
이전 단계의 출력에서
text =
다음의 문자열이 TXT 값과 일치하는지 확인합니다.여기 예제에서는 레코드가 올바로 게시된 경우 출력에 다음이 포함됩니다.
_6e86v84tqgqubxbwii1m.example.com text = "vpce:l6p0ERxlTt45jevFwOCp"
도메인 확인 문제 해결
도메인 확인 프로세스가 실패하는 경우 다음 정보를 참조하여 문제를 해결할 수 있습니다.
-
DNS 공급자가 TXT 레코드 이름에 밑줄 사용을 허용하지는 확인합니다. DNS 공급자가 밑줄을 허용하지 않는 경우 TXT 레코드에서 도메인 확인 이름(예: “_6e86v84tqgqubxbwii1m”)을 생략할 수 있습니다.
-
DNS 공급자가 TXT 레코드 끝에 도메인 이름을 추가했는지 확인합니다. 일부 DNS 공급자는 도메인 이름을 TXT 레코드의 속성 이름에 자동으로 추가합니다. 이와 같은 도메인 이름 중복을 방지하려면 TXT 레코드를 생성할 때 도메인 이름의 끝에 마침표를 추가합니다. 그러면 DNS 공급자가 TXT 레코드에 도메인 이름을 추가할 필요가 없음을 알게 됩니다.
-
DNS 공급자가 소문자만 사용하도록 DNS 레코드 값을 수정했는지 확인합니다. 제공된 값과 정확히 일치하는 속성 값이 포함된 확인 레코드가 있는 경우에만 도메인이 확인됩니다. DNS 공급자가 소문자만 사용하도록 TXT 레코드 값을 변경한 경우 DNS 공급자에게 연락하여 지원을 요청하세요.
-
여러 리전이나 여러 AWS 계정을 지원하므로 도메인을 두 번 이상 확인해야 할 수 있습니다. DNS 공급자가 속성 이름이 같은 TXT 레코드가 두 개 이상인 것을 허용하지 않는 경우 DNS 공급자가 동일한 TXT 레코드에 여러 속성 값을 할당하도록 허용하는지 확인합니다. 예를 들어 DNS가 Amazon Route 53을 통해 관리되는 경우 다음 절차를 사용할 수 있습니다.
-
Amazon Route 53 콘솔에서 첫 번째 리전에서 도메인을 확인할 때 생성한 TXT 레코드를 선택합니다.
-
값(Value)에서 기존 속성 값의 끝으로 이동한 다음 Enter 키를 누릅니다.
-
추가 리전에 대한 속성 값을 추가한 다음 레코드 세트를 저장합니다.
DNS 공급자가 동일한 TXT 레코드에 여러 값을 할당하도록 허용하지 않는 경우에는 한 번은 TXT 레코드 속성 이름의 값으로 도메인을 확인하고 또 한 번은 속성 이름에서 값을 제거하고 도메인을 확인할 수 있습니다. 하지만 동일한 도메인을 두 번만 확인할 수 있습니다.
-