创建支持 VPC Lattice 的服务 - Amazon Elastic Container Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

创建支持 VPC Lattice 的服务

您可以使用 Amazon Web Services Management Console 或 Amazon CLI 创建支持 VPC Lattice 的服务。

先决条件

在开始本教程之前,请确保满足以下先决条件:

使用 Amazon Web Services Management Console 创建支持 VPC Lattice 的服务

按照以下步骤使用 Amazon Web Services Management Console 创建支持 VPC Lattice 的服务。

  1. https://console.aws.amazon.com/ecs/v2 打开控制台。

  2. 在导航页面中,选择集群

  3. 集群页面上,选择要在其中创建服务的集群。

  4. Services(服务)选项卡上,选择 Create(创建)。

    如果您以前从未创建过服务,请按照使用控制台创建 Amazon ECS 服务中的步骤进行操作,然后在进入 VPC Lattice 部分后继续执行这些步骤。

  5. 勾选按钮,选择开启 VPC Lattice

  6. 要使用现有的角色,则对于 Amazon ECS 的 ECS 基础设施角色,请选择您已经创建的角色,以便在创建 VPC Lattice 目标组时使用。要创建新角色,请创建 ECS 基础设施角色

  7. 选择 VPC

    VPC 取决于您在注册任务定义时选择的联网模式。如果将 hostnetwork 模式与 EC2 启动类型结合使用,请选择您的 VPC。

    对于 awsvpc 模式,系统会根据您在联网下选择的 VPC 自动选择 VPC,并且无法更改。

  8. 目标组下,选择一个或多个目标组。您需要选择至少 1 个目标组,最多可选择 5 个目标组。要添加更多目标组,请选择添加目标组。为您选择的每个目标组选择端口名称协议端口。要删除目标组,请选择移除

    注意
    • 如果要添加现有目标组,则需要使用 Amazon CLI。有关如何使用 Amazon CLI 添加目标组的说明,请参阅《Amazon Command Line Interface 参考》中的 register-targets

    • 虽然 VPC Lattice 服务可以有多个目标组,但每个目标组只能添加到一个服务中。

  9. 然后,您可以导航到 VPC Lattice 控制台继续进行设置。进入控制台后,您可以在侦听器默认操作或现有 VPC Lattice 服务的规则中加入新的目标组。

    有关更多信息,请参阅 Listener rules for your VPC Lattice

重要

您需要允许安全组使用入站规则 vpc-lattice 前缀,否则任务和运行状况检查可能会失败。

使用 Amazon CLI 创建支持 VPC Lattice 的服务

使用 Amazon CLI 创建支持 VPC Lattice 的服务。将每个用户输入占位符替换为您自己的信息。

  1. 创建目标组配置文件。以下示例名为 tg-config.json

    { "ipAddressType": "IPV4", "port": 443, "protocol": "HTTPS", "protocolVersion": "HTTP1", "vpcIdentifier": "vpc-f1663d9868EXAMPLE" }
  2. 使用以下命令创建 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" }
  3. 以下名为 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 \ --serviceName ecs-service-vpc-lattice \ --cli-input-json file://ecs-service-vpc-lattice.json