创建支持 VPC Lattice 的服务
您可以使用 Amazon Web Services Management Console 或 Amazon CLI 创建支持 VPC Lattice 的服务。
先决条件
在开始本教程之前,请确保满足以下先决条件:
-
安装并配置了最新版本的 Amazon CLI。有关更多信息,请参阅安装 Amazon Command Line Interface。
注意
您可以使用双堆栈服务端点通过 IPv4 和 IPv6 从 Amazon CLI、SDK 和 Amazon ECS API 与 Amazon ECS 进行交互。有关更多信息,请参阅 使用 Amazon ECS 双堆栈端点。
-
完成 设置以使用 Amazon ECS 中所述的步骤。
-
您的 IAM 用户具有 AmazonECS_FullAccess IAM 策略示例中指定的必需权限。
使用 Amazon Web Services Management Console 创建支持 VPC Lattice 的服务
按照以下步骤使用 Amazon Web Services Management Console 创建支持 VPC Lattice 的服务。
-
在导航页面中,选择集群。
-
在集群页面上,选择要在其中创建服务的集群。
-
在 Services(服务)选项卡上,选择 Create(创建)。
如果您以前从未创建过服务,请按照使用控制台创建 Amazon ECS 服务中的步骤进行操作,然后在进入 VPC Lattice 部分后继续执行这些步骤。
-
勾选按钮,选择开启 VPC Lattice。
-
要使用现有的角色,则对于 Amazon ECS 的 ECS 基础设施角色,请选择您已经创建的角色,以便在创建 VPC Lattice 目标组时使用。要创建新角色,请创建 ECS 基础设施角色。
-
选择 VPC。
VPC 取决于您在注册任务定义时选择的联网模式。如果将
host
或network
模式与 EC2 启动类型结合使用,请选择您的 VPC。对于
awsvpc
模式,系统会根据您在联网下选择的 VPC 自动选择 VPC,并且无法更改。 -
在目标组下,选择一个或多个目标组。您需要选择至少 1 个目标组,最多可选择 5 个目标组。要添加更多目标组,请选择添加目标组。为您选择的每个目标组选择端口名称、协议和端口。要删除目标组,请选择移除。
注意
-
如果要添加现有目标组,则需要使用 Amazon CLI。有关如何使用 Amazon CLI 添加目标组的说明,请参阅《Amazon Command Line Interface 参考》中的 register-targets。
-
虽然 VPC Lattice 服务可以有多个目标组,但每个目标组只能添加到一个服务中。
-
-
然后,您可以导航到 VPC Lattice 控制台继续进行设置。进入控制台后,您可以在侦听器默认操作或现有 VPC Lattice 服务的规则中加入新的目标组。
有关更多信息,请参阅 Listener rules for your VPC Lattice。
重要
您需要允许安全组使用入站规则 vpc-lattice
前缀,否则任务和运行状况检查可能会失败。
使用 Amazon CLI 创建支持 VPC Lattice 的服务
使用 Amazon CLI 创建支持 VPC Lattice 的服务。将每个用户输入占位符
替换为您自己的信息。
-
创建目标组配置文件。以下示例名为
tg-config.json
{ "ipAddressType": "IPV4", "port": 443, "protocol": "HTTPS", "protocolVersion": "HTTP1", "vpcIdentifier": "
vpc-f1663d9868EXAMPLE
" } -
使用以下命令创建 VPC Lattice 目标组。
aws vpc-lattice create-target-group \ --name my-lattice-target-group-ip \ --type IP \ --config file://
tg-config.json
输出示例:
{ "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" }
-
以下名为
ecs-service-vpc-lattice.json
的 JSON 文件是用于将 Amazon ECS 服务附加到 VPC Lattice 目标组的示例。以下示例中的portName
与您在任务定义portMappings
属性name
字段中定义的相同。{ "serviceName": "
ecs-service-vpc-lattice
", "taskDefinition": "ecs-task-def
", "vpcLatticeConfigurations": [ { "targetGroupArn": "arn:aws:vpc-lattice:us-west-2:123456789012
:targetgroup/tg-0eaa4b9ab4EXAMPLE
", "portName": "testvpclattice
", "roleArn": "arn:aws:iam::123456789012
:role/ecsInfrastructureRoleVpcLattice" } ], "desiredCount":5
, "role": "ecsServiceRole
" }使用以下命令创建 Amazon ECS 服务,并使用上面的 json 示例将其附加到 VPC Lattice 目标组。
aws ecs create-service \ --cluster
clusterName
\ --serviceNameecs-service-vpc-lattice
\ --cli-input-json file://ecs-service-vpc-lattice.json