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 \ --nameexample.com\ --creator-request-idexample-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 \ --nameexample.com\ --vpcvpc-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 \ --nameexample-public-dns.com\ --creator-request-idexample-public-request-id\ --propertiesDnsProperties={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 \ --namemyservice\ --namespace-idns-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 \ --namemyservice-arn\ --namespace-idarn: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 \ --idns-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 \ --idarn: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-idsrv-abcd1234xmpl5678\ --attributesPortこのコマンドでは何も出力されません。
詳細については、「AWS Cloud Map Developer Guide」の「AWS Cloud Map services」を参照してください。
例 2: ARN を使用してサービス属性を削除するには
次の
delete-service-attributesの例では、サービス ARN を使用してサービス属性を削除します。アカウントと共有されている名前空間で作成されたサービスに関連付けられた属性を削除するには、ARN を指定する必要があります。aws servicediscovery delete-service-attributes \ --service-idarn:aws:servicediscovery:us-west-2:123456789012:service/srv-abcd1234xmpl5678\ --attributesPortこのコマンドでは何も出力されません。
詳細については、「AWS Cloud Map デベロッパーガイド」の「AWS Cloud Map サービス」および「共有 AWS Cloud Map 名前空間」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「DeleteServiceAttributes
」を参照してください。
-
次の例は、delete-service を使用する方法を説明しています。
- AWS CLI
-
例 1: サービスを削除するには
次の
delete-serviceの例では、サービスを削除します。aws servicediscovery delete-service \ --idsrv-abcd1234xmpl5678このコマンドでは何も出力されません。
詳細については、「AWS Cloud Map デベロッパーガイド」の「AWS Cloud Map サービスの削除」を参照してください。
例 2: ARN を使用してサービスを削除するには
次の
delete-serviceの例では、ARN を使用してサービスを削除します。aws servicediscovery delete-service \ --idarn: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-idsrv-p5zdwlg5uvvzjita\ --instance-idmyservice-53出力:
{ "OperationId": "4yejorelbukcjzpnr6tlmrghsjwpngf4-k98rnaiq" }オペレーションが成功したことを確認するには、
get-operationを実行します。詳細については、「get-operation」を参照してください。詳細については、「AWS Cloud Map デベロッパーガイド」の「サービスインスタンスの登録解除」を参照してください。
例 2: 共有名前空間のサービス ARN を使用してサービスインスタンスの登録を解除するには
次の
deregister-instanceの例では、サービス ID の代わりにサービス ARN を使用してサービスインスタンスの登録を解除します。アカウントと共有されている名前空間で作成されたサービスからインスタンスを登録解除するには、ARN を指定する必要があります。aws servicediscovery deregister-instance \ --service-idarn:aws:servicediscovery:us-west-2:123456789012:service/srv-p5zdwlg5uvvzjita\ --instance-idweb-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-nameexample.com\ --service-namemyservice出力:
{ "InstancesRevision": 123456 }詳細については、「AWS Cloud Map Developer Guide」の「AWS Cloud Map service instances」を参照してください。
例 2: 特定の所有者アカウントからインスタンスのリビジョンを検出するには
次の
discover-instances-revisionの例では、特定の所有者アカウントからのインスタンスのリビジョンを検出します。owner-account パラメータは、アカウントと共有されている名前空間内のインスタンスに必要です。aws servicediscovery discover-instances-revision \ --namespace-nameshared-namespace\ --service-nameshared-service\ --owner-account123456789111出力:
{ "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-nameexample.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" } } ], "InstancesRevision": 85648075627387284 }詳細については、「AWS Cloud Map Developer Guide」の「AWS Cloud Map service instances」を参照してください。
例 2: 特定の所有者アカウントからインスタンスを検出するには
次の
discover-instancesの例では、特定の所有者アカウントから登録されたインスタンスを検出します。このパラメータは、アカウントと共有されている名前空間内のインスタンスを検出するために必要です。aws servicediscovery discover-instances \ --namespace-nameshared-namespace\ --service-nameshared-service\ --owner-account123456789111出力:
{ "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-idsrv-e4anhexample0004--instance-idi-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-idarn:aws:servicediscovery:us-west-2:123456789012:service/srv-p5zdwlg5uvvzjita\ --instance-idweb-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-idsrv-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-idarn: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 \ --idns-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 \ --idarn: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-idabcd1234xmpl5678abcd1234xmpl5678-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-idabcd1234xmpl5678abcd1234xmpl5678-abcd1234\ --owner-account123456789111出力:
{ "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-idsrv-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-idarn: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 \ --idsrv-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 \ --idarn: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-idsrv-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-idarn: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 \ --filtersName=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-idsrv-e4anhexample0004\ --filtersName=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 \ --filtersName=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-arnarn: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-idsrv-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 デベロッパーガイド」の「AWS Cloud Map サービスインスタンスとしてリソースを登録する」を参照してください。
例 2: サービス ARN を使用してサービスインスタンスを登録するには
次の
register-instanceの例では、サービス ARN を使用してサービスインスタンスを登録します。アカウントと共有されているサービスにインスタンスを登録する場合は、ARN の指定が必要です。aws servicediscovery register-instance \ --service-idarn:aws:servicediscovery:us-west-2:123456789012:service/srv-p5zdwlg5uvvzjita\ --instance-idweb-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-arnarn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-e4anhexample0004\ --tagsKey=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-arnarn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-e4anhexample0004\ --tagsKey=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 \ --idns-abcd1234xmpl5678\ --updater-request-idabcd1234-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 \ --idarn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-abcd1234xmpl5678\ --updater-request-idabcd1234-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-idsrv-e4anhexample0004\ --instance-idexample\ --statusHEALTHYこのコマンドでは何も出力されません。
詳細については、「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-idarn:aws:servicediscovery:us-west-2:123456789012:service/srv-p5zdwlg5uvvzjita\ --instance-idweb-server-01\ --statusHEALTHYこのコマンドでは何も出力されません。
詳細については、「AWS Cloud Map デベロッパーガイド」の「AWS Cloud Map サービスヘルスチェック設定」および「クロスアカウント AWS Cloud Map 名前空間の共有」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「UpdateInstanceCustomHealthStatus
」を参照してください。
-
次の例は、update-private-dns-namespace を使用する方法を説明しています。
- AWS CLI
-
例 1: ID を使用してプライベート DNS 名前空間を更新するには
次の
update-private-dns-namespaceの例では、名前空間 ID を使用してプライベート DNS 名前空間の説明を更新します。aws servicediscovery update-private-dns-namespace \ --idns-abcd1234xmpl5678\ --updater-request-idabcd1234-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 \ --idarn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-abcd1234xmpl5678\ --updater-request-idabcd1234-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 \ --idns-abcd1234xmpl5678\ --updater-request-idabcd1234-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 \ --idarn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-abcd1234xmpl5678\ --updater-request-idabcd1234-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-idsrv-abcd1234xmpl5678\ --attributesPort=80このコマンドでは何も出力されません。
詳細については、「AWS Cloud Map Developer Guide」の「AWS Cloud Map services」を参照してください。
例 2: ARN を使用してサービス属性を更新するには
次の
update-service-attributesの例では、ARN を使用してサービスを更新し、サービス属性を追加します。アカウントと共有されている名前空間で作成されたサービスに属性を追加するには、ARN を指定する必要があります。aws servicediscovery update-service-attributes \ --service-idarn:aws:servicediscovery:us-west-2:123456789012:service/srv-abcd1234xmpl5678\ --attributesPort=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 \ --idsrv-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 \ --idarn: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
」を参照してください。
-