애플리케이션 서비스를 그룹화하기 위한 AWS Cloud Map 네임스페이스 생성 - AWS Cloud Map

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

애플리케이션 서비스를 그룹화하기 위한 AWS Cloud Map 네임스페이스 생성

네임스페이스를 생성하여 API 호출 또는 DNS 쿼리를 통해 애플리케이션 리소스를 검색할 수 있는 친숙한 이름으로 애플리케이션 서비스를 그룹화할 수 있습니다.

인스턴스 검색 옵션

다음 표에는 애플리케이션의 서비스 AWS Cloud Map 및 설정에 따라 생성할 수 있는 다양한 인스턴스 검색 옵션과 해당 네임스페이스 유형이 요약되어 있습니다.

네임스페이스 유형 인스턴스 검색 방법 작동 방식 추가 정보
HTTP API 호출 애플리케이션의 리소스는 DiscoverInstances API를 호출하기만 하면 다른 리소스를 검색할 수 있습니다.
프라이빗 DNS VPC에서의 API 호출 및 DNS 쿼리

애플리케이션의 리소스는 DiscoverInstances API를 호출하고 자동으로 생성되는 프라이빗 Route 53 호스팅 영역의 네임서버를 쿼리하여 다른 리소스를 검색할 수 있습니다. AWS Cloud Map

에서 생성한 호스팅 영역은 네임스페이스와 이름이 AWS Cloud Map 같으며 service-name 형식의 이름을 가진 DNS 레코드를 포함합니다. 네임스페이스-이름.

참고

Route 53 해석기는 프라이빗 호스팅 영역의 레코드를 사용하여 VPC에서 시작되는 DNS 쿼리를 해석합니다. 프라이빗 호스팅 영역에 DNS 쿼리의 도메인 이름과 일치하는 레코드가 없는 경우, Route 53에서는 NXDOMAIN(존재하지 않는 도메인)를 사용하여 쿼리에 응답합니다.

퍼블릭 DNS API 호출 및 퍼블릭 DNS 쿼리

애플리케이션의 리소스는 DiscoverInstances API를 호출하고 자동으로 생성되는 퍼블릭 Route 53 호스팅 영역의 네임서버를 쿼리하여 다른 리소스를 검색할 수 있습니다. AWS Cloud Map

퍼블릭 호스팅 영역은 네임스페이스와 이름이 동일하며 service-name 형식의 이름을 가진 DNS 레코드를 포함합니다. 네임스페이스-이름.

참고

이 경우 네임스페이스 이름은 등록한 도메인 이름이어야 합니다.

절차

다음 단계에 따라 AWS CLI AWS Management Console, 또는 Python용 SDK를 사용하여 네임스페이스를 만들 수 있습니다.

AWS Management Console
  1. 에 AWS Management Console 로그인하고 https://console.aws.amazon.com/cloudmap/ 에서 AWS Cloud Map 콘솔을 엽니다.

  2. Create namespace(네임스페이스 생성)를 선택합니다.

  3. 네임스페이스 이름에는 인스턴스를 검색하는 데 사용할 이름을 입력합니다.

    참고
    • 퍼블릭 DNS 쿼리용으로 구성된 네임스페이스는 최상위 도메인으로 끝나야 합니다. 예를 들어 .com입니다.

    • 이름을 먼저 퓨니코드로 변환하는 경우에는 다국어 도메인 이름(IDN)을 지정할 수 있습니다. 온라인 변환기에 대한 자세한 내용은 인터넷에서 "punycode converter"를 검색하세요.

      또한 네임스페이스를 프로그래밍 방식으로 생성하는 경우 다국어 도메인 이름을 퓨니코드로 변환할 수 있습니다. 예를 들어, Java를 사용하는 경우 java.net.IDN 라이브러리의 toASCII 메서드를 사용하여 유니코드 값을 퓨니코드로 변환할 수 있습니다.

  4. (선택 사항) 네임스페이스 설명에는 네임스페이스 페이지와 네임스페이스 정보에 표시되는 네임스페이스에 대한 정보를 입력합니다. 이 정보를 사용하여 네임스페이스를 쉽게 식별할 수 있습니다.

  5. 인스턴스 검색의 경우 VPC의 API 호출, API 호출 및 DNS 쿼리, API 호출 및 퍼블릭 DNS 쿼리 중에서 선택하여 각각 HTTP, 프라이빗 DNS 또는 퍼블릭 DNS 네임스페이스를 생성할 수 있습니다. 자세한 정보는 인스턴스 검색 옵션을 참조하세요.

    선택에 따라 다음 단계를 따르세요.

    • VPC에서 API 호출 및 DNS 쿼리를 선택하는 경우, VPC의 경우 네임스페이스를 연결할 가상 사설 클라우드 (VPC) 를 선택합니다.

    • VPC에서 API 호출 및 DNS 쿼리를 선택하거나 API 호출 및 퍼블릭 DNS 쿼리를 선택하는 경우 TTL의 경우 숫자 값을 초 단위로 지정하십시오. TTL (Time to Live) 값은 DNS 해석기가 네임스페이스로 생성된 Route 53 호스팅 영역의 SOA (권한 시작) DNS 레코드 정보를 캐싱하는 기간을 결정합니다. TTL에 대한 자세한 내용은 Amazon Route 53 개발자 안내서의 TTL (초) 을 참조하십시오.

  6. (선택 사항) [Tags] 에서 [Add tags] 를 선택한 다음 네임스페이스에 태그를 지정할 키와 값을 지정합니다. 네임스페이스에 추가할 태그를 하나 이상 지정할 수 있습니다. 태그를 사용하면 AWS 리소스를 분류하여 더 쉽게 관리할 수 있습니다. 자세한 정보는 리소스에 태그 지정하기 AWS Cloud Map을 참조하세요.

  7. Create namespace(네임스페이스 생성)를 선택합니다. 를 사용하여 ListOperations작업 상태를 볼 수 있습니다. 자세한 내용은 AWS Cloud Map API ListOperations참조를 참조하십시오.

AWS CLI
  • 원하는 인스턴스 검색 유형의 명령을 사용하여 네임스페이스를 생성(빨간색 값을 사용자 고유 값으로 대체)합니다.

    • create-http-namespace를 사용하여 HTTP 네임스페이스를 생성합니다. HTTP 네임스페이스를 사용하여 등록하는 서비스 인스턴스는 DiscoverInstances 요청을 사용하여 검색할 수 있지만 DNS를 사용하여 검색할 수 없습니다.

      aws servicediscovery create-http-namespace --name name-of-namespace
    • create-private-dns-namespace를 사용하여 지정된 Amazon VPC 내에서만 볼 수 있는 DNS에 기반한 프라이빗 네임스페이스를 만듭니다. DiscoverInstances 요청을 사용하거나 DNS를 사용하여 프라이빗 DNS 네임스페이스에 등록된 인스턴스를 검색할 수 있습니다.

      aws servicediscovery create-private-dns-namespace --name name-of-namespace --vpc vpc-xxxxxxxxx
    • create-public-dns-namespace를 사용하여 인터넷에서 볼 수 있는 DNS 기반 퍼블릭 네임스페이스를 생성합니다. DiscoverInstances 요청을 사용하거나 DNS를 사용하여 퍼블릭 DNS 네임스페이스에 등록된 인스턴스를 검색할 수 있습니다.

      aws servicediscovery create-public-dns-namespace --name name-of-namespace
AWS SDK for Python (Boto3)
  1. 아직 Boto3이 설치되지 않은 경우, Boto3을 사용하여 여기에서 설치, 구성, 사용에 대한 지침을 찾을 수 있습니다.

  2. Boto3을 가져와서 서비스로 servicediscovery를 사용하세요.

    import boto3 client = boto3.client('servicediscovery')
  3. 원하는 인스턴스 검색 유형의 명령을 사용하여 네임스페이스를 생성(빨간색 값을 사용자 고유 값으로 대체)합니다.

    • create_http_namespace()를 사용하여 HTTP 네임스페이스를 생성합니다. HTTP 네임스페이스를 사용하여 등록하는 서비스 인스턴스는 discover_instances()를 사용하여 검색할 수 있지만 DNS를 사용하여 검색할 수 없습니다.

      response = client.create_http_namespace( Name='name-of-namespace', ) # If you want to see the response print(response)
    • create_private_dns_namespace()를 사용하여 지정된 Amazon VPC 내에서만 볼 수 있는 DNS에 기반한 프라이빗 네임스페이스를 만듭니다. discover_instances()를 사용하거나 DNS를 사용하여 퍼블릭 DNS 네임스페이스에 등록된 인스턴스를 검색할 수 있습니다.

      response = client.create_private_dns_namespace( Name='name-of-namespace', Vpc='vpc-1c56417b', ) # If you want to see the response print(response)
    • create_public_dns_namespace()를 사용하여 인터넷에서 볼 수 있는 DNS 기반 퍼블릭 네임스페이스를 생성합니다. discover_instances() 또는 DNS를 사용하여 퍼블릭 DNS 네임스페이스에 등록된 인스턴스를 검색할 수 있습니다.

      response = client.create_public_dns_namespace( Name='name-of-namespace', ) # If you want to see the response print(response)
    • 예시 응답 출력

      { 'OperationId': 'gv4g5meo7ndmeh4fqskygvk23d2fijwa-k9302yzd', 'ResponseMetadata': { '...': '...', }, }

다음 단계

네임스페이스를 생성한 후 네임스페이스에 서비스를 생성하여 애플리케이션에서 특정 용도에 총체적으로 사용되는 애플리케이션 리소스를 그룹화할 수 있습니다. 서비스는 애플리케이션 리소스를 인스턴스로 등록하기 위한 템플릿 역할을 합니다. AWS Cloud Map 서비스 생성에 대한 자세한 내용은 을 참조하십시오애플리케이션 구성 요소에 대한 AWS Cloud Map 서비스 생성.