Я пытаюсь построить небольшую инфраструктуру:
Пока что для того, чтобы сделать его работоспособным удаленно, мне пришлось добавить:
Когда я развертываю шаблон, он успешно создается. Я могу посмотреть в консоль и увидеть все компоненты.
У меня проблема с подключением к экземпляру позже. Тайм-аут попыток подключения по ssh.
Думаю, я сузил эту проблему до того факта, что при построении стека развертываются две таблицы маршрутизации. Один отмечен как основной к которому не добавлен маршрут по умолчанию. Другой маршрут, который я явно определяю в моем шаблоне, и к которому я добавляю маршрут по умолчанию.
Если я добавлю маршрут по умолчанию в таблицу определения шаблона постфактум, я смогу ssh.
Думаю, мои вопросы:
Шаблон:
AWSTemplateFormatVersion: 2010-09-09 Resources: vpcCandidateEyMm7zuOcn: Type: 'AWS::EC2::VPC' Properties: CidrBlock: 192.168.0.0/16 EnableDnsHostnames: 'true' EnableDnsSupport: 'true' InstanceTenancy: default Tags: - Key: Test Value: Test Metadata: 'AWS::CloudFormation::Designer': id: 052446e9-ed29-4689-8eb2-2006482f7a65 IgCandidateEyMm7zuOcn: Type: "AWS::EC2::InternetGateway" Properties: Tags: - Key: Test Value: Test AigCandidateEyMm7zuOcn: Type: "AWS::EC2::VPCGatewayAttachment" Properties: VpcId: Ref: vpcCandidateEyMm7zuOcn InternetGatewayId: Ref: IgCandidateEyMm7zuOcn RtblCandidateEyMm7zuOcn: Type: "AWS::EC2::RouteTable" Properties: VpcId: Ref: vpcCandidateEyMm7zuOcn myRoute: Type: AWS::EC2::Route DependsOn: IgCandidateEyMm7zuOcn Properties: RouteTableId: Ref: RtblCandidateEyMm7zuOcn DestinationCidrBlock: 0.0.0.0/0 GatewayId: Ref: IgCandidateEyMm7zuOcn subnetCandidateEyMm7zuOcn: Type: 'AWS::EC2::Subnet' Properties: CidrBlock: 192.168.1.0/24 MapPublicIpOnLaunch: 'true' Tags: - Key: Test Value: Test VpcId: !Ref vpcCandidateEyMm7zuOcn Metadata: 'AWS::CloudFormation::Designer': id: b9300540-4fb5-4a9c-a432-d12d9a78e08c allowSSH: Type: 'AWS::EC2::SecurityGroup' Properties: GroupDescription: 'Allow SSH from Anywhere' VpcId: Ref: vpcCandidateEyMm7zuOcn SecurityGroupIngress: - IpProtocol: tcp FromPort: '22' ToPort: '22' CidrIp: 0.0.0.0/0 ansibleInstance: Type: 'AWS::EC2::Instance' Properties: ImageId: ami-4bf3d731 KeyName: AWSCentOS7 InstanceType: t2.micro SubnetId: !Ref subnetCandidateEyMm7zuOcn SecurityGroupIds: - !Ref allowSSH Tags: - Key: Name Value: Test UserData: Fn::Base64: !Sub | #!/bin/bash pip install ansible cd ~ wget https://s3.amazonaws.com/ansibledepot/web.tar.gz tar zxvf web.tar.gz Metadata: 'AWS::CloudFormation::Designer': id: 63fffdde-e058-45ad-b2c8-7cf00fd54351
Нашел ответ Вот. Пришлось добавить подсеть в таблицу маршрутизации.
"subnet0RTA": {
"Type" : "AWS::EC2::SubnetRouteTableAssociation",
"Properties" : {
"RouteTableId" : {"Ref" : "rtb"},
"SubnetId" : {"Ref" : "subnet0"}
}
},
"subnet1RTA": {
"Type" : "AWS::EC2::SubnetRouteTableAssociation",
"Properties" : {
"RouteTableId" : {"Ref" : "rtb"},
"SubnetId" : {"Ref" : "subnet1"}
}
},