Что делать, если не удалось создать ошибки из шаблона CloudFormation на AWS?

Возникли проблемы с шаблоном AWS CloudFormation, который я пытаюсь запустить. Почему этот шаблон не работает?

Получение ошибок следующим образом:

Не удалось создать следующие ресурсы: [PrivateSubnet, PrivateRouteTable, InternetGatewayAttachment, DefaultPrivateRoute, WobblelandEc2Instance, VPC, PublicSubnet, WobblelandSecurityGroup, NatGateway]. Откат запрошен пользователем.

Неверный идентификатор: "InternetGateway" (ожидается "igw-...") (Сервис: AmazonEC2; Код состояния: 400; Код ошибки: InvalidInternetGatewayId.Malformed; Идентификатор запроса: 8d68ee2d-f68f-4c30-919d-9cab04fb5b99; Прокси-сервер: null)

Идентификатор эластичного IP-адреса «NatGatewayEIP.AllocationId» имеет неверный формат (служба: AmazonEC2; код состояния: 400; код ошибки: InvalidElasticIpID.Malformed; идентификатор запроса: 6c371787-644b-4e0b-9e94-1ae78b9af120; прокси-сервер: null)

Ниже приведен шаблон, который я пытаюсь использовать.

AWSTemplateFormatVersion: 2010-09-09
Description: "Wumbo Jumbo"
Parameters: 
  AvailabilityZone: 
    Type: "AWS::EC2::AvailabilityZone::Name"
  EnvironmentName: 
    Description: "An environment name that is prefixed to resource names"
    Type: String
  KeyName: 
    Default: mongodb
    Type: "AWS::EC2::KeyPair::KeyName"
  PrivateSubnetCIDR: 
    Default: 10.0.2.0/24
    Description: "Please enter the IP range (CIDR notation) for the private subnet in the first Availability Zone"
    Type: String
  PublicSubnetCIDR: 
    Default: 10.0.0.0/24
    Description: "Please enter the IP range (CIDR notation) for the public subnet in the first Availability Zone"
    Type: String
  VpcCIDR: 
    Default: 10.0.0.0/16
    Description: "Please enter the IP range (CIDR notation) for this VPC"
    Type: String
Resources: 
  WobblelandEc2Instance: 
    Properties: 
      ImageId: ami-04505e74c0741db8d
      InstanceType: t2.micro
      KeyName: KeyName
      SecurityGroupIds: 
        - WobblelandSecurityGroup
      UserData: 
        Fn::Sub: |
            #!/bin/bash
            wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
            echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
            sudo apt-get update
            sudo apt-get install -y mongodb-org
            
    Type: "AWS::EC2::Instance"
  WobblelandSecurityGroup: 
    Properties: 
      GroupDescription: "Allow HTTP/HTTPS and SSH inbound and outbound traffic"
      GroupName: 
        - "-"
        - 
          - Wobbleland-security-group
          - dev
      SecurityGroupIngress: 
        - 
          CidrIp: 0.0.0.0/0
          FromPort: 80
          IpProtocol: tcp
          ToPort: 80
        - 
          CidrIp: 0.0.0.0/0
          FromPort: 443
          IpProtocol: tcp
          ToPort: 443
        - 
          CidrIp: 0.0.0.0/0
          FromPort: 22
          IpProtocol: tcp
          ToPort: 22
    Type: "AWS::EC2::SecurityGroup"
  DefaultPrivateRoute: 
    Properties: 
      DestinationCidrBlock: 0.0.0.0/0
      NatGatewayId: NatGateway
      RouteTableId: PrivateRouteTable
    Type: "AWS::EC2::Route"
  DefaultPublicRoute: 
    DependsOn: InternetGatewayAttachment
    Properties: 
      DestinationCidrBlock: 0.0.0.0/0
      GatewayId: InternetGateway
      RouteTableId: PublicRouteTable
    Type: "AWS::EC2::Route"
  InternetGateway: 
    Properties: 
      Tags: 
        - 
          Key: Name
          Value: EnvironmentName
        - 
          Key: Env
          Value: EnvironmentName
    Type: "AWS::EC2::InternetGateway"
  InternetGatewayAttachment: 
    Properties: 
      InternetGatewayId: InternetGateway
      VpcId: VPC
    Type: "AWS::EC2::VPCGatewayAttachment"
  NatGateway: 
    Properties: 
      AllocationId: NatGatewayEIP.AllocationId
      SubnetId: PublicSubnet
    Type: "AWS::EC2::NatGateway"
  NatGatewayEIP: 
    DependsOn: InternetGatewayAttachment
    Properties: 
      Domain: vpc
    Type: "AWS::EC2::EIP"
  PrivateRouteTable: 
    Properties: 
      Tags: 
        - 
          Key: Name
          Value: "${EnvironmentName} Private Routes (AZ1)"
        - 
          Key: Env
          Value: EnvironmentName
      VpcId: VPC
    Type: "AWS::EC2::RouteTable"
  PrivateSubnet: 
    Properties: 
      AvailabilityZone: 
        - 0
      CidrBlock: PrivateSubnetCIDR
      MapPublicIpOnLaunch: false
      Tags: 
        - 
          Key: Name
          Value: "${EnvironmentName} Private Subnet (AZ1)"
        - 
          Key: Env
          Value: EnvironmentName
      VpcId: VPC
    Type: "AWS::EC2::Subnet"
  PublicRouteTable: 
    Properties: 
      Tags: 
        - 
          Key: Name
          Value: "${EnvironmentName} Public Routes"
        - 
          Key: Env
          Value: EnvironmentName
      VpcId: VPC
    Type: "AWS::EC2::RouteTable"
  PublicSubnet: 
    Properties: 
      AvailabilityZone: 
        - 0
      CidrBlock: PublicSubnetCIDR
      MapPublicIpOnLaunch: true
      Tags: 
        - 
          Key: Name
          Value: "${EnvironmentName} Public Subnet (AZ1)"
        - 
          Key: Env
          Value: EnvironmentName
      VpcId: VPC
    Type: "AWS::EC2::Subnet"
  VPC: 
    Properties: 
      CidrBlock: VpcCIDR
      EnableDnsHostnames: true
      EnableDnsSupport: true
      Tags: 
        - 
          Key: Name
          Value: EnvironmentName
        - 
          Key: Env
          Value: EnvironmentName
    Type: "AWS::EC2::VPC"
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
23
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вместо:

GatewayId: InternetGateway

Вы должны иметь

InternetGatewayId: !GetAtt InternetGateway.InternetGatewayId

К сожалению. Ошибки не менял. Спасибо за быстрый ответ!

Crunchy 07.04.2022 07:14

когда я также изменил Идентификатор Интернет-шлюза: Интернет-шлюз на InternetGatewayId: !GetAtt InternetGateway.InternetGatewayId, и теперь я получаю меньше ошибок! Все равно получите Не удалось создать следующие ресурсы: [InternetGateway, PrivateRouteTable, DefaultPrivateRoute, WobblelandSecurityGroup, PublicRouteTable]. Откат запрошен пользователем. , Значение свойства GroupName должно иметь тип String. и Не удалось получить перехватчики ресурсов для вызова ресурса, хотя

Crunchy 07.04.2022 07:22

один момент, пока я читал ваше обновление, я, возможно, пропустил. Спасибо за терпение.

Crunchy 07.04.2022 07:24

Вы были правы. Он исправил все эти ошибки! Спасибо. Теперь я получаю эти ошибки, исследуя их сейчас. Значение свойства GroupName должно иметь тип String 2022-04-06 22:28:45 UTC-0700 PrivateSubnet CREATE_FAILED Не удалось проверить свойства ресурса PrivateSubnet с сообщением: #/AvailabilityZone: ожидаемый тип: String, найдено: JSONArray 2022-04-06 22:28:45 UTC-0700 InternetGateway CREATE_FAILED Не удалось проверить свойства ресурса InternetGateway с сообщением: #: посторонний ключ [KeyName] не разрешен

Crunchy 07.04.2022 07:29

@Crunchy Если у вас есть новые ошибки, следует задать новый вопрос.

Marcin 07.04.2022 07:31

создан новый вопрос. stackoverflow.com/questions/71786158/…

Crunchy 07.04.2022 18:56

Другие вопросы по теме