AWS Cloud Map 範例使用 AWS CLI - AWS Command Line Interface

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWS Cloud Map 範例使用 AWS CLI

下列程式碼範例說明如何使用 AWS Command Line Interface 與來執行動作及實作常見案例 AWS Cloud Map。

Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然動作會告訴您如何呼叫個別服務函數,但您可以在其相關情境和跨服務範例中查看內容中的動作。

Scenarios (案例) 是向您展示如何呼叫相同服務中的多個函數來完成特定任務的程式碼範例。

每個範例都包含一個連結 GitHub,您可以在其中找到如何在內容中設定和執行程式碼的指示。

主題

動作

下列程式碼範例會示範如何使用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。如需詳細資訊,請參閱取得作業

如需詳細資訊,請參閱 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。如需詳細資訊,請參閱取得作業

如需詳細資訊,請參閱 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。如需詳細資訊,請參閱取得作業

如需詳細資訊,請參閱 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" } } ] }

下列程式碼範例會示範如何使用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。如需詳細資訊,請參閱取得作業

如需詳細資訊,請參閱 AWS Cloud Map 開發人員指南中的註冊執行個體

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考RegisterInstance中的。