我正在尝试在 cloudformation 中创建 ECS 服务,我想使用它创建的默认 VPC,并选择任何子网
I am trying to create an ECS service in cloudformation, and I want to use the default VPC that it creates, and choose any of the subnets
下面是yaml模板。在 NetworkConfiguration 中,子网 属性 是必需的。我应该如何将其设置为创建的默认 VPC 的任何子网?
Resources:
ECSService:
Type: AWS::ECS::Service
Properties:
TaskDefinition: !Ref ECSTaskDefinition
LaunchType: FARGATE
Cluster: !Ref ECSCluster
ServiceName: !Join
- '-'
-
- !Ref Message
- !Ref Stage
- service
DesiredCount: 1
DeploymentConfiguration:
MaximumPercent: 200
MinimumHealthyPercent: 100
NetworkConfiguration:
AwsvpcConfiguration:
AssignPublicIp: ENABLED
Subnets:
- ?????
“此 vpc 中的任何子网”没有值,您必须在模板中或作为参数设置子网。
或者,您可以在模板中创建 vpc 和子网,并在描述您的 ECS 服务时引用它们。
最后,您可以使用自定义资源来调用查找子网的 Lambda 函数,但它比本机引用更复杂。在此处查看 AWS 博客 post https://aws.amazon.com/blogs/mt/looking-up-information-on-aws-cloudformation-stack-parameters-using-aws-lambda/
如果它是默认 vpc,您可以尝试对值进行硬编码。或者在您的模板中定义一个新的 vpc 和子网并引用它们。
顺便说一句,您可以尝试 cloudkast,这是一个在线 aws cloudformation 模板生成器。在处理 cloudformation 模板时,它应该会让你的生活不那么可怕。 ;-)
下面是yaml模板。在 NetworkConfiguration 中,子网 属性 是必需的。我应该如何将其设置为创建的默认 VPC 的任何子网?
Resources:
ECSService:
Type: AWS::ECS::Service
Properties:
TaskDefinition: !Ref ECSTaskDefinition
LaunchType: FARGATE
Cluster: !Ref ECSCluster
ServiceName: !Join
- '-'
-
- !Ref Message
- !Ref Stage
- service
DesiredCount: 1
DeploymentConfiguration:
MaximumPercent: 200
MinimumHealthyPercent: 100
NetworkConfiguration:
AwsvpcConfiguration:
AssignPublicIp: ENABLED
Subnets:
- ?????
“此 vpc 中的任何子网”没有值,您必须在模板中或作为参数设置子网。
或者,您可以在模板中创建 vpc 和子网,并在描述您的 ECS 服务时引用它们。
最后,您可以使用自定义资源来调用查找子网的 Lambda 函数,但它比本机引用更复杂。在此处查看 AWS 博客 post https://aws.amazon.com/blogs/mt/looking-up-information-on-aws-cloudformation-stack-parameters-using-aws-lambda/
如果它是默认 vpc,您可以尝试对值进行硬编码。或者在您的模板中定义一个新的 vpc 和子网并引用它们。
顺便说一句,您可以尝试 cloudkast,这是一个在线 aws cloudformation 模板生成器。在处理 cloudformation 模板时,它应该会让你的生活不那么可怕。 ;-)