如何使用 AWS cloudformation 启动 EC2 实例
How to launch EC2 instance using AWS cloudformation
我已将我的 AMI 提交到 AWS Marketplace,但它被拒绝了,说我需要将我的手动说明转换为 CloudFormation 模板。我目前针对用户的手册说明如下:
- User must create a new Role
- Assign AWSS3FullAccess to this role
- Launch the AMI with WebSecurityGroup (port 80 and 443)
我之前没有用过CloudFormation所以想请教几个问题
是否可以创建一个 CloudFormation 模板,以便:1) 创建一个新角色 2) 为这个角色分配一个策略 3) 使用 AMI 创建一个 EC2 实例(amiID 是指定)与此角色和 WebSecurityGroup。
我创建了以下模板,它创建了一个新角色并为其分配了完整的 S3 访问权限。
但我不确定如何做其余的事情。如何使用这个新角色启动 EC2 实例并指定我的 AMI id?
AWSTemplateFormatVersion: '2010-09-09'
Description: Sample
Resources:
MyAmiRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Principal:
Service:
- ec2.amazonaws.com
Action: sts:AssumeRole
ManagedPolicyArns:
- arn:aws:iam::aws:policy/AmazonS3FullAccess
Path: "/"
在您的 Amazon CloudFormation 模板中,您将定义以下资源:
IAM::Role
(正如您已经完成的那样)
IAM::InstanceProfile
(允许角色由 Amazon EC2 实例承担)
EC2::SecurityGroup
AWS::EC2::Instance
将引用 InstanceProfile
、您的 AMI 和安全组
有关示例,请参阅:
- IAM Role with Embedded Policy and Instance Profiles
- Associating an existing IAM role with AWS::EC2::Instance in CloudFormation
- AWS CloudFormation Resource Types Reference
最后一个 link 通常提供每种资源类型的示例,因此只需复制示例然后根据您的用例进行自定义。
我已将我的 AMI 提交到 AWS Marketplace,但它被拒绝了,说我需要将我的手动说明转换为 CloudFormation 模板。我目前针对用户的手册说明如下:
- User must create a new Role
- Assign AWSS3FullAccess to this role
- Launch the AMI with WebSecurityGroup (port 80 and 443)
我之前没有用过CloudFormation所以想请教几个问题
是否可以创建一个 CloudFormation 模板,以便:1) 创建一个新角色 2) 为这个角色分配一个策略 3) 使用 AMI 创建一个 EC2 实例(amiID 是指定)与此角色和 WebSecurityGroup。
我创建了以下模板,它创建了一个新角色并为其分配了完整的 S3 访问权限。
但我不确定如何做其余的事情。如何使用这个新角色启动 EC2 实例并指定我的 AMI id?
AWSTemplateFormatVersion: '2010-09-09'
Description: Sample
Resources:
MyAmiRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Principal:
Service:
- ec2.amazonaws.com
Action: sts:AssumeRole
ManagedPolicyArns:
- arn:aws:iam::aws:policy/AmazonS3FullAccess
Path: "/"
在您的 Amazon CloudFormation 模板中,您将定义以下资源:
IAM::Role
(正如您已经完成的那样)IAM::InstanceProfile
(允许角色由 Amazon EC2 实例承担)EC2::SecurityGroup
AWS::EC2::Instance
将引用InstanceProfile
、您的 AMI 和安全组
有关示例,请参阅:
- IAM Role with Embedded Policy and Instance Profiles
- Associating an existing IAM role with AWS::EC2::Instance in CloudFormation
- AWS CloudFormation Resource Types Reference
最后一个 link 通常提供每种资源类型的示例,因此只需复制示例然后根据您的用例进行自定义。