Я новичок в Cloud Formation
Я хочу запустить экземпляр ec2 из настраиваемого ami через шаблон формирования облака. Как это сделать?
Я новичок в Cloud Formation
Я хочу запустить экземпляр ec2 из настраиваемого ami через шаблон формирования облака. Как это сделать?
Это делается так же, как и в случае с AMI сообщества. Просто передайте идентификатор вашего пользовательского AMI свойству ImageId
.
Пример:
"Ec2Instance" : {
"Type" : "AWS::EC2::Instance",
"Properties" : {
"ImageId" : "<Cusom_AMI_ID>",
"KeyName" : { "Ref" : "KeyName" },
"NetworkInterfaces": [ {
"AssociatePublicIpAddress": "true",
"DeviceIndex": "0",
"GroupSet": [{ "Ref" : "myVPCEC2SecurityGroup" }],
"SubnetId": { "Ref" : "PublicSubnet" }
} ]
}
}
Однако все AMI зависят от региона. Если вы хотите использовать этот пользовательский интерфейс в нескольких регионах, вам необходимо скопировать этот пользовательский AMI в те регионы, в которых вы хотите его использовать.
Источник: Копирование AMI
Ниже приведены варианты выбора не только ami-id. Надеюсь, это поможет! Найдите часть ami-id в разделе Сопоставления.
AWSTemplateFormatVersion: '2010-09-09'
Metadata:
License: Apache-2.0
Parameters:
KeyName:
Description: Name of an existing EC2 KeyPair to enable SSH access to the instance
Type: AWS::EC2::KeyPair::KeyName
ConstraintDescription: must be the name of an existing EC2 KeyPair.
Default: <keypairname>
InstanceType:
Description: WebServer EC2 instance type
Type: String
Default: t2.micro
AllowedValues: [t1.micro, t2.nano, t2.micro, t2.small, t2.medium]
ConstraintDescription: Must be a valid EC2 instance type.
VPC:
Description: Select VPC.
Type: AWS::EC2::VPC::Id
Default: <vpc-id>
Subnet:
Description: Private Subnet to Deploy Docker MFA.
Type: AWS::EC2::Subnet::Id
Default: <subnet-id>
AccessSecurityGroup:
Description: Security Group That Allows Instance to Instance Access.
Type: AWS::EC2::SecurityGroup::Id
Default: <securitygroup-id>
Mappings:
RegionMap:
eu-central-1:
AMI: <ami-id>
Resources:
EC2Instance:
Type: AWS::EC2::Instance
Properties:
InstanceType: !Ref 'InstanceType'
KeyName: !Ref 'KeyName'
Tags:
- Key: Name
Value: My-Instance
ImageId:
Fn::FindInMap:
- RegionMap
- Ref: AWS::Region
- AMI
NetworkInterfaces:
- GroupSet:
- Ref: AccessSecurityGroup
AssociatePublicIpAddress: 'true'
DeviceIndex: '0'
DeleteOnTermination: 'true'
SubnetId:
Ref: Subnet
Outputs:
InstanceId:
Description: InstanceId of the newly created EC2 instance
Value: !Ref 'EC2Instance'
AZ:
Description: Availability Zone of the newly created EC2 instance
Value: !GetAtt [EC2Instance, AvailabilityZone]
PublicDNS:
Description: Public DNSName of the newly created EC2 instance
Value: !GetAtt [EC2Instance, PublicDnsName]
PublicIP:
Description: Public IP address of the newly created EC2 instance
Value: !GetAtt [EC2Instance, PublicIp]