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

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

AWS Cloud Map 使用示例 AWS CLI

以下代码示例向您展示了如何使用with来执行操作和实现常见场景 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。有关更多信息,请参阅获取操作。

有关更多信息,请参阅 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中的。