기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
리소스를 AWS Cloud Map 서비스 인스턴스로 등록
애플리케이션의 리소스를 AWS Cloud Map 서비스의 인스턴스로 등록할 수 있습니다. 예를 들어 사용자 데이터를 관리하는 모든 애플리케이션 리소스users
에 대해 라는 서비스를 생성했다고 가정합니다. 그런 다음이 서비스의 인스턴스로 사용자 데이터를 저장하는 데 사용되는 DynamoDB 테이블을 등록할 수 있습니다.
AWS Cloud Map 콘솔에서는 다음 기능을 사용할 수 없습니다.
-
콘솔을 사용하여 서비스 인스턴스를 등록할 때는 트래픽을 Elastic Load Balancing(ELB) 로드 밸런서로 라우팅하는 별칭 레코드를 생성할 수 없습니다. 인스턴스를 등록할 때 AWS_ALIAS_DNS_NAME
속성을 포함시켜야 합니다. 자세한 내용은 AWS Cloud Map API 참조의 RegisterInstance 섹션을 참조하세요.
-
사용자 지정 상태 확인이 포함된 서비스를 사용하여 인스턴스를 등록하는 경우 사용자 지정 상태 확인에 대한 초기 상태를 지정할 수 없습니다. 기본적으로 사용자 지정 상태 확인의 초기 상태는 정상입니다. 초기 상태를 이상 있음으로 설정하려면 인스턴스를 프로그래밍 방식으로 등록하고 AWS_INIT_HEALTH_STATUS
속성을 포함시킵니다. 자세한 내용은 AWS Cloud Map API 참조의 RegisterInstance 섹션을 참조하세요.
서비스에 인스턴스를 등록하려면 다음 단계를 따르세요.
- AWS Management Console
-
에 로그인 AWS Management Console 하고에서 AWS Cloud Map 콘솔을 엽니다https://console.aws.amazon.com/cloudmap/.
-
탐색 창에서 네임스페이스를 선택합니다.
-
네임스페이스 페이지에서 서비스 인스턴스 등록을 위한 템플릿으로 사용하려는 서비스가 포함된 네임스페이스를 선택합니다.
-
네임스페이스: namespace-name
페이지에서 사용할 서비스를 선택합니다.
-
서비스: service-name
페이지에서 서비스 인스턴스 등록을 선택합니다.
-
서비스 인스턴스 등록 페이지에서 인스턴스 유형을 선택합니다. 네임스페이스 인스턴스 검색 구성에 따라 IP 주소, Amazon EC2 인스턴스 ID 또는 IP 주소가 없는 리소스에 대한 기타 식별 정보를 지정하도록 선택할 수 있습니다.
HTTP 네임스페이스에서만 EC2 인스턴스를 선택할 수 있습니다.
-
서비스 인스턴스 ID에 서비스 인스턴스와 연결된 식별자를 제공합니다.
기존 인스턴스를 업데이트하려면 업데이트하려는 인스턴스와 연결된 식별자를 제공합니다. 그런 다음 다음 단계에 따라 값을 업데이트하고 인스턴스를 다시 등록합니다.
-
선택한 인스턴스 유형에 따라 다음 단계를 수행합니다.
사용자 지정 속성을 지정할 때는 키에 AWS_
접두사(대/소문자를 구분하지 않음)를 사용할 수 없습니다.
인스턴스 유형 |
단계 |
IP 주소
|
-
표준 속성에서 IPv4 주소에 애플리케이션이이 서비스 인스턴스와 연결된 리소스에 액세스할 수 있는 IPv4 주소를 입력합니다.
-
IPv6 주소의 경우 애플리케이션이이 서비스 인스턴스와 연결된 리소스에 액세스할 수 있는 IPv6 IP 주소를 입력합니다.
-
포트에서이 서비스 인스턴스와 연결된 리소스에 액세스하기 위해 애플리케이션에서 포함해야 하는 포트를 지정합니다. 서비스에 SRV 레코드 또는 Amazon Route 53 상태 확인이 포함된 경우 포트가 필요합니다.
-
(선택 사항) 사용자 지정 속성에서 리소스와 연결할 키-값 페어를 지정합니다.
|
EC2 인스턴스 |
-
EC2 인스턴스 ID에서 AWS Cloud Map 서비스 EC2 인스턴스로 등록할 Amazon 인스턴스의 ID를 선택합니다.
-
(선택 사항) 사용자 지정 속성에서 리소스와 연결할 키-값 페어를 지정합니다.
|
다른 리소스에 대한 정보 식별 |
-
표준 속성에서 서비스 구성에 CNAME DNS 레코드가 포함된 경우 CNAME 필드가 표시됩니다. 에서 DNS 쿼리에 대한 응답으로 Route 53가 반환할 도메인 이름을 CNAME지정합니다(예: example.com ).
-
사용자 지정 속성에서 IP 주소 또는 Amazon EC2 인스턴스 ID가 아닌 리소스의 식별 정보를 키-값 페어로 지정합니다. 예를 들어 라는 키를 지정function 하고 Lambda 함수의 이름을 값으로 제공하여 Lambda 함수를 등록할 수 있습니다. 라는 키를 지정name 하고 프로그래밍 방식 인스턴스 검색에 사용할 수 있는 이름을 제공할 수도 있습니다.
|
-
서비스 인스턴스 등록을 선택합니다.
- AWS CLI
-
-
RegisterInstance
요청을 제출하는 경우:
-
에서 지정한 서비스에서 정의한 각 DNS 레코드에 대해 해당 네임스페이스와 연결된 호스팅 영역에 ServiceId
레코드가 생성되거나 업데이트됩니다.
-
서비스에 HealthCheckConfig
가 포함된 경우, 상태 확인 구성의 설정을 기반으로 상태 확인이 생성됩니다.
-
모든 상태 확인은 새 레코드 또는 업데이트된 각 레코드와 연결됩니다.
register-instance
명령을 사용하여 서비스 인스턴스를 등록합니다(red
값을 사용자 고유의 값으로 바꿉니다).
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)
-
-
아직 Boto3
이 설치되지 않은 경우, Boto3
을 사용하여 여기에서 설치, 구성, 사용에 대한 지침을 찾을 수 있습니다.
-
Boto3
을 가져와서 서비스로 servicediscovery
를 사용하세요.
import boto3
client = boto3.client('servicediscovery')
-
RegisterInstance
요청을 제출하는 경우:
-
에서 지정한 서비스에서 정의한 각 DNS 레코드에 대해 해당 네임스페이스와 연결된 호스팅 영역에 ServiceId
레코드가 생성되거나 업데이트됩니다.
-
서비스에 HealthCheckConfig
가 포함된 경우, 상태 확인 구성의 설정을 기반으로 상태 확인이 생성됩니다.
-
모든 상태 확인은 새 레코드 또는 업데이트된 각 레코드와 연결됩니다.
에 서비스 인스턴스를 등록합니다register_instance()
( red
값을 사용자 자신의 값으로 대체).
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': {
'...': '...',
},
}