Differences between revisions 3 and 4
Revision 3 as of 2013-05-02 16:39:50
Size: 3210
Comment:
Revision 4 as of 2013-05-02 16:45:17
Size: 7369
Comment:
Deletions are marked like this. Additions are marked like this.
Line 53: Line 53:

These images (above) were copied to the AWS Marketplace Account and then replicated to all AWS Marketplace-supported Regions, and became identifiable by the following list of AMI IDs:

=== Upgrading from previous 6.x.y releases ===
As is standard with Debian, a simple '''apt-get update && apt-get upgrade''' should bring all packages up to date. There is no need to reinstall, but any CloudFormation templates and AutoScale Launch Configurations should be tested with and then updated to use the current AMI. It is recommended not to use older point releases.


= CloudFormation Template =
<<Anchor(CFTemplate)>>
!CloudFormation is a templating system for defining AWS resources - see http://aws.amazon.com/cloudformation/

{{{
{
 "Parameters" : {
  "KeyName" : {
   "Description" : "SSH Key Name",
   "Type" : "String",
   "Default" : "My-Key"
  },
  "MyInstanceSize": {
   "Description": "Instance size",
   "Type": "String",
   "Default" : "t1.micro"
  },
  "MyInstanceName": {
   "Description": "Instance name",
   "Type": "String"
  }
  "RootVolType": {
   "Description": "Root volume type",
   "Type": "String",
   "Default": "EBS"
  }
 },
 "Mappings" : {
            "Debian700-EBS-PVM-marketplace" : {
                "us-east-1" : { "32" : "ami-", "64" : "ami-"},
                "us-west-1" : { "32" : "ami-", "64" : "ami-"},
                "us-west-2" : { "32" : "ami-", "64" : "ami-"},
                "us-gov-west-1" : { "32" : "", "64" : ""},
                "eu-west-1" : { "32" : "ami-", "64" : "ami-"},
                "ap-southeast-1" : { "32" : "ami-", "64" : "ami-"},
                "ap-southeast-2" : { "32" : "", "64" : ""},
                "ap-northeast-1" : { "32" : "ami-", "64" : "ami-"},
                "sa-east-1" : { "32" : "ami-", "64" : "ami-"},
            },
            "Debian700-Instance-PVM-marketplace" : {
                "us-east-1" : { "32" : "ami-", "64" : "ami-"},
                "us-west-1" : { "32" : "ami-", "64" : "ami-"},
                "us-west-2" : { "32" : "ami-", "64" : "ami-"},
                "us-gov-west-1" : { "32" : "", "64" : ""},
                "eu-west-1" : { "32" : "ami-", "64" : "ami-"},
                "ap-southeast-1" : { "32" : "ami-", "64" : "ami-"},
                "ap-southeast-2" : { "32" : "ami-", "64" : "ami-"},
                "ap-northeast-1" : { "32" : "ami-", "64" : "ami-"},
                "sa-east-1" : { "32" : "ami-", "64" : "ami-"},
            },
     "release" : {
  "stable" : { "squeeze" : "Debian700" }
     }
 },
 "Resources" : {
  "MyInstance" : {
   "Type" : "AWS::EC2::Instance",
   "Properties" : {
    "SecurityGroups" : [ { "Ref" : "MySecurityGroup" } ],
    "KeyName" : { "Ref": "KeyName" },
    "Tags" : [{"Key": "Name", "Value": {"Ref" : "MyInstanceName"} } ],
    "ImageId" : { "Fn::FindInMap" : [ "Debian700-marketplace", { "Ref" : "AWS::Region" }, "64" ]},
    "InstanceType" : { "Ref" : "MyInstanceSize" },
    "UserData" : { "Fn::Base64" : "" }
   }
  },
  "MySecurityGroup" : {
   "Type" : "AWS::EC2::SecurityGroup",
   "Properties" : {
    "GroupDescription" : "Permit inbound SSH",
    "SecurityGroupIngress" : [
          {
     "IpProtocol" : "tcp",
     "FromPort" : "22",
     "ToPort" : "22",
     "CidrIp" : "0.0.0.0/0"
        }
    ]
   }
  }
 }
}
}}}

= Suggested UserData scripts =
<<Anchor(UserDataExamples)>>
The image by default takes no actions upon boot, and does not auto-update. However, as the Debian image does honour executing !UserData meta-data that looks like a script (started with #!/bin/sh), you may optionally chose to take some action. This action can be passed as a script in the AWS Console !UserData input, or in the above !CloudFormation template to an instance (see the !UserData section in the example above).

You can chose to enable auto update with the following !UserData scripts:

{{{#!highlight bash
#!/bin/sh
apt-get update && apt-get upgrade -y && apt-get install -y unattended-upgrades
}}}


----
See also [[Cloud]] and [[Teams/Cloud]].

Debian Wheezy (7.0.x) on AWS

Under construction 4/May/2013

List of point releases published to the AWS Marketplace:

You may wish to use the CloudFormation template and launch your instance with some smart UserData scripts. For some releases you are free to choose the AWS Marketplace AMI, or the AMI that exists in the Debian AMI Account (account number 379101102735).

SSH username

In line with the security of most Linux distributions on Amazon Web Services, remote root SSH is disabled (as is password authentication). You will need to connect to instances from this AMI as the user admin, and then sudo -i to gain root access.

Please note that a Marketplace image volume cannot be attached to another running instance (For example, to repair a broken /etc/fstab, or /etc/network/interfaces). This is a limitation of all Marketplace images, as described here: Official AWS documentation


7.0.0

Images were created on 5/May/2013 by James Bromberger using debian-build-cloud tagged accordingly. The original (non-AWS-Marketplace) AMIs were generated in account 379101102735, and the images were identifiable in the AWS US-East-1 Region as:

  • TBA
  • TBA

These images were generated in each Region (except GovCloud) with the following script:

   1 #!/bin/sh
   2 apt-get update; apt-get install -y git; cd ~root; git clone https://github.com/andsens/debian-build-cloud.git; cd ~root/debian-build-cloud; export PATH=$PATH:/usr/local/bin/;  export EC2_ACCESS_KEY='XXXXXXXXXXX'; export EC2_SECRET_KEY='XXXXXXXXXXX'; ./debian-build-cloud aws --volume-size 8 --plugin plugins/admin-user --description 'Debian 7.0.0 (Wheezy)' --plugin plugins/publish-ami --plugin plugins/publish-snapshot --codename wheezy; ./debian-build-cloud aws --volume-size 8 --plugin plugins/admin-user --description 'Debian 7.0.0 (Wheezy)' --arch i386 --plugin plugins/publish-ami --plugin plugins/publish-snapshot --codename wheezy; shutdown -h now

The full list of AMIs worldwide in the Debian AMI account are:

Virtualisation

Para-virtualisation (PVM)

Hardware Virtualisation (HVM)

Root filesystem

EBS

Instance store

EBS

Instance store

Region

32 bit

64 bit

32 bit

64 bit

32 bit

64 bit

32 bit

64 bit

US-East-1

US-West-1

US-West-2

EU-West-1

AP-Southeast-1

AP-Southeast-2

AP-Northeast-1

SA-East-1

All AMIs and their corresponding EBS snapshots are marked as public so can be inspected by any other AWS user.

AWS Marketplace Image Distribution

These images (above) were copied to the AWS Marketplace Account and then replicated to all AWS Marketplace-supported Regions, and became identifiable by the following list of AMI IDs:

Upgrading from previous 6.x.y releases

As is standard with Debian, a simple apt-get update && apt-get upgrade should bring all packages up to date. There is no need to reinstall, but any ?CloudFormation templates and ?AutoScale Launch Configurations should be tested with and then updated to use the current AMI. It is recommended not to use older point releases.

CloudFormation Template

CloudFormation is a templating system for defining AWS resources - see http://aws.amazon.com/cloudformation/

{
        "Parameters" : {
                "KeyName" : {
                        "Description" : "SSH Key Name",
                        "Type" : "String",
                        "Default" : "My-Key"
                },
                "MyInstanceSize": {
                        "Description": "Instance size",
                        "Type": "String",
                        "Default" : "t1.micro"
                },
                "MyInstanceName": {
                        "Description": "Instance name",
                        "Type": "String"
                }
                "RootVolType": {
                        "Description": "Root volume type",
                        "Type": "String",
                        "Default": "EBS"
                }
        },
        "Mappings" : {
            "Debian700-EBS-PVM-marketplace" : { 
                "us-east-1" :      { "32" : "ami-", "64" : "ami-"},
                "us-west-1" :      { "32" : "ami-", "64" : "ami-"},
                "us-west-2" :      { "32" : "ami-", "64" : "ami-"},
                "us-gov-west-1" :  { "32" : "", "64" : ""},
                "eu-west-1" :      { "32" : "ami-", "64" : "ami-"},
                "ap-southeast-1" : { "32" : "ami-", "64" : "ami-"},
                "ap-southeast-2" : { "32" : "", "64" : ""},
                "ap-northeast-1" : { "32" : "ami-", "64" : "ami-"},
                "sa-east-1" :      { "32" : "ami-", "64" : "ami-"},
            },
            "Debian700-Instance-PVM-marketplace" : {
                "us-east-1" :      { "32" : "ami-", "64" : "ami-"},
                "us-west-1" :      { "32" : "ami-", "64" : "ami-"},
                "us-west-2" :      { "32" : "ami-", "64" : "ami-"},
                "us-gov-west-1" :  { "32" : "", "64" : ""},
                "eu-west-1" :      { "32" : "ami-", "64" : "ami-"},
                "ap-southeast-1" : { "32" : "ami-", "64" : "ami-"},
                "ap-southeast-2" : { "32" : "ami-", "64" : "ami-"},
                "ap-northeast-1" : { "32" : "ami-", "64" : "ami-"},
                "sa-east-1" :      { "32" : "ami-", "64" : "ami-"},
            },
            "release" : {
                "stable" : { "squeeze" : "Debian700" }
            }
        },
        "Resources" : {
                "MyInstance" : {
                        "Type" : "AWS::EC2::Instance",
                        "Properties" : {
                                "SecurityGroups" : [ { "Ref" : "MySecurityGroup" } ],
                                "KeyName" : { "Ref": "KeyName" },
                                "Tags" : [{"Key": "Name", "Value": {"Ref" : "MyInstanceName"} } ],
                                "ImageId" : { "Fn::FindInMap" : [ "Debian700-marketplace",  { "Ref" : "AWS::Region" }, "64"  ]},
                                "InstanceType" : { "Ref" : "MyInstanceSize" },
                                "UserData" : { "Fn::Base64" : "" }
                        }
                },
                "MySecurityGroup" : {
                        "Type" : "AWS::EC2::SecurityGroup",
                        "Properties" : {
                                "GroupDescription" : "Permit inbound SSH",
                                "SecurityGroupIngress" : [ 
                                    {
                                        "IpProtocol" : "tcp",
                                        "FromPort" : "22",
                                        "ToPort" : "22",
                                        "CidrIp" : "0.0.0.0/0"
                                    }
                                ]
                        }
                }
        }
}

Suggested UserData scripts

The image by default takes no actions upon boot, and does not auto-update. However, as the Debian image does honour executing UserData meta-data that looks like a script (started with #!/bin/sh), you may optionally chose to take some action. This action can be passed as a script in the AWS Console UserData input, or in the above CloudFormation template to an instance (see the UserData section in the example above).

You can chose to enable auto update with the following UserData scripts:

   1 #!/bin/sh
   2 apt-get update && apt-get upgrade -y && apt-get install -y unattended-upgrades


See also Cloud and Teams/Cloud.