AWS CLI를 사용한 AWS Cloud Map 예시
다음 코드 예시는 AWS Cloud Map과 함께 AWS Command Line Interface를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다.
작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 관련 시나리오의 컨텍스트에 따라 표시되며, 개별 서비스 함수를 직접적으로 호출하는 방법을 보여줍니다.
각 예시에는 전체 소스 코드에 대한 링크가 포함되어 있으며, 여기에서 컨텍스트에 맞춰 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있습니다.
주제
작업
다음 코드 예시에서는 create-private-dns-namespace
의 사용 방법을 보여줍니다.
- AWS CLI
-
프라이빗 DNS 네임스페이스 생성
다음
create-private-dns-namespace
예시에서는 프라이빗 DNS 네임스페이스를 생성합니다.aws servicediscovery create-private-dns-namespace \ --name
example.com
\ --vpcvpc-1c56417b
출력:
{ "OperationId": "gv4g5meo7ndmeh4fqskygvk23d2fijwa-k9302yzd" }
작업이 성공했는지 확인하려면
get-operation
을 실행합니다. 자세한 내용은 get-operation을 참조하세요.자세한 내용은 AWS Cloud Map 개발자 안내서의 네임스페이스 생성을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 CreatePrivateDnsNamespace
를 참조하세요.
-
다음 코드 예시에서는 create-service
의 사용 방법을 보여줍니다.
- AWS CLI
-
서비스 생성
다음
create-service
예시에서는 서비스를 생성합니다.aws servicediscovery create-service \ --name
myservice
\ --namespace-idns-ylexjili4cdxy3xm
\ --dns-config"NamespaceId=ns-ylexjili4cdxy3xm,RoutingPolicy=MULTIVALUE,DnsRecords=[{Type=A,TTL=60}]"
출력:
{ "Service": { "Id": "srv-p5zdwlg5uvvzjita", "Arn": "arn:aws:servicediscovery:us-west-2:803642222207:service/srv-p5zdwlg5uvvzjita", "Name": "myservice", "NamespaceId": "ns-ylexjili4cdxy3xm", "DnsConfig": { "NamespaceId": "ns-ylexjili4cdxy3xm", "RoutingPolicy": "MULTIVALUE", "DnsRecords": [ { "Type": "A", "TTL": 60 } ] }, "CreateDate": 1587081768.334, "CreatorRequestId": "567c1193-6b00-4308-bd57-ad38a8822d25" } }
자세한 내용은 AWS Cloud Map 개발자 안내서의 서비스 생성을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 CreateService
를 참조하세요.
-
다음 코드 예시에서는 delete-namespace
의 사용 방법을 보여줍니다.
- AWS CLI
-
네임스페이스 삭제
다음
delete-namespace
예시에서는 네임스페이스를 삭제합니다.aws servicediscovery delete-namespace \ --id
ns-ylexjili4cdxy3xm
출력:
{ "OperationId": "gv4g5meo7ndmeh4fqskygvk23d2fijwa-k98y6drk" }
작업이 성공했는지 확인하려면
get-operation
을 실행합니다. 자세한 내용은 get-operation을 참조하세요.자세한 내용은 AWS Cloud Map 개발자 안내서의 네임스페이스 삭제를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 DeleteNamespace
를 참조하세요.
-
다음 코드 예시에서는 delete-service
의 사용 방법을 보여줍니다.
- AWS CLI
-
서비스 삭제
다음
delete-service
예시에서는 서비스를 삭제합니다.aws servicediscovery delete-service \ --id
srv-p5zdwlg5uvvzjita
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS Cloud Map 개발자 안내서의 서비스 삭제를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 DeleteService
를 참조하세요.
-
다음 코드 예시에서는 deregister-instance
의 사용 방법을 보여줍니다.
- AWS CLI
-
서비스 인스턴스 등록 취소
다음
deregister-instance
예시에서는 서비스 인스턴스의 등록을 취소합니다.aws servicediscovery deregister-instance \ --service-id
srv-p5zdwlg5uvvzjita
\ --instance-idmyservice-53
출력:
{ "OperationId": "4yejorelbukcjzpnr6tlmrghsjwpngf4-k98rnaiq" }
작업이 성공했는지 확인하려면
get-operation
을 실행합니다. 자세한 내용은 get-operation을 참조하세요.자세한 내용은 AWS Cloud Map 개발자 안내서의 서비스 인스턴스 등록 취소를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 DeregisterInstance
를 참조하세요.
-
다음 코드 예시에서는 discover-instances
의 사용 방법을 보여줍니다.
- AWS CLI
-
등록된 인스턴스 검색
다음
discover-instances
예시에서는 등록된 인스턴스를 검색합니다.aws servicediscovery discover-instances \ --namespace-name
example.com
\ --service-namemyservice
\ --max-results10
\ --health-statusALL
출력:
{ "Instances": [ { "InstanceId": "myservice-53", "NamespaceName": "example.com", "ServiceName": "myservice", "HealthStatus": "UNKNOWN", "Attributes": { "AWS_INSTANCE_IPV4": "172.2.1.3", "AWS_INSTANCE_PORT": "808" } } ] }
-
API 세부 정보는 AWS CLI 명령 참조의 DiscoverInstances
를 참조하세요.
-
다음 코드 예시에서는 get-operation
의 사용 방법을 보여줍니다.
- AWS CLI
-
작업 결과 가져오기
다음
get-operation
예시에서는 작업의 결과를 가져옵니다.aws servicediscovery get-operation \ --operation-id
gv4g5meo7ndmeh4fqskygvk23d2fijwa-k9302yzd
출력:
{ "Operation": { "Id": "gv4g5meo7ndmeh4fqskygvk23d2fijwa-k9302yzd", "Type": "CREATE_NAMESPACE", "Status": "SUCCESS", "CreateDate": 1587055860.121, "UpdateDate": 1587055900.469, "Targets": { "NAMESPACE": "ns-ylexjili4cdxy3xm" } } }
-
API 세부 정보는 AWS CLI 명령 참조의 GetOperation
을 참조하세요.
-
다음 코드 예시에서는 list-instances
의 사용 방법을 보여줍니다.
- AWS CLI
-
서비스 인스턴스 나열
다음
list-instances
예시에서는 서비스 인스턴스를 나열합니다.aws servicediscovery list-instances \ --service-id
srv-qzpwvt2tfqcegapy
출력:
{ "Instances": [ { "Id": "i-06bdabbae60f65a4e", "Attributes": { "AWS_INSTANCE_IPV4": "172.2.1.3", "AWS_INSTANCE_PORT": "808" } } ] }
자세한 내용은 AWS Cloud Map 개발자 안내서의 서비스 인스턴스 목록 보기를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 ListInstances
를 참조하세요.
-
다음 코드 예시에서는 list-namespaces
의 사용 방법을 보여줍니다.
- AWS CLI
-
네임스페이스 나열
다음
list-namespaces
예시에서는 네임스페이스를 나열합니다.aws servicediscovery list-namespaces
출력:
{ "Namespaces": [ { "Arn": "arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-a3ccy2e7e3a7rile", "CreateDate": 1585354387.357, "Id": "ns-a3ccy2e7e3a7rile", "Name": "local", "Properties": { "DnsProperties": { "HostedZoneId": "Z06752353VBUDTC32S84S" }, "HttpProperties": { "HttpName": "local" } }, "Type": "DNS_PRIVATE" }, { "Arn": "arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-pocfyjtrsmwtvcxx", "CreateDate": 1586468974.698, "Description": "My second namespace", "Id": "ns-pocfyjtrsmwtvcxx", "Name": "My-second-namespace", "Properties": { "DnsProperties": {}, "HttpProperties": { "HttpName": "My-second-namespace" } }, "Type": "HTTP" }, { "Arn": "arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-ylexjili4cdxy3xm", "CreateDate": 1587055896.798, "Id": "ns-ylexjili4cdxy3xm", "Name": "example.com", "Properties": { "DnsProperties": { "HostedZoneId": "Z09983722P0QME1B3KC8I" }, "HttpProperties": { "HttpName": "example.com" } }, "Type": "DNS_PRIVATE" } ] }
자세한 내용은 AWS Cloud Map 개발자 안내서의 네임스페이스 목록 보기를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 ListNamespaces
를 참조하세요.
-
다음 코드 예시에서는 list-services
의 사용 방법을 보여줍니다.
- AWS CLI
-
서비스 나열
다음
list-services
예시에서는 서비스를 나열합니다.aws servicediscovery list-services
출력:
{ "Services": [ { "Id": "srv-p5zdwlg5uvvzjita", "Arn": "arn:aws:servicediscovery:us-west-2:123456789012:service/srv-p5zdwlg5uvvzjita", "Name": "myservice", "DnsConfig": { "RoutingPolicy": "MULTIVALUE", "DnsRecords": [ { "Type": "A", "TTL": 60 } ] }, "CreateDate": 1587081768.334 } ] }
자세한 내용은 AWS Cloud Map 개발자 안내서의 서비스 목록 보기를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 ListServices
를 참조하세요.
-
다음 코드 예시에서는 register-instance
의 사용 방법을 보여줍니다.
- AWS CLI
-
서비스 인스턴스 등록
다음
register-instance
예시에서는 서비스 인스턴스를 등록합니다.aws servicediscovery register-instance \ --service-id
srv-p5zdwlg5uvvzjita
\ --instance-idmyservice-53
\ --attributes=AWS_INSTANCE_IPV4=172.2.1.3,AWS_INSTANCE_PORT=808출력:
{ "OperationId": "4yejorelbukcjzpnr6tlmrghsjwpngf4-k95yg2u7" }
작업이 성공했는지 확인하려면
get-operation
을 실행합니다. 자세한 내용은 get-operation을 참조하세요.자세한 내용은 AWS Cloud Map 개발자 안내서의 인스턴스 등록을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 RegisterInstance
를 참조하세요.
-