如何使用AWS cloudformation启动EC2实例

时间:2017-05-25 02:52:16

标签: amazon-ec2 amazon-cloudformation ami aws-marketplace

我已将我的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所以我想问几个问题

  1. 是否可以创建CloudFormation模板,以便:1)创建新角色2)为此角色分配策略3)使用AMI创建EC2实例(将指定amiID)角色和WebSecurityGroup。

  2. 我创建了以下模板,用于创建新角色并为其分配完整的S3访问权限。

  3. 但我不知道如何做其余的事情。如何使用此新角色启动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: "/"
    

1 个答案:

答案 0 :(得分:1)

在Amazon CloudFormation模板中,您将定义以下资源:

  • IAM::Role(正如您已经完成的那样)
  • IAM::InstanceProfile(允许Amazon EC2实例承担角色)
  • EC2::SecurityGroup
  • AWS::EC2::Instance会引用InstanceProfile,您的AMI和安全组

有些例子,请参阅:

最后一个链接通常提供每种资源类型的示例,因此复制示例然后针对您的用例进行自定义是一个问题。