AWS CLI를 사용한 AWS Cloud Map 예시 - AWS Command Line Interface

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 \ --vpc vpc-1c56417b

출력:

{ "OperationId": "gv4g5meo7ndmeh4fqskygvk23d2fijwa-k9302yzd" }

작업이 성공했는지 확인하려면 get-operation을 실행합니다. 자세한 내용은 get-operation을 참조하세요.

자세한 내용은 AWS Cloud Map 개발자 안내서네임스페이스 생성을 참조하세요.

다음 코드 예시에서는 create-service의 사용 방법을 보여줍니다.

AWS CLI

서비스 생성

다음 create-service 예시에서는 서비스를 생성합니다.

aws servicediscovery create-service \ --name myservice \ --namespace-id ns-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-id myservice-53

출력:

{ "OperationId": "4yejorelbukcjzpnr6tlmrghsjwpngf4-k98rnaiq" }

작업이 성공했는지 확인하려면 get-operation을 실행합니다. 자세한 내용은 get-operation을 참조하세요.

자세한 내용은 AWS Cloud Map 개발자 안내서서비스 인스턴스 등록 취소를 참조하세요.

다음 코드 예시에서는 discover-instances의 사용 방법을 보여줍니다.

AWS CLI

등록된 인스턴스 검색

다음 discover-instances 예시에서는 등록된 인스턴스를 검색합니다.

aws servicediscovery discover-instances \ --namespace-name example.com \ --service-name myservice \ --max-results 10 \ --health-status ALL

출력:

{ "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-id myservice-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를 참조하세요.