

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

# 리소스를 AWS Cloud Map 서비스 인스턴스로 등록
<a name="registering-instances"></a>

애플리케이션의 리소스를 AWS Cloud Map 서비스의 인스턴스로 등록할 수 있습니다. 예를 들어 사용자 데이터를 관리하는 모든 애플리케이션 리소스`users`에 대해 라는 서비스를 생성했다고 가정합니다. 그런 다음 사용자 데이터를이 서비스의 인스턴스로 저장하는 데 사용되는 DynamoDB 테이블을 등록할 수 있습니다.

**참고**  
 AWS Cloud Map 콘솔에서는 다음 기능을 사용할 수 없습니다.  
콘솔을 사용하여 서비스 인스턴스를 등록하는 경우, 트래픽을 Elastic Load Balancing(ELB) 로드 밸런서로 라우팅하는 별칭 레코드를 생성할 수 없습니다. 인스턴스를 등록할 때 `AWS_ALIAS_DNS_NAME` 속성을 포함시켜야 합니다. 자세한 내용은 **AWS Cloud Map API 참조의 [인스턴스 등록](https://docs.aws.amazon.com/cloud-map/latest/api/API_RegisterInstance.html)를 참조하세요.
사용자 지정 상태 확인이 포함된 서비스를 사용하여 인스턴스를 등록하는 경우 사용자 지정 상태 확인에 대한 초기 상태를 지정할 수 없습니다. 기본적으로 사용자 지정 상태 확인의 초기 상태는 **정상**입니다. 초기 상태를 **이상 있음**으로 설정하려면 인스턴스를 프로그래밍 방식으로 등록하고 `AWS_INIT_HEALTH_STATUS` 속성을 포함시킵니다. 자세한 내용은 * API 참조*AWS Cloud Map 의 [인스턴스 등록](https://docs.aws.amazon.com/cloud-map/latest/api/API_RegisterInstance.html)을 참조하세요.

서비스에 인스턴스를 등록하려면 다음 단계를 따릅니다.

------
#### [ AWS Management Console ]

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

1. 탐색 창에서 **네임스페이스**를 선택합니다.

1. **네임스페이스** 페이지에서 서비스 인스턴스 등록을 위한 템플릿으로 사용하려는 서비스가 포함된 네임스페이스를 선택합니다.

1. **네임스페이스: {{namespace-name}}** 페이지에서 사용하려는 서비스를 선택합니다.

1. **서비스: {{service-name}}** 페이지에서 **서비스 인스턴스 등록**을 선택합니다.

1. **서비스 인스턴스 등록** 페이지에서 **인스턴스 유형을** 선택합니다. 네임스페이스 인스턴스 검색 구성에 따라 IP 주소, Amazon EC2 인스턴스 ID 또는 IP 주소가 없는 리소스에 대한 기타 식별 정보를 지정하도록 선택할 수 있습니다.
**참고**  
HTTP 네임스페이스에서만 **EC2 인스턴스**를 선택할 수 있습니다.

1. **서비스 인스턴스 ID**에 서비스 인스턴스와 연결된 식별자를 제공합니다.
**참고**  
기존 인스턴스를 업데이트하려면 업데이트하려는 인스턴스와 연결된 식별자를 제공합니다. 그런 다음 다음 단계에 따라 값을 업데이트하고 인스턴스를 다시 등록합니다.

1. **선택한 인스턴스 유형에** 따라 다음 단계를 수행합니다.
**중요**  
사용자 지정 속성을 지정할 때는 키에 `AWS_` 접두사(대소문자를 구분하지 않음)를 사용할 수 없습니다.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/cloud-map/latest/dg/registering-instances.html)

1. **서비스 인스턴스 등록**을 선택합니다.

------
#### [ AWS CLI ]
+ 

  `RegisterInstance` 요청을 제출하는 경우:
  + `ServiceId`에 지정된 서비스에서 정의한 각 DNS 레코드에 대해 해당 네임스페이스와 연결된 호스팅 영역에서 레코드가 생성되거나 업데이트됩니다.
  + 서비스에 `HealthCheckConfig`가 포함된 경우, 상태 확인 구성의 설정을 기반으로 상태 확인이 생성됩니다.
  + 모든 상태 확인은 새 레코드 또는 업데이트된 각 레코드와 연결됩니다.

  `[register-instance](https://docs.aws.amazon.com/cli/latest/reference/servicediscovery/register-instance.html)` 명령을 사용하여 서비스 인스턴스를 등록({{빨간색}} 값을 사용자 고유 값으로 대체)합니다.

  ```
  aws servicediscovery register-instance \
      --service-id {{srv-xxxxxxxxx}} \
      --instance-id {{myservice-xx}} \
      --attributes={{AWS_INSTANCE_IPV4=172.2.1.3,AWS_INSTANCE_PORT=808}}
  ```

------
#### [ AWS SDK for Python (Boto3) ]

1. 아직 `Boto3`이 설치되지 않은 경우, `Boto3`을 사용하여 [여기](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html#installation)에서 설치, 구성, 사용에 대한 지침을 찾을 수 있습니다.

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

   ```
   import boto3
   client = boto3.client('servicediscovery')
   ```

1. 

   `RegisterInstance` 요청을 제출하는 경우:
   + `ServiceId`에 지정된 서비스에서 정의한 각 DNS 레코드에 대해 해당 네임스페이스와 연결된 호스팅 영역에서 레코드가 생성되거나 업데이트됩니다.
   + 서비스에 `HealthCheckConfig`가 포함된 경우, 상태 확인 구성의 설정을 기반으로 상태 확인이 생성됩니다.
   + 모든 상태 확인은 새 레코드 또는 업데이트된 각 레코드와 연결됩니다.

   `register_instance()`로 서비스 인스턴스를 등록({{빨간색}} 값을 사용자 고유 값으로 대체)합니다.

   ```
   response = client.register_instance(
       Attributes={
           'AWS_INSTANCE_IPV4': '172.2.1.3',
           'AWS_INSTANCE_PORT': '808',
       },
       InstanceId='{{myservice-xx}}',
       ServiceId='{{srv-xxxxxxxxx}}',
   )
   # If you want to see the response
   print(response)
   ```

   예시 응답 출력

   ```
   {
       'OperationId': '4yejorelbukcjzpnr6tlmrghsjwpngf4-k95yg2u7',
       'ResponseMetadata': {
           '...': '...',
       },
   }
   ```

------