aws облачная информация - запустить экземпляр ec2 в моем vpc - PullRequest
0 голосов
/ 22 января 2020
  EC2Instance:
    Type: 'AWS::EC2::Instance'
    Properties:
      InstanceType: !Ref InstanceType
      SubnetId: !Ref SubnetAPublic
      SecurityGroups:
        - !Ref InstanceSecurityGroup
      KeyName: !Ref KeyName
      ImageId: !FindInMap 
        - AWSRegionArch2AMI
        - !Ref 'AWS::Region'
        - !FindInMap 
          - AWSInstanceType2Arch
          - !Ref InstanceType
          - Arch       
  InstanceSecurityGroup:
    Type: 'AWS::EC2::SecurityGroup'
    Properties:
      GroupDescription: Enable SSH access via port 22
      SecurityGroupIngress:
        - IpProtocol: tcp
          FromPort: '22'
          ToPort: '22'
          CidrIp: !Ref SSHLocation

Если я удаляю «SubnetId :! Ref SubnetAPubli c» из записи EC2Instance, он работает нормально.

В чем причина?

[Полный код] https://raw.githubusercontent.com/syLee1111/test/master/public%20and%20private%20subnets%20in%20two%20availability%20zones.yaml

1 Ответ

1 голос
/ 22 января 2020

Понял. Это потому, что su bnet является частью vp c, а ваша группа безопасности - нет.

Это должно работать, если вы создаете группу безопасности внутри vp c.

. Это можно сделать, установив параметр VpcId для группы безопасности.

также вы должны использовать SecurityGroupIds вместо SecurityGroups

EC2Instance:
  Type: 'AWS::EC2::Instance'
  Properties:
    InstanceType: !Ref InstanceType
    SubnetId: !Ref SubnetAPublic
    SecurityGroupIds:
      - !Ref InstanceSecurityGroup
    KeyName: !Ref KeyName
    ImageId: !FindInMap 
      - AWSRegionArch2AMI
      - !Ref 'AWS::Region'
      - !FindInMap 
        - AWSInstanceType2Arch
        - !Ref InstanceType
        - Arch  

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...