使用 AWS CLI 的 VPC Lattice 示例 - AWS Command Line Interface

本文档仅适用于 AWS CLI 版本 1。有关 AWS CLI 版本 2 的相关文档,请参阅版本 2 用户指南

使用 AWS CLI 的 VPC Lattice 示例

以下代码示例演示了如何通过将 AWS Command Line Interface与 VPC Lattice 结合使用,来执行操作和实现常见场景。

操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景的上下文查看操作。

每个示例都包含一个指向完整源代码的链接,您可以从中找到有关如何在上下文中设置和运行代码的说明。

主题

操作

以下代码示例演示了如何使用 create-listener

AWS CLI

创建侦听器

以下 create-listener 示例创建一个 HTTPS 侦听器,该侦听器具有将流量转发到指定 VPC Lattice 目标组的默认规则。

aws vpc-lattice create-listener \ --name my-service-listener \ --protocol HTTPS \ --port 443 \ --service-identifier svc-0285b53b2eEXAMPLE \ --default-action file://listener-config.json

listener-config.json 的内容:

{ "forward": { "targetGroups": [ { "targetGroupIdentifier": "tg-0eaa4b9ab4EXAMPLE" } ] } }

输出:

{ "arn": "arn:aws:vpc-lattice:us-east-2:123456789012:service/svc-0285b53b2eEXAMPLE/listener/listener-07cc7fb0abEXAMPLE", "defaultAction": { "forward": { "targetGroups": [ { "targetGroupIdentifier": "tg-0eaa4b9ab4EXAMPLE", "weight": 100 } ] } }, "id": "listener-07cc7fb0abEXAMPLE", "name": "my-service-listener", "port": 443, "protocol": "HTTPS", "serviceArn": "arn:aws:vpc-lattice:us-east-2:123456789012:service/svc-0285b53b2eEXAMPLE", "serviceId": "svc-0285b53b2eEXAMPLE" }

有关更多信息,请参阅《Amazon VPC Lattice 用户指南》中的侦听器

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 CreateListener

以下代码示例演示了如何使用 create-service-network-service-association

AWS CLI

创建服务关联

以下 create-service-network-service-association 示例将指定服务与指定服务网络相关联。

aws vpc-lattice create-service-network-service-association \ --service-identifier svc-0285b53b2eEXAMPLE \ --service-network-identifier sn-080ec7dc93EXAMPLE

输出:

{ "arn": "arn:aws:vpc-lattice:us-east-2:123456789012:servicenetworkserviceassociation/snsa-0e16955a8cEXAMPLE", "createdBy": "123456789012", "dnsEntry": { "domainName": "my-lattice-service-0285b53b2eEXAMPLE.7d67968.vpc-lattice-svcs.us-east-2.on.aws", "hostedZoneId": "Z09127221KTH2CEXAMPLE" }, "id": "snsa-0e16955a8cEXAMPLE", "status": "CREATE_IN_PROGRESS" }

有关更多信息,请参阅《Amazon VPC Lattice 用户指南》中的管理服务关联

以下代码示例演示了如何使用 create-service-network-vpc-association

AWS CLI

创建 VPC 关联

以下 create-service-network-vpc-association 示例将指定 VPC 与指定服务网络相关联。指定的安全组控制 VPC 中的哪些资源可以访问服务网络及其服务。

aws vpc-lattice create-service-network-vpc-association \ --vpc-identifier vpc-0a1b2c3d4eEXAMPLE \ --service-network-identifier sn-080ec7dc93EXAMPLE \ --security-group-ids sg-0aee16bc6cEXAMPLE

输出:

{ "arn": "arn:aws:vpc-lattice:us-east-2:123456789012:servicenetworkvpcassociation/snva-0821fc8631EXAMPLE", "createdBy": "123456789012", "id": "snva-0821fc8631EXAMPLE", "securityGroupIds": [ "sg-0aee16bc6cEXAMPLE" ], "status": "CREATE_IN_PROGRESS" }

有关更多信息,请参阅《Amazon VPC Lattice 用户指南》中的管理 VPC 关联

以下代码示例演示了如何使用 create-service-network

AWS CLI

创建服务网络

以下 create-service-network 示例创建一个具有指定名称的服务网络。

aws vpc-lattice create-service-network \ --name my-service-network

输出:

{ "arn": "arn:aws:vpc-lattice:us-east-2:123456789012:servicenetwork/sn-080ec7dc93EXAMPLE", "authType": "NONE", "id": "sn-080ec7dc93EXAMPLE", "name": "my-service-network" }

有关更多信息,请参阅《Amazon VPC Lattice 用户指南》中的服务网络

以下代码示例演示了如何使用 create-service

AWS CLI

创建服务

以下 create-service 示例创建一项具有指定名称的服务。

aws vpc-lattice create-service \ --name my-lattice-service

输出:

{ "arn": "arn:aws:vpc-lattice:us-east-2:123456789012:service/svc-0285b53b2eEXAMPLE", "authType": "NONE", "dnsEntry": { "domainName": "my-lattice-service-0285b53b2eEXAMPLE.1a2b3c4.vpc-lattice-svcs.us-east-2.on.aws", "hostedZoneId": "Z09127221KTH2CEXAMPLE" }, "id": "svc-0285b53b2eEXAMPLE", "name": "my-lattice-service", "status": "CREATE_IN_PROGRESS" }

有关更多信息,请参阅《Amazon VPC Lattice 用户指南》中的 VPC Lattice 中的服务

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 CreateService

以下代码示例演示了如何使用 create-target-group

AWS CLI

示例 1:创建 INSTANCE 类型的目标组

以下 create-target-group 示例使用指定的名称、类型和配置创建目标组。

aws vpc-lattice create-target-group \ --name my-lattice-target-group-instance \ --type INSTANCE \ --config file://tg-config.json

tg-config.json 的内容:

{ "port": 443, "protocol": "HTTPS", "protocolVersion": "HTTP1", "vpcIdentifier": "vpc-f1663d9868EXAMPLE" }

输出:

{ "arn": "arn:aws:vpc-lattice:us-east-2:123456789012:targetgroup/tg-0eaa4b9ab4EXAMPLE", "config": { "healthCheck": { "enabled": true, "healthCheckIntervalSeconds": 30, "healthCheckTimeoutSeconds": 5, "healthyThresholdCount": 5, "matcher": { "httpCode": "200" }, "path": "/", "protocol": "HTTPS", "protocolVersion": "HTTP1", "unhealthyThresholdCount": 2 }, "port": 443, "protocol": "HTTPS", "protocolVersion": "HTTP1", "vpcIdentifier": "vpc-f1663d9868EXAMPLE" }, "id": "tg-0eaa4b9ab4EXAMPLE", "name": "my-lattice-target-group-instance", "status": "CREATE_IN_PROGRESS", "type": "INSTANCE" }

示例 2:创建 IP 类型的目标组

以下 create-target-group 示例使用指定的名称、类型和配置创建目标组。

aws vpc-lattice create-target-group \ --name my-lattice-target-group-ip \ --type IP \ --config file://tg-config.json

tg-config.json 的内容:

{ "ipAddressType": "IPV4", "port": 443, "protocol": "HTTPS", "protocolVersion": "HTTP1", "vpcIdentifier": "vpc-f1663d9868EXAMPLE" }

输出:

{ "arn": "arn:aws:vpc-lattice:us-east-2:123456789012:targetgroup/tg-0eaa4b9ab4EXAMPLE", "config": { "healthCheck": { "enabled": true, "healthCheckIntervalSeconds": 30, "healthCheckTimeoutSeconds": 5, "healthyThresholdCount": 5, "matcher": { "httpCode": "200" }, "path": "/", "protocol": "HTTPS", "protocolVersion": "HTTP1", "unhealthyThresholdCount": 2 }, "ipAddressType": "IPV4", "port": 443, "protocol": "HTTPS", "protocolVersion": "HTTP1", "vpcIdentifier": "vpc-f1663d9868EXAMPLE" }, "id": "tg-0eaa4b9ab4EXAMPLE", "name": "my-lattice-target-group-ip", "status": "CREATE_IN_PROGRESS", "type": "IP" }

示例 3:创建 LAMBDA 类型的目标组

以下 create-target-group 示例使用指定的名称、类型和配置创建目标组。

aws vpc-lattice create-target-group \ --name my-lattice-target-group-lambda \ --type LAMBDA

输出:

{ "arn": "arn:aws:vpc-lattice:us-east-2:123456789012:targetgroup/tg-0eaa4b9ab4EXAMPLE", "id": "tg-0eaa4b9ab4EXAMPLE", "name": "my-lattice-target-group-lambda", "status": "CREATE_IN_PROGRESS", "type": "LAMBDA" }

示例 4:创建 ALB 类型的目标组

以下 create-target-group 示例使用指定的名称、类型和配置创建目标组。

aws vpc-lattice create-target-group \ --name my-lattice-target-group-alb \ --type ALB \ --config file://tg-config.json

tg-config.json 的内容:

{ "port": 443, "protocol": "HTTPS", "protocolVersion": "HTTP1", "vpcIdentifier": "vpc-f1663d9868EXAMPLE" }

输出:

{ "arn": "arn:aws:vpc-lattice:us-east-2:123456789012:targetgroup/tg-0eaa4b9ab4EXAMPLE", "config": { "port": 443, "protocol": "HTTPS", "protocolVersion": "HTTP1", "vpcIdentifier": "vpc-f1663d9868EXAMPLE" }, "id": "tg-0eaa4b9ab4EXAMPLE", "name": "my-lattice-target-group-alb", "status": "CREATE_IN_PROGRESS", "type": "ALB" }

有关更多信息,请参阅《Amazon VPC Lattice 用户指南》中的目标组

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 CreateTargetGroup

以下代码示例演示了如何使用 delete-auth-policy

AWS CLI

删除身份验证策略

以下 delete-auth-policy 示例删除指定服务的身份验证策略。

aws vpc-lattice delete-auth-policy \ --resource-identifier svc-0285b53b2eEXAMPLE

此命令不生成任何输出。

有关更多信息,请参阅《Amazon VPC Lattice 用户指南》中的身份验证策略

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteAuthPolicy

以下代码示例演示了如何使用 delete-listener

AWS CLI

删除侦听器

以下 delete-listener 示例删除指定的侦听器。

aws vpc-lattice delete-listener \ --listener-identifier listener-07cc7fb0abEXAMPLE \ --service-identifier svc-0285b53b2eEXAMPLE

此命令不生成任何输出。

有关更多信息,请参阅《Amazon VPC Lattice 用户指南》中的侦听器

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteListener

以下代码示例演示了如何使用 delete-service-network-service-association

AWS CLI

删除服务关联

以下 delete-service-network-service-association 示例取消关联指定的服务关联。

aws vpc-lattice delete-service-network-service-association \ --service-network-service-association-identifier snsa-031fabb4d8EXAMPLE

输出:

{ "arn": "arn:aws:vpc-lattice:us-east-2:123456789012:servicenetworkserviceassociation/snsa-031fabb4d8EXAMPLE", "id": "snsa-031fabb4d8EXAMPLE", "status": "DELETE_IN_PROGRESS" }

有关更多信息,请参阅《Amazon VPC Lattice 用户指南》中的管理服务关联

以下代码示例演示了如何使用 delete-service-network-vpc-association

AWS CLI

删除 VPC 关联

以下 delete-service-network-vpc-association 示例取消关联指定的 VPC 关联。

aws vpc-lattice delete-service-network-vpc-association \ --service-network-vpc-association-identifier snva-0821fc8631EXAMPLE

输出:

{ "arn": "arn:aws:vpc-lattice:us-east-2:123456789012:servicenetworkvpcassociation/snva-0821fc8631EXAMPLE", "id": "snva-0821fc8631EXAMPLE", "status": "DELETE_IN_PROGRESS" }

有关更多信息,请参阅《Amazon VPC Lattice 用户指南》中的管理 VPC 关联

以下代码示例演示了如何使用 delete-service-network

AWS CLI

删除服务网络

以下 delete-service-network 示例删除指定的服务网络。

aws vpc-lattice delete-service-network \ --service-network-identifier sn-080ec7dc93EXAMPLE

此命令不生成任何输出。

有关更多信息,请参阅《Amazon VPC Lattice 用户指南》中的服务网络

以下代码示例演示了如何使用 delete-service

AWS CLI

删除服务

以下 delete-service 示例删除指定的服务。

aws vpc-lattice delete-service \ --service-identifier svc-0285b53b2eEXAMPLE

输出:

{ "arn": "arn:aws:vpc-lattice:us-west-2:123456789012:service/svc-0285b53b2eEXAMPLE", "id": "svc-0285b53b2eEXAMPLE", "name": "my-lattice-service", "status": "DELETE_IN_PROGRESS" }

有关更多信息,请参阅《Amazon VPC Lattice 用户指南》中的 VPC Lattice 中的服务

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteService

以下代码示例演示了如何使用 delete-target-group

AWS CLI

删除目标组

以下 delete-target-group 示例删除指定的目标组。

aws vpc-lattice delete-target-group \ --target-group-identifier tg-0eaa4b9ab4EXAMPLE

输出:

{ "arn": "arn:aws:vpc-lattice:us-east-2:123456789012:targetgroup/tg-0eaa4b9ab4EXAMPLE", "id": "tg-0eaa4b9ab4EXAMPLE", "status": "DELETE_IN_PROGRESS" }

有关更多信息,请参阅《Amazon VPC Lattice 用户指南》中的目标组

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteTargetGroup

以下代码示例演示了如何使用 deregister-targets

AWS CLI

取消注册目标

以下 deregister-targets 示例从指定目标组中取消注册指定目标。

aws vpc-lattice deregister-targets \ --targets i-07dd579bc5EXAMPLE \ --target-group-identifier tg-0eaa4b9ab4EXAMPLE

输出:

{ "successful": [ { "id": "i-07dd579bc5EXAMPLE", "port": 443 } ], "unsuccessful": [] }

有关更多信息,请参阅《Amazon VPC Lattice 用户指南》中的注册目标

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeregisterTargets

以下代码示例演示了如何使用 get-auth-policy

AWS CLI

获取有关身份验证策略的信息

以下 get-auth-policy 示例获取有关指定服务的身份验证策略的信息。

aws vpc-lattice get-auth-policy \ --resource-identifier svc-0285b53b2eEXAMPLE

输出:

{ "createdAt": "2023-06-07T03:51:20.266Z", "lastUpdatedAt": "2023-06-07T04:39:27.082Z", "policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::123456789012:role/my-clients\"},\"Action\":\"vpc-lattice-svcs:Invoke\",\"Resource\":\"arn:aws:vpc-lattice:us-east-2:123456789012:service/svc-0285b53b2eEXAMPLE\"}]}", "state": "Active" }

有关更多信息,请参阅《Amazon VPC Lattice 用户指南》中的身份验证策略

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetAuthPolicy

以下代码示例演示了如何使用 get-listener

AWS CLI

获取有关服务侦听器的信息

以下 get-listener 示例获取有关指定服务的指定侦听器的信息。

aws vpc-lattice get-listener \ --listener-identifier listener-0ccf55918cEXAMPLE \ --service-identifier svc-0285b53b2eEXAMPLE

输出:

{ "arn": "arn:aws:vpc-lattice:us-east-2:123456789012:service/svc-0285b53b2eEXAMPLE/listener/listener-0ccf55918cEXAMPLE", "createdAt": "2023-05-07T05:08:45.192Z", "defaultAction": { "forward": { "targetGroups": [ { "targetGroupIdentifier": "tg-0ff213abb6EXAMPLE", "weight": 1 } ] } }, "id": "listener-0ccf55918cEXAMPLE", "lastUpdatedAt": "2023-05-07T05:08:45.192Z", "name": "http-80", "port": 80, "protocol": "HTTP", "serviceArn": "arn:aws:vpc-lattice:us-east-2:123456789012:service/svc-0285b53b2eEXAMPLE", "serviceId": "svc-0285b53b2eEXAMPLE" }

有关更多信息,请参阅《Amazon VPC Lattice 用户指南》中的定义路由

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetListener

以下代码示例演示了如何使用 get-service-network-service-association

AWS CLI

获取有关服务关联的信息

以下 get-service-network-service-association 示例获取有关指定服务关联的信息。

aws vpc-lattice get-service-network-service-association \ --service-network-service-association-identifier snsa-031fabb4d8EXAMPLE

输出:

{ "arn": "arn:aws:vpc-lattice:us-east-2:123456789012:servicenetworkserviceassociation/snsa-031fabb4d8EXAMPLE", "createdAt": "2023-05-05T21:48:16.076Z", "createdBy": "123456789012", "dnsEntry": { "domainName": "my-lattice-service-0285b53b2eEXAMPLE.7d67968.vpc-lattice-svcs.us-east-2.on.aws", "hostedZoneId": "Z09127221KTH2CEXAMPLE" }, "id": "snsa-031fabb4d8EXAMPLE", "serviceArn": "arn:aws:vpc-lattice:us-east-2:123456789012:service/svc-0285b53b2eEXAMPLE", "serviceId": "svc-0285b53b2eEXAMPLE", "serviceName": "my-lattice-service", "serviceNetworkArn": "arn:aws:vpc-lattice:us-east-2:123456789012:servicenetwork/sn-080ec7dc93EXAMPLE", "serviceNetworkId": "sn-080ec7dc93EXAMPLE", "serviceNetworkName": "my-service-network", "status": "ACTIVE" }

有关更多信息,请参阅《Amazon VPC Lattice 用户指南》中的管理服务关联

以下代码示例演示了如何使用 get-service-network-vpc-association

AWS CLI

获取有关 VPC 关联的信息

以下 get-service-network-vpc-association 示例获取有关指定 VPC 关联的信息。

aws vpc-lattice get-service-network-vpc-association \ --service-network-vpc-association-identifier snva-0821fc8631EXAMPLE

输出:

{ "arn": "arn:aws:vpc-lattice:us-east-2:123456789012:servicenetworkvpcassociation/snva-0821fc8631EXAMPLE", "createdAt": "2023-06-06T23:41:08.421Z", "createdBy": "123456789012", "id": "snva-0c5dcb60d6EXAMPLE", "lastUpdatedAt": "2023-06-06T23:41:08.421Z", "securityGroupIds": [ "sg-0aee16bc6cEXAMPLE" ], "serviceNetworkArn": "arn:aws:vpc-lattice:us-east-2:123456789012:servicenetwork/sn-080ec7dc93EXAMPLE", "serviceNetworkId": "sn-080ec7dc93EXAMPLE", "serviceNetworkName": "my-service-network", "status": "ACTIVE", "vpcId": "vpc-0a1b2c3d4eEXAMPLE" }

有关更多信息,请参阅《Amazon VPC Lattice 用户指南》中的管理 VPC 关联

以下代码示例演示了如何使用 get-service-network

AWS CLI

获取有关服务网络的信息

以下 get-service-network 示例获取有关指定服务网络的信息。

aws vpc-lattice get-service-network \ --service-network-identifier sn-080ec7dc93EXAMPLE

输出:

{ "arn": "arn:aws:vpc-lattice:us-east-2:123456789012:servicenetwork/sn-080ec7dc93EXAMPLE", "authType": "AWS_IAM", "createdAt": "2023-05-05T15:26:08.417Z", "id": "sn-080ec7dc93EXAMPLE", "lastUpdatedAt": "2023-05-05T15:26:08.417Z", "name": "my-service-network", "numberOfAssociatedServices": 2, "numberOfAssociatedVPCs": 3 }

有关更多信息,请参阅《Amazon VPC Lattice 用户指南》中的服务网络

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetServiceNetwork

以下代码示例演示了如何使用 get-service

AWS CLI

获取有关服务的信息

以下 get-service 示例获取有关指定服务的信息。

aws vpc-lattice get-service \ --service-identifier svc-0285b53b2eEXAMPLE

输出:

{ "arn": "arn:aws:vpc-lattice:us-east-2:123456789012:service/svc-0285b53b2eEXAMPLE", "authType": "AWS_IAM", "createdAt": "2023-05-05T21:35:29.339Z", "dnsEntry": { "domainName": "my-lattice-service-0285b53b2eEXAMPLE.7d67968.vpc-lattice-svcs.us-east-2.on.aws", "hostedZoneId": "Z09127221KTH2CFUOHIZH" }, "id": "svc-0285b53b2eEXAMPLE", "lastUpdatedAt": "2023-05-05T21:35:29.339Z", "name": "my-lattice-service", "status": "ACTIVE" }

有关更多信息,请参阅《Amazon VPC Lattice 用户指南》中的服务

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetService

以下代码示例演示了如何使用 get-target-group

AWS CLI

获取有关目标组的信息

以下 get-target-group 示例获取有关目标类型为 INSTANCE 的指定目标组的信息。

aws vpc-lattice get-target-group \ --target-group-identifier tg-0eaa4b9ab4EXAMPLE

输出:

{ "arn": "arn:aws:vpc-lattice:us-east-2:123456789012:targetgroup/tg-0eaa4b9ab4EXAMPLE", "config": { "healthCheck": { "enabled": true, "healthCheckIntervalSeconds": 30, "healthCheckTimeoutSeconds": 5, "healthyThresholdCount": 5, "matcher": { "httpCode": "200" }, "path": "/", "protocol": "HTTPS", "protocolVersion": "HTTP1", "unhealthyThresholdCount": 2 }, "port": 443, "protocol": "HTTPS", "protocolVersion": "HTTP1", "vpcIdentifier": "vpc-f1663d9868EXAMPLE" }, "createdAt": "2023-05-06T04:41:04.122Z", "id": "tg-0eaa4b9ab4EXAMPLE", "lastUpdatedAt": "2023-05-06T04:41:04.122Z", "name": "my-target-group", "serviceArns": [ "arn:aws:vpc-lattice:us-east-2:123456789012:service/svc-0285b53b2eEXAMPLE" ], "status": "ACTIVE", "type": "INSTANCE" }

有关更多信息,请参阅《Amazon VPC Lattice 用户指南》中的目标组

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetTargetGroup

以下代码示例演示了如何使用 list-listeners

AWS CLI

列出服务侦听器

以下 list-listeners 示例列出指定服务的侦听器。

aws vpc-lattice list-listeners \ --service-identifier svc-0285b53b2eEXAMPLE

输出:

{ "items": [ { "arn": "arn:aws:vpc-lattice:us-east-2:123456789012:service/svc-0285b53b2eEXAMPLE/listener/listener-0ccf55918cEXAMPLE", "createdAt": "2023-05-07T05:08:45.192Z", "id": "listener-0ccf55918cEXAMPLE", "lastUpdatedAt": "2023-05-07T05:08:45.192Z", "name": "http-80", "port": 80, "protocol": "HTTP" } ] }

有关更多信息,请参阅《Amazon VPC Lattice 用户指南》中的定义路由

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListListeners

以下代码示例演示了如何使用 list-service-network-service-associations

AWS CLI

列出服务关联

以下 list-service-network-service-associations 示例列出指定服务网络的服务关联。该 --query 选项将输出范围限定为服务关联的 ID。

aws vpc-lattice list-service-network-service-associations \ --service-network-identifier sn-080ec7dc93EXAMPLE \ --query items[*].id

输出:

[ "snsa-031fabb4d8EXAMPLE", "snsa-0e16955a8cEXAMPLE" ]

有关更多信息,请参阅《Amazon VPC Lattice 用户指南》中的管理服务关联

以下代码示例演示了如何使用 list-service-network-vpc-associations

AWS CLI

列出 VPC 关联

以下 list-service-network-vpc-associations 示例列出指定服务网络的 VPC 关联。该 --query 选项将输出范围限定为 VPC 关联的 ID。

aws vpc-lattice list-service-network-vpc-associations \ --service-network-identifier sn-080ec7dc93EXAMPLE \ --query items[*].id

输出:

[ "snva-0821fc8631EXAMPLE", "snva-0c5dcb60d6EXAMPLE" ]

有关更多信息,请参阅《Amazon VPC Lattice 用户指南》中的管理 VPC 关联

以下代码示例演示了如何使用 list-service-networks

AWS CLI

列出服务网络

以下 list-service-networks 示例列出调用账户拥有或与之共享的服务网络。该 --query 选项将结果范围限定为服务网络的 Amazon 资源名称(ARN)。

aws vpc-lattice list-service-networks \ --query items[*].arn

输出:

[ "arn:aws:vpc-lattice:us-east-2:123456789012:servicenetwork/sn-080ec7dc93EXAMPLE", "arn:aws:vpc-lattice:us-east-2:111122223333:servicenetwork/sn-0ec4d436cfEXAMPLE" ]

有关更多信息,请参阅《Amazon VPC Lattice 用户指南》中的服务网络

以下代码示例演示了如何使用 list-services

AWS CLI

列出服务

以下 list-services 示例列出调用账户拥有或与之共享的服务。该 --query 选项将结果的范围限定为服务的 Amazon 资源名称(ARN)。

aws vpc-lattice list-services \ --query items[*].arn

输出:

[ "arn:aws:vpc-lattice:us-east-2:123456789012:service/svc-0285b53b2eEXAMPLE", "arn:aws:vpc-lattice:us-east-2:111122223333:service/svc-0b8ac96550EXAMPLE" ]

有关更多信息,请参阅《Amazon VPC Lattice 用户指南》中的服务

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListServices

以下代码示例演示了如何使用 list-target-groups

AWS CLI

列出目标组

以下 list-target-groups 示例列出目标类型为 LAMBDA 的目标组。

aws vpc-lattice list-target-groups \ --target-group-type LAMBDA

输出:

{ "items": [ { "arn": "arn:aws:vpc-lattice:us-east-2:123456789012:targetgroup/tg-045c1b7d9dEXAMPLE", "createdAt": "2023-05-06T05:22:16.637Z", "id": "tg-045c1b7d9dEXAMPLE", "lastUpdatedAt": "2023-05-06T05:22:16.637Z", "name": "my-target-group-lam", "serviceArns": [ "arn:aws:vpc-lattice:us-east-2:123456789012:service/svc-0285b53b2eEXAMPLE" ], "status": "ACTIVE", "type": "LAMBDA" } ] }

有关更多信息,请参阅《Amazon VPC Lattice 用户指南》中的目标组

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListTargetGroups

以下代码示例演示了如何使用 list-targets

AWS CLI

列出目标组中的目标

以下 list-targets 示例列出指定目标组中的目标。

aws vpc-lattice list-targets \ --target-group-identifier tg-0eaa4b9ab4EXAMPLE

输出:

{ "items": [ { "id": "i-07dd579bc5EXAMPLE", "port": 443, "status": "HEALTHY" }, { "id": "i-047b3c9078EXAMPLE", "port": 443, "reasonCode": "HealthCheckFailed", "status": "UNHEALTHY" } ] }

有关更多信息,请参阅《Amazon VPC Lattice 用户指南》中的目标组

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListTargets

以下代码示例演示了如何使用 put-auth-policy

AWS CLI

为服务创建身份验证策略

以下 put-auth-policy 示例授予对任何经过身份验证的主体所发出请求的访问权限,该主体使用指定 IAM 角色。该资源是向其中附加了策略的服务的 ARN。

aws vpc-lattice put-auth-policy \ --resource-identifier svc-0285b53b2eEXAMPLE \ --policy file://auth-policy.json

auth-policy.json 的内容:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/my-clients" }, "Action": "vpc-lattice-svcs:Invoke", "Resource": "arn:aws:vpc-lattice:us-east-2:123456789012:service/svc-0285b53b2eEXAMPLE" } ] }

输出:

{ "policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::123456789012:role/my-clients\"},\"Action\":\"vpc-lattice-svcs:Invoke\",\"Resource\":\"arn:aws:vpc-lattice:us-east-2:123456789012:service/svc-0285b53b2eEXAMPLE\"}]}", "state": "Active" }

有关更多信息,请参阅《Amazon VPC Lattice 用户指南》中的身份验证策略

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 PutAuthPolicy

以下代码示例演示了如何使用 register-targets

AWS CLI

注册目标

以下 register-targets 示例向指定目标组注册指定目标。

aws vpc-lattice register-targets \ --targets id=i-047b3c9078EXAMPLE id=i-07dd579bc5EXAMPLE \ --target-group-identifier tg-0eaa4b9ab4EXAMPLE

输出:

{ "successful": [ { "id": "i-07dd579bc5EXAMPLE", "port": 443 } ], "unsuccessful": [ { "failureCode": "UnsupportedTarget", "failureMessage": "Instance targets must be in the same VPC as their target group", "id": "i-047b3c9078EXAMPLE", "port": 443 } ] }

有关更多信息,请参阅《Amazon VPC Lattice 用户指南》中的注册目标

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 RegisterTargets