AWS Cloud Map examples using AWS CLI - AWS Command Line Interface

AWS Cloud Map examples using AWS CLI

次のコード例では、AWS Cloud Map で AWS Command Line Interface を使用してアクションを実行し、一般的なシナリオを実装する方法を示しています。

アクションはより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、コンテキスト内のアクションは、関連するシナリオで確認できます。

各例には完全なソースコードへのリンクが含まれており、コードの設定方法と実行方法に関する手順を確認できます。

トピック

アクション

次のコード例は、create-http-namespace を使用する方法を示しています。

AWS CLI

HTTP 名前空間を作成するには

次の create-http-namespace の例では、HTTP 名前空間 example.com を作成します。

aws servicediscovery create-http-namespace \ --name example.com \ --creator-request-id example-request-id

出力:

{ "OperationId": "gv4g5meo7ndmeh4fqskygvk23d2fijwa-k9302yzd" }

オペレーションが成功したことを確認するには、get-operation を実行します。詳細については、「get-operation」を参照してください。

名前空間の作成の詳細については、「AWS Cloud Map Developer Guide」の「Creating an AWS Cloud Map namespace to group application services」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「CreateHttpNamespace」を参照してください。

次のコード例は、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 デベロッパーガイドの「名前空間の作成」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「CreatePrivateDnsNamespace」を参照してください。

次のコード例は、create-public-dns-namespace を使用する方法を示しています。

AWS CLI

パブリック DNS 名前空間を作成するには

次の create-public-dns-namespace の例では、パブリック DNS 名前空間 example.com を作成します。

aws servicediscovery create-public-dns-namespace \ --name example-public-dns.com \ --creator-request-id example-public-request-id \ --properties DnsProperties={SOA={TTL=60}}

出力:

{ "OperationId": "gv4g5meo7ndmeh4fqskygvk23d2fijwa-k9302yzd" }

オペレーションが成功したことを確認するには、get-operation を実行します。

名前空間の作成の詳細については、「AWS Cloud Map Developer Guide」の「Creating an AWS Cloud Map namespace to group application services」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「CreatePublicDnsNamespace」を参照してください。

次の例は、create-service を使用する方法を説明しています。

AWS CLI

例 1: 名前空間 ID を使用してサービスを作成するには

次の create-service の例では、サービスを作成します。

aws servicediscovery create-service \ --name myservice \ --namespace-id ns-ylexjili4cdxy3xm \ --dns-config "RoutingPolicy=MULTIVALUE,DnsRecords=[{Type=A,TTL=60}]"

出力:

{ "Service": { "Id": "srv-abcd1234xmpl5678", "Arn": "arn:aws:servicediscovery:us-west-2:123456789012:service/srv-abcd1234xmpl5678", "ResourceOwner": "123456789012", "Name": "myservice", "NamespaceId": "ns-abcd1234xmpl5678", "DnsConfig": { "NamespaceId": "ns-abcd1234xmpl5678", "RoutingPolicy": "MULTIVALUE", "DnsRecords": [ { "Type": "A", "TTL": 60 } ] }, "Type": "DNS_HTTP", "CreateDate": "2025-08-18T13:45:31.023000-05:00", "CreatorRequestId": "abcd1234-5678-90ab-cdef-xmpl12345678", "CreatedByAccount": "123456789012" } }

詳細については、「AWS Cloud Map デベロッパーガイド」の「アプリケーションコンポーネントの AWS Cloud Map サービスを作成する」を参照してください。

例 2: 名前空間 ARN を使用してサービスを作成するには

次の create-service の例では、名前空間 ID の代わりに名前空間 ARN を使用してサービスを作成します。共有名前空間でサービスを作成するときは、名前空間 ARN を指定する必要があります。

aws servicediscovery create-service \ --name myservice-arn \ --namespace-id arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-abcd1234xmpl5678 \ --dns-config "RoutingPolicy=MULTIVALUE,DnsRecords=[{Type=A,TTL=60}]"

出力:

{ "Service": { "Id": "srv-abcd1234xmpl5678", "Arn": "arn:aws:servicediscovery:us-west-2:123456789012:service/srv-abcd1234xmpl5678", "ResourceOwner": "123456789012", "Name": "myservice-arn", "NamespaceId": "ns-abcd1234xmpl5678", "DnsConfig": { "NamespaceId": "ns-abcd1234xmpl5678", "RoutingPolicy": "MULTIVALUE", "DnsRecords": [ { "Type": "A", "TTL": 60 } ] }, "Type": "DNS_HTTP", "CreateDate": "2025-08-18T13:45:31.023000-05:00", "CreatorRequestId": "abcd1234-5678-90ab-cdef-xmpl12345678", "CreatedByAccount": "123456789012" } }

詳細については、「AWS Cloud Map デベロッパーガイド」の「共有 AWS Cloud Map 名前空間」を参照してください。

  • API の詳細については、AWS CLI コマンドリファレンスの「CreateService」を参照してください。

次の例は、delete-namespace を使用する方法を説明しています。

AWS CLI

例 1: 名前空間を削除するには

次の delete-namespace の例では、名前空間を削除します。

aws servicediscovery delete-namespace \ --id ns-abcd1234xmpl5678

出力:

{ "OperationId": "abcd1234-5678-90ab-cdef-xmpl12345678" }

オペレーションが成功したことを確認するには、get-operation を実行します。詳細については、「get-operation」を参照してください。

詳細については、「AWS Cloud Map デベロッパーガイド」の「AWS Cloud Map 名前空間の削除」を参照してください。

例 2: 名前空間 ARN を使用して名前空間を削除するには

次の delete-namespace の例では、ARN を使用して名前空間を削除します。

aws servicediscovery delete-namespace \ --id arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-abcd1234xmpl5678

出力:

{ "OperationId": "abcd1234-5678-90ab-cdef-xmpl12345678" }

詳細については、「AWS Cloud Map デベロッパーガイド」の「AWS Cloud Map 名前空間の削除」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DeleteNamespace」を参照してください。

次の例は、delete-service-attributes を使用する方法を説明しています。

AWS CLI

例 1: サービス属性を削除するには

次の delete-service-attributes の例では、指定されたサービスに関連付けられているキー Port を持つサービス属性を削除します。

aws servicediscovery delete-service-attributes \ --service-id srv-abcd1234xmpl5678 \ --attributes Port

このコマンドでは何も出力されません。

詳細については、「AWS Cloud Map Developer Guide」の「AWS Cloud Map services」を参照してください。

例 2: ARN を使用してサービス属性を削除するには

次の delete-service-attributes の例では、サービス ARN を使用してサービス属性を削除します。アカウントと共有されている名前空間で作成されたサービスに関連付けられた属性を削除するには、ARN を指定する必要があります。

aws servicediscovery delete-service-attributes \ --service-id arn:aws:servicediscovery:us-west-2:123456789012:service/srv-abcd1234xmpl5678 \ --attributes Port

このコマンドでは何も出力されません。

詳細については、「AWS Cloud Map デベロッパーガイド」の「AWS Cloud Map サービス」および「共有 AWS Cloud Map 名前空間」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DeleteServiceAttributes」を参照してください。

次の例は、delete-service を使用する方法を説明しています。

AWS CLI

例 1: サービスを削除するには

次の delete-service の例では、サービスを削除します。

aws servicediscovery delete-service \ --id srv-abcd1234xmpl5678

このコマンドでは何も出力されません。

詳細については、「AWS Cloud Map デベロッパーガイド」の「AWS Cloud Map サービスの削除」を参照してください。

例 2: ARN を使用してサービスを削除するには

次の delete-service の例では、ARN を使用してサービスを削除します。

aws servicediscovery delete-service \ --id arn:aws:servicediscovery:us-west-2:123456789012:service/srv-abcd1234xmpl5678

このコマンドでは何も出力されません。

詳細については、「AWS Cloud Map デベロッパーガイド」の「AWS Cloud Map サービスの削除」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DeleteService」を参照してください。

次の例は、deregister-instance を使用する方法を説明しています。

AWS CLI

例 1: サービスインスタンスの登録を解除するには

次の deregister-instance の例では、サービスインスタンスの登録を解除します。

aws servicediscovery deregister-instance \ --service-id srv-p5zdwlg5uvvzjita \ --instance-id myservice-53

出力:

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

オペレーションが成功したことを確認するには、get-operation を実行します。詳細については、「get-operation」を参照してください。

詳細については、「AWS Cloud Map デベロッパーガイド」の「サービスインスタンスの登録解除」を参照してください。

例 2: 共有名前空間のサービス ARN を使用してサービスインスタンスの登録を解除するには

次の deregister-instance の例では、サービス ID の代わりにサービス ARN を使用してサービスインスタンスの登録を解除します。アカウントと共有されている名前空間で作成されたサービスからインスタンスを登録解除するには、ARN を指定する必要があります。

aws servicediscovery deregister-instance \ --service-id arn:aws:servicediscovery:us-west-2:123456789012:service/srv-p5zdwlg5uvvzjita \ --instance-id web-server-01

出力:

{ "OperationId": "gv4g5meo7ndmkqjrhpn39wk42xmpl" }

詳細については、「AWS Cloud Map デベロッパーガイド」の「共有 AWS Cloud Map 名前空間」と「AWS Cloud Map サービスインスタンスの登録を解除する」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DeregisterInstance」を参照してください。

次の例は、discover-instances-revision を使用する方法を説明しています。

AWS CLI

例 1: インスタンスのリビジョンを検出するには

次の discover-instances-revision の例では、インスタンスのリビジョンの増加を検出します。

aws servicediscovery discover-instances-revision \ --namespace-name example.com \ --service-name myservice

出力:

{ "InstancesRevision": 123456 }

詳細については、「AWS Cloud Map Developer Guide」の「AWS Cloud Map service instances」を参照してください。

例 2: 特定の所有者アカウントからインスタンスのリビジョンを検出するには

次の discover-instances-revision の例では、特定の所有者アカウントからのインスタンスのリビジョンを検出します。owner-account パラメータは、アカウントと共有されている名前空間内のインスタンスに必要です。

aws servicediscovery discover-instances-revision \ --namespace-name shared-namespace \ --service-name shared-service \ --owner-account 123456789111

出力:

{ "InstancesRevision": 1234567890 }

詳細については、「AWS Cloud Map デベロッパーガイド」の「共有 AWS Cloud Map 名前空間」と「AWS Cloud Map サービスインスタンス」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DiscoverInstancesRevision」を参照してください。

次の例は、discover-instances を使用する方法を説明しています。

AWS CLI

例 1: 登録済みインスタンスを検出するには

次の 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" } } ], "InstancesRevision": 85648075627387284 }

詳細については、「AWS Cloud Map Developer Guide」の「AWS Cloud Map service instances」を参照してください。

例 2: 特定の所有者アカウントからインスタンスを検出するには

次の discover-instances の例では、特定の所有者アカウントから登録されたインスタンスを検出します。このパラメータは、アカウントと共有されている名前空間内のインスタンスを検出するために必要です。

aws servicediscovery discover-instances \ --namespace-name shared-namespace \ --service-name shared-service \ --owner-account 123456789111

出力:

{ "Instances": [ { "InstanceId": "shared-instance-1234", "NamespaceName": "shared-namespace", "ServiceName": "shared-service", "HealthStatus": "HEALTHY", "Attributes": { "AWS_INSTANCE_IPV4": "203.0.113.75", "AWS_INSTANCE_PORT": "80" } } ], "InstancesRevision": 1234567890 }

詳細については、「AWS Cloud Map デベロッパーガイド」の「共有 AWS Cloud Map 名前空間」と「AWS Cloud Map サービスインスタンス」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DiscoverInstances」を参照してください。

次の例は、get-instance を使用する方法を説明しています。

AWS CLI

例 1: インスタンスの詳細を取得するには

次の get-instance の例では、サービスの属性を取得します。

aws servicediscovery get-instance \ --service-id srv-e4anhexample0004 --instance-id i-abcd1234

出力:

{ "ResourceOwner": "123456789012", "Instance": { "Id": "arn:aws:servicediscovery:us-west-2:111122223333;:service/srv-e4anhexample0004", "Attributes": { "AWS_INSTANCE_IPV4": "192.0.2.44", "AWS_INSTANCE_PORT": "80", "color": "green", "region": "us-west-2", "stage": "beta" }, "CreatedByAccount": "123456789012" } }

詳細については、「AWS Cloud Map Developer Guide」の「AWS Cloud Map service instances」を参照してください。

例 2: 共有名前空間のサービス ARN を使用してインスタンスの詳細を取得するには

次の get-instance の例では、サービス ID の代わりにサービス ARN を使用してインスタンスの属性を取得します。アカウントと共有されている名前空間に関連付けられたインスタンスの詳細を取得するには、ARN を指定する必要があります。この例で返されたインスタンスは、アカウント 123456789012 が所有する名前空間にアカウント 123456789111 によって登録されました。

aws servicediscovery get-instance \ --service-id arn:aws:servicediscovery:us-west-2:123456789012:service/srv-p5zdwlg5uvvzjita \ --instance-id web-server-01

出力:

{ "ResourceOwner": "123456789012", "Instance": { "Id": "web-server-01", "Attributes": { "AWS_INSTANCE_IPV4": "203.0.113.15", "AWS_INSTANCE_PORT": "80" }, "CreatedByAccount": "123456789111" } }

クロスアカウント名前空間の共有の詳細については、「AWS Cloud Map デベロッパーガイド」の「共有 AWS Cloud Map 名前空間」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「GetInstance」を参照してください。

次の例は、get-instances-health-status を使用する方法を説明しています。

AWS CLI

例 1: サービスに関連付けられているインスタンスのヘルスステータスを取得するには

次の get-instances-health-status の例では、指定されたサービスに関連付けられているインスタンスのヘルスステータスを取得します。

aws servicediscovery get-instances-health-status \ --service-id srv-e4anhexample0004

出力:

{ "Status": { "i-abcd1234": "HEALTHY", "i-abcd1235": "UNHEALTHY" } }

詳細については、「AWS Cloud Map Developer Guide」の「AWS Cloud Map service instances」を参照してください。

例 2: 共有名前空間のサービス ARN を使用してインスタンスのヘルスステータスを取得するには

次の get-instances-health-status の例では、サービス ID の代わりにサービス ARN を使用してインスタンスのヘルスステータスを取得します。リクエスタのアカウントと共有されている名前空間に関連付けられたインスタンスのヘルスステータスを取得するには、ARN を指定する必要があります。

aws servicediscovery get-instances-health-status \ --service-id arn:aws:servicediscovery:us-west-2:123456789012:service/srv-p5zdwlg5uvvzjita

出力:

{ "Status": { "web-server-01": "HEALTHY", "web-server-02": "UNHEALTHY" } }

詳細については、「AWS Cloud Map デベロッパーガイド」の「AWS Cloud Map サービスインスタンス」と「共有 AWS Cloud Map 名前空間」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「GetInstancesHealthStatus」を参照してください。

次の例は、get-namespace を使用する方法を説明しています。

AWS CLI

例 1: 名前空間の詳細を取得するには

次の get-namespace の例では、指定された名前空間に関する情報を取得します。

aws servicediscovery get-namespace \ --id ns-abcd1234xmpl5678

出力:

{ "Namespace": { "Id": "ns-abcd1234xmpl5678", "Arn": "arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-abcd1234xmpl5678", "ResourceOwner": "123456789012", "Name": "example-http.com", "Type": "HTTP", "Description": "Example.com AWS Cloud Map HTTP Namespace", "Properties": { "DnsProperties": {}, "HttpProperties": { "HttpName": "example-http.com" } }, "CreateDate": "2024-02-23T13:35:21.874000-06:00", "CreatorRequestId": "abcd1234-5678-90ab-cdef-xmpl12345678" } }

詳細については、「AWS Cloud Map Developer Guide」の「AWS Cloud Map namespaces」を参照してください。

例 2: ARN を使用して名前空間の詳細を取得するには

次の get-namespace の例では、ARN を使用して指定された名前空間に関する情報を取得します。アカウントと共有されている名前空間の詳細を取得するには、ARN を指定する必要があります。

aws servicediscovery get-namespace \ --id arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-abcd1234xmpl5678

出力:

{ "Namespace": { "Id": "ns-abcd1234xmpl5678", "Arn": "arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-abcd1234xmpl5678", "ResourceOwner": "123456789012", "Name": "example-http.com", "Type": "HTTP", "Description": "Example.com AWS Cloud Map HTTP Namespace", "Properties": { "DnsProperties": {}, "HttpProperties": { "HttpName": "example-http.com" } }, "CreateDate": "2024-02-23T13:35:21.874000-06:00", "CreatorRequestId": "abcd1234-5678-90ab-cdef-xmpl12345678" } }

詳細については、「AWS Cloud Map デベロッパーガイド」の「共有 AWS Cloud Map 名前空間」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「GetNamespace」を参照してください。

次の例は、get-operation を使用する方法を説明しています。

AWS CLI

例 1: オペレーションの結果を取得するには

次の get-operation の例では、名前空間の作成オペレーションの結果を取得します。

aws servicediscovery get-operation \ --operation-id abcd1234xmpl5678abcd1234xmpl5678-abcd1234

出力:

{ "Operation": { "Id": "abcd1234xmpl5678abcd1234xmpl5678-abcd1234", "Type": "CREATE_NAMESPACE", "Status": "SUCCESS", "CreateDate": "2025-01-13T13:35:21.874000-06:00", "UpdateDate": "2025-01-13T13:36:02.469000-06:00", "Targets": { "NAMESPACE": "ns-abcd1234xmpl5678" } } }

詳細については、「AWS Cloud Map Developer Guide」の「Creating an AWS Cloud Map namespace to group application services」を参照してください。

例 2: 特定の所有者アカウントからオペレーションを取得するには

次の get-operation の例では、特定の名前空間所有者アカウントに関連付けられたオペレーションの結果を取得します。このパラメータは、アカウントと共有されている名前空間に関連付けられたオペレーションの結果を取得するために必要です。

aws servicediscovery get-operation \ --operation-id abcd1234xmpl5678abcd1234xmpl5678-abcd1234 \ --owner-account 123456789111

出力:

{ "Operation": { "Id": "abcd1234xmpl5678abcd1234xmpl5678-abcd1234", "OwnerAccount": "123456789111", "Type": "CREATE_NAMESPACE", "Status": "SUCCESS", "CreateDate": "2025-01-13T13:35:21.874000-06:00", "UpdateDate": "2025-01-13T13:36:02.469000-06:00", "Targets": { "NAMESPACE": "ns-abcd1234xmpl5678" } } }

詳細については、「AWS Cloud Map デベロッパーガイド」の「共有 AWS Cloud Map 名前空間」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「GetOperation」を参照してください。

次の例は、get-service-attributes を使用する方法を説明しています。

AWS CLI

例 1: サービスの属性を取得するには

次の get-service-attributes の例では、サービスの属性を取得します。

aws servicediscovery get-service-attributes \ --service-id srv-abcd1234xmpl5678

出力:

{ "ServiceAttributes": { "ServiceArn": "arn:aws:servicediscovery:us-west-2:123456789012:service/srv-abcd1234xmpl5678", "ResourceOwner": "123456789012", "Attributes": { "Port": "80" } } }

詳細については、「AWS Cloud Map Developer Guide」の「AWS Cloud Map services」を参照してください。

例 2: ARN を使用してサービスの属性を取得するには

次の get-service-attributes の例では、ARN を使用してサービスの属性を取得します。アカウントと共有されている名前空間で作成されたサービスの属性を取得するには、ARN を指定する必要があります。

aws servicediscovery get-service-attributes \ --service-id arn:aws:servicediscovery:us-west-2:123456789012:service/srv-abcd1234xmpl5678

出力:

{ "ServiceAttributes": { "ServiceArn": "arn:aws:servicediscovery:us-west-2:123456789012:service/srv-abcd1234xmpl5678", "ResourceOwner": "123456789012", "Attributes": { "Port": "80" } } }

詳細については、「AWS Cloud Map デベロッパーガイド」の「AWS Cloud Map サービス」および「共有 AWS Cloud Map 名前空間」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「GetServiceAttributes」を参照してください。

次の例は、get-service を使用する方法を説明しています。

AWS CLI

例 1: サービスの設定を取得するには

次の get-service の例では、指定されたサービスの設定を取得します。

aws servicediscovery get-service \ --id srv-abcd1234xmpl5678

出力:

{ "Service": { "Id": "srv-abcd1234xmpl5678", "Arn": "arn:aws:servicediscovery:us-west-2:123456789012:service/srv-abcd1234xmpl5678", "ResourceOwner": "123456789012", "Name": "test-service", "NamespaceId": "ns-abcd1234xmpl5678", "DnsConfig": {}, "Type": "HTTP", "CreateDate": "2025-08-18T13:53:02.775000-05:00", "CreatorRequestId": "abcd1234-5678-90ab-cdef-xmpl12345678", "CreatedByAccount": "123456789012" } }

詳細については、「AWS Cloud Map Developer Guide」の「AWS Cloud Map services」を参照してください。

例 2: ARN を使用してサービスの設定を取得するには

次の get-service の例では、ARN を使用して指定されたサービスの設定を取得します。ARN の指定は、アカウントと共有されている名前空間で作成されたサービスに関する情報を取得するときに必要です。発信者アカウント 123456789111 は、アカウント 123456789012 によって共有されている名前空間にサービスを作成しました。

aws servicediscovery get-service \ --id arn:aws:servicediscovery:us-west-2:123456789012:service/srv-abcd1234xmpl5678

出力:

{ "Service": { "Id": "srv-abcd1234xmpl5678", "Arn": "arn:aws:servicediscovery:us-west-2:123456789012:service/srv-abcd1234xmpl5678", "ResourceOwner": "123456789012", "Name": "test-service", "NamespaceId": "ns-abcd1234xmpl5678", "DnsConfig": {}, "Type": "HTTP", "CreateDate": "2025-08-18T13:53:02.775000-05:00", "CreatorRequestId": "abcd1234-5678-90ab-cdef-xmpl12345678", "CreatedByAccount": "123456789111" } }

詳細については、「AWS Cloud Map デベロッパーガイド」の「アプリケーションコンポーネントの AWS Cloud Map サービスを作成する」および「共有 AWS Cloud Map 名前空間」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「GetService」を参照してください。

次の例は、list-instances を使用する方法を説明しています。

AWS CLI

例 1: サービスインスタンスを一覧表示するには

次の 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" }, "CreatedByAccount": "123456789012" } ], "ResourceOwner": "123456789012" }

詳細については、「AWS Cloud Map デベロッパーガイド」の「AWS Cloud Map サービスインスタンス」を参照してください。

例 2: サービス ARN を使用してサービスインスタンスを一覧表示するには

次の list-instances の例では、サービス ID の代わりにサービス ARN を使用するサービスインスタンスを一覧表示します。アカウントと共有されている名前空間に関連付けられたインスタンスを一覧表示するには、ARN の指定が必要です。

aws servicediscovery list-instances \ --service-id arn:aws:servicediscovery:us-west-2:123456789012:service/srv-p5zdwlg5uvvzjita

出力:

{ "ResourceOwner": "123456789012", "Instances": [ { "Id": "web-server-01", "Attributes": { "AWS_INSTANCE_IPV4": "203.0.113.15", "AWS_INSTANCE_PORT": "80" }, "CreatedByAccount": "123456789012" }, { "Id": "web-server-02", "Attributes": { "AWS_INSTANCE_IPV4": "203.0.113.16", "AWS_INSTANCE_PORT": "80" }, "CreatedByAccount": "123456789012" } ] }

クロスアカウント名前空間の共有の詳細については、「AWS Cloud Map デベロッパーガイド」の「共有 AWS Cloud Map 名前空間」と「AWS Cloud Map サービスインスタンスの一覧表示」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「ListInstances」を参照してください。

次の例は、list-namespaces を使用する方法を説明しています。

AWS CLI

例 1: 名前空間を一覧表示するには

次の list-namespaces の例では、名前空間を一覧表示します。

aws servicediscovery list-namespaces

出力:

{ "Namespaces": [ { "Id": "ns-abcd1234xmpl5678", "Arn": "arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-abcd1234xmpl5678", "ResourceOwner": "123456789012", "Name": "local", "Type": "DNS_PRIVATE", "Properties": { "DnsProperties": { "HostedZoneId": "Z06752353VBUDTC32S84S", "SOA": {} }, "HttpProperties": { "HttpName": "local" } }, "CreateDate": "2023-07-17T13:37:27.872000-05:00" }, { "Id": "ns-abcd1234xmpl9012", "Arn": "arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-abcd1234xmpl9012", "ResourceOwner": "123456789012", "Name": "My-second-namespace", "Type": "HTTP", "Description": "My second namespace", "Properties": { "DnsProperties": { "SOA": {} }, "HttpProperties": { "HttpName": "My-second-namespace" } }, "CreateDate": "2023-11-14T10:35:47.840000-06:00" } ] }

詳細については、「AWS Cloud Map デベロッパーガイド」の「AWS Cloud Map 名前空間の一覧表示」を参照してください。

例 2: 他のアカウントで共有されている名前空間を一覧表示するには

次の list-namespaces の例では、RESOURCE_OWNER フィルターを使用して他の AWS アカウントによって発信者アカウントと共有されている名前空間を一覧表示します。

aws servicediscovery list-namespaces \ --filters Name=RESOURCE_OWNER,Values=OTHER_ACCOUNTS,Condition=EQ

出力:

{ "Namespaces": [ { "Id": "ns-abcd1234xmpl5678", "Arn": "arn:aws:servicediscovery:us-west-2:123456789111:namespace/ns-abcd1234xmpl5678", "ResourceOwner": "123456789111", "Name": "shared-namespace", "Type": "HTTP", "Description": "Namespace shared from another account", "Properties": { "DnsProperties": { "SOA": {} }, "HttpProperties": { "HttpName": "shared-namespace" } }, "CreateDate": "2025-01-13T13:35:21.874000-06:00" } ] }

詳細については、「AWS Cloud Map デベロッパーガイド」の「共有 AWS Cloud Map 名前空間」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「ListNamespaces」を参照してください。

次のコード例は、list-operations を使用する方法を示しています。

AWS CLI

指定された条件を満たすオペレーションを一覧表示するには

次の list-operations の例では、ステータスが PENDING または SUCCESS のオペレーションを一覧表示します。

aws servicediscovery list-operations \ --service-id srv-e4anhexample0004 \ --filters Name=STATUS,Condition=IN,Values=PENDING,SUCCESS

出力:

{ "Operations": [ { "Id": "76yy8ovhpdz0plmjzbsnqgnrqvpv2qdt-kexample", "Status": "SUCCESS" }, { "Id": "prysnyzpji3u2ciy45nke83x2zanl7yk-dexample", "Status": "SUCCESS" }, { "Id": "ko4ekftir7kzlbechsh7xvcdgcpk66gh-7example", "Status": "PENDING" } ] }

詳細については、「AWS Cloud Map Developer Guide」の「What is AWS Cloud Map?」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「ListOperations」を参照してください。

次の例は、list-services を使用する方法を説明しています。

AWS CLI

例 1: サービスを一覧表示するには

次の 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 デベロッパーガイド」の「名前空間における AWS Cloud Map サービス」を参照してください。

例 2: 共有名前空間で作成されたサービスを一覧表示するには

次の list-services の例では、RESOURCE_OWNER フィルターを使用して他の AWS アカウントによって発信者アカウント 123456789012 と共有されている名前空間で作成されたサービスを一覧表示します。

aws servicediscovery list-services \ --filters Name=RESOURCE_OWNER,Values=OTHER_ACCOUNTS,Condition=EQ

出力:

{ "Services": [ { "Id": "srv-abcd1234xmpl5678", "Arn": "arn:aws:servicediscovery:us-west-2:123456789111:service/srv-abcd1234xmpl5678", "ResourceOwner": "123456789111", "Name": "shared-service", "NamespaceId": "ns-abcd1234xmpl5678", "Type": "HTTP", "Description": "Service in shared namespace", "DnsConfig": {}, "CreateDate": "2025-01-13T13:35:21.874000-06:00", "CreatorRequestId": "abcd1234-5678-90ab-cdef-xmpl12345678", "CreatedByAccount": "123456789012" } ] }

詳細については、「AWS Cloud Map デベロッパーガイド」の「共有 AWS Cloud Map 名前空間」と「名前空間における AWS Cloud Map サービスの一覧表示」を参照してください。

  • API の詳細については、AWS CLI コマンドリファレンスの「ListServices」を参照してください。

次のコード例は、list-tags-for-resource を使用する方法を示しています。

AWS CLI

指定されたリソースに関連付けられているタグを一覧表示するには

次の list-tags-for-resource の例では、指定されたリソースのタグを一覧表示します。

aws servicediscovery list-tags-for-resource \ --resource-arn arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-e4anhexample0004

出力:

{ "Tags": [ { "Key": "Project", "Value": "Zeta" }, { "Key": "Department", "Value": "Engineering" } ] }

詳細については、「AWS Cloud Map Developer Guide」の「Tagging your AWS Cloud Map resources」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「ListTagsForResource」を参照してください。

次の例は、register-instance を使用する方法を説明しています。

AWS CLI

例 1: サービス ID を使用してサービスインスタンスを登録するには

次の 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 デベロッパーガイド」の「AWS Cloud Map サービスインスタンスとしてリソースを登録する」を参照してください。

例 2: サービス ARN を使用してサービスインスタンスを登録するには

次の register-instance の例では、サービス ARN を使用してサービスインスタンスを登録します。アカウントと共有されているサービスにインスタンスを登録する場合は、ARN の指定が必要です。

aws servicediscovery register-instance \ --service-id arn:aws:servicediscovery:us-west-2:123456789012:service/srv-p5zdwlg5uvvzjita \ --instance-id web-server-01 \ --attributes=AWS_INSTANCE_IPV4=203.0.113.15,AWS_INSTANCE_PORT=80

出力:

{ "OperationId": "gv4g5meo7ndmkqjrhpn39wk42xmpl" }

クロスアカウント名前空間の共有の詳細については、「AWS Cloud Map デベロッパーガイド」の「共有 AWS Cloud Map 名前空間」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「RegisterInstance」を参照してください。

次のコード例は、tag-resource を使用する方法を示しています。

AWS CLI

指定されたリソースにタグを関連付けるには

次の tag-resource の例では、指定された名前空間に値 Engineering を持つ Department タグを関連付けます。

aws servicediscovery tag-resource \ --resource-arn arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-e4anhexample0004 \ --tags Key=Department, Value=Engineering

このコマンドでは何も出力されません。

詳細については、「AWS Cloud Map Developer Guide」の「Tagging your AWS Cloud Map resources」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「TagResource」を参照してください。

次のコード例は、untag-resource を使用する方法を示しています。

AWS CLI

指定されたリソースからタグを削除するには

次の untag-resource の例では、指定された名前空間から Department タグを削除します。

aws servicediscovery untag-resource \ --resource-arn arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-e4anhexample0004 \ --tags Key=Department, Value=Engineering

このコマンドでは何も出力されません。

詳細については、「AWS Cloud Map Developer Guide」の「Tagging your AWS Cloud Map resources」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「UntagResource」を参照してください。

次の例は、update-http-namespace を使用する方法を説明しています。

AWS CLI

例 1: HTTP 名前空間を更新するには

次の update-http-namespace の例では、指定された HTTP 名前空間の説明を更新します。

aws servicediscovery update-http-namespace \ --id ns-abcd1234xmpl5678 \ --updater-request-id abcd1234-5678-90ab-cdef-xmpl12345678 \ --namespace Description="The updated namespace description."

出力:

{ "OperationId": "abcd1234-5678-90ab-cdef-xmpl12345678" }

オペレーションが成功したことを確認するには、get-operation を実行します。詳細については、「get-operation」を参照してください。

詳細については、「AWS Cloud Map Developer Guide」の「AWS Cloud Map namespaces」を参照してください。

例 2: ARN を使用して HTTP 名前空間を更新するには

次の update-http-namespace の例では、ARN を使用して指定された HTTP 名前空間の説明を更新します。

aws servicediscovery update-http-namespace \ --id arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-abcd1234xmpl5678 \ --updater-request-id abcd1234-5678-90ab-cdef-xmpl12345678 \ --namespace Description="The updated namespace description."

出力:

{ "OperationId": "abcd1234-5678-90ab-cdef-xmpl12345678" }

詳細については、「AWS Cloud Map Developer Guide」の「AWS Cloud Map namespaces」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「UpdateHttpNamespace」を参照してください。

次の例は、update-instance-custom-health-status を使用する方法を説明しています。

AWS CLI

例 1: カスタムヘルスチェックを更新するには

次の update-instance-custom-health-status の例では、指定されたサービスおよびサンプルサービスインスタンスのカスタムヘルスチェックのステータスを HEALTHY に更新します。

aws servicediscovery update-instance-custom-health-status \ --service-id srv-e4anhexample0004 \ --instance-id example \ --status HEALTHY

このコマンドでは何も出力されません。

詳細については、「AWS Cloud Map Developer Guide」の「AWS Cloud Map service health check configuration」を参照してください。

例 2: サービス ARN を使用してカスタムヘルスチェックを更新するには

次の update-instance-custom-health-status の例では、サービス ARN を使用してカスタムヘルスチェックのステータスを更新します。ARN は、アカウントと共有されている名前空間に関連付けられたインスタンスのヘルスステータスを更新するときに必要です。

aws servicediscovery update-instance-custom-health-status \ --service-id arn:aws:servicediscovery:us-west-2:123456789012:service/srv-p5zdwlg5uvvzjita \ --instance-id web-server-01 \ --status HEALTHY

このコマンドでは何も出力されません。

詳細については、「AWS Cloud Map デベロッパーガイド」の「AWS Cloud Map サービスヘルスチェック設定」および「クロスアカウント AWS Cloud Map 名前空間の共有」を参照してください。

次の例は、update-private-dns-namespace を使用する方法を説明しています。

AWS CLI

例 1: ID を使用してプライベート DNS 名前空間を更新するには

次の update-private-dns-namespace の例では、名前空間 ID を使用してプライベート DNS 名前空間の説明を更新します。

aws servicediscovery update-private-dns-namespace \ --id ns-abcd1234xmpl5678 \ --updater-request-id abcd1234-5678-90ab-cdef-xmpl12345678 \ --namespace Description="The updated namespace description."

出力:

{ "OperationId": "abcd1234-5678-90ab-cdef-xmpl12345678" }

オペレーションが成功したことを確認するには、get-operation を実行します。

詳細については、「AWS Cloud Map Developer Guide」の「AWS Cloud Map namespaces」を参照してください。

例 2: ARN を使用してプライベート DNS 名前空間を更新するには

次の update-private-dns-namespace の例では、ARN を使用してプライベート DNS 名前空間を更新します。

aws servicediscovery update-private-dns-namespace \ --id arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-abcd1234xmpl5678 \ --updater-request-id abcd1234-5678-90ab-cdef-xmpl12345678 \ --namespace Description="The updated namespace description."

出力:

{ "OperationId": "abcd1234-5678-90ab-cdef-xmpl12345678" }

詳細については、「AWS Cloud Map Developer Guide」の「AWS Cloud Map namespaces」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「UpdatePrivateDnsNamespace」を参照してください。

次の例は、update-public-dns-namespace を使用する方法を説明しています。

AWS CLI

例 1: ID を使用してパブリック DNS 名前空間を更新するには

次の update-public-dns-namespace の例では、名前空間 ID を使用してパブリック DNS 名前空間の説明を更新します。

aws servicediscovery update-public-dns-namespace \ --id ns-abcd1234xmpl5678 \ --updater-request-id abcd1234-5678-90ab-cdef-xmpl12345678 \ --namespace Description="The updated namespace description."

出力:

{ "OperationId": "abcd1234-5678-90ab-cdef-xmpl12345678" }

オペレーションが成功したことを確認するには、get-operation を実行します。

詳細については、「AWS Cloud Map Developer Guide」の「AWS Cloud Map namespaces」を参照してください。

例 2: ARN を使用してパブリック DNS 名前空間を更新するには

次の update-public-dns-namespace の例では、ARN を使用してパブリック DNS 名前空間を更新します。

aws servicediscovery update-public-dns-namespace \ --id arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-abcd1234xmpl5678 \ --updater-request-id abcd1234-5678-90ab-cdef-xmpl12345678 \ --namespace Description="The updated namespace description."

出力:

{ "OperationId": "abcd1234-5678-90ab-cdef-xmpl12345678" }

詳細については、「AWS Cloud Map Developer Guide」の「AWS Cloud Map namespaces」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「UpdatePublicDnsNamespace」を参照してください。

次の例は、update-service-attributes を使用する方法を説明しています。

AWS CLI

例 1: サービスを更新して属性を追加するには

次の update-service-attributes の例では、指定されたサービスを更新して、キー Port と値 80 を持つサービス属性を追加します。

aws servicediscovery update-service-attributes \ --service-id srv-abcd1234xmpl5678 \ --attributes Port=80

このコマンドでは何も出力されません。

詳細については、「AWS Cloud Map Developer Guide」の「AWS Cloud Map services」を参照してください。

例 2: ARN を使用してサービス属性を更新するには

次の update-service-attributes の例では、ARN を使用してサービスを更新し、サービス属性を追加します。アカウントと共有されている名前空間で作成されたサービスに属性を追加するには、ARN を指定する必要があります。

aws servicediscovery update-service-attributes \ --service-id arn:aws:servicediscovery:us-west-2:123456789012:service/srv-abcd1234xmpl5678 \ --attributes Port=80

このコマンドでは何も出力されません。

詳細については、「AWS Cloud Map デベロッパーガイド」の「AWS Cloud Map サービス」および「共有 AWS Cloud Map 名前空間」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「UpdateServiceAttributes」を参照してください。

次の例は、update-service を使用する方法を説明しています。

AWS CLI

例 1: サービスを更新するには

次の update-service の例では、 サービスを更新して DnsConfig および HealthCheckConfig 設定を更新します。

aws servicediscovery update-service \ --id srv-abcd1234xmpl5678 \ --service "DnsConfig={DnsRecords=[{Type=A,TTL=60}]},HealthCheckConfig={Type=HTTP,ResourcePath=/,FailureThreshold=2}"

出力:

{ "OperationId": "abcd1234-5678-90ab-cdef-xmpl12345678" }

オペレーションが成功したことを確認するには、get-operation を実行します。

サービスの更新の詳細については、「AWS Cloud Map Developer Guide」の「Updating an AWS Cloud Map service」を参照してください。

例 2: ARN を使用してサービスを更新するには

次の update-service の例では、ARN を使用してサービスを更新します。アカウントと共有されている名前空間で作成されるサービスには、ARN を指定する必要があります。

aws servicediscovery update-service \ --id arn:aws:servicediscovery:us-west-2:123456789012:service/srv-abcd1234xmpl5678 \ --service "DnsConfig={DnsRecords=[{Type=A,TTL=60}]},HealthCheckConfig={Type=HTTP,ResourcePath=/,FailureThreshold=2}"

出力:

{ "OperationId": "abcd1234-5678-90ab-cdef-xmpl12345678" }

詳細については、「AWS Cloud Map デベロッパーガイド」の「AWS Cloud Map サービスのアップデート」と「共有 AWS Cloud Map 名前空間」を参照してください。

  • API の詳細については、AWS CLI コマンドリファレンスの「UpdateService」を参照してください。