Я пытаюсь создать службу ECS в облачной форме и хочу использовать VPC по умолчанию, который он создает, и выбрать любую из подсетей. - PullRequest
1 голос
/ 15 июня 2019

Ниже приведен шаблон 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: 
                        - ?????

Ответы [ 2 ]

0 голосов
/ 01 июля 2019

Если это vpc по умолчанию, вы можете попробовать жестко закодировать значения. Или определите новый vpc и подсети в вашем шаблоне и обратитесь к ним.

Кстати, вы можете попробовать cloudkast , который является онлайн генератором шаблонов облачной информации aws. Это должно сделать вашу жизнь менее ужасной при работе с шаблонами облачной информации. ; -)

0 голосов
/ 16 июня 2019

Нет значения для «любой подсети в этом vpc», вам нужно будет установить подсети в шаблоне или в качестве параметра.

В качестве альтернативы вы можете создать vpc и подсети в шаблоне и ссылаться на них при описании службы ECS.

Наконец, вы можете использовать собственный ресурс для вызова лямбда-функции, которая просматривает подсети, но это сложнее, чем собственная ссылка. Смотрите сообщение в блоге AWS здесь https://aws.amazon.com/blogs/mt/looking-up-information-on-aws-cloudformation-stack-parameters-using-aws-lambda/

...