Differences between revisions 15 and 16
Revision 15 as of 2012-12-17 14:26:34
Size: 6411
Comment: Link to [[Cloud]] and [[Teams/Cloud]].
Revision 16 as of 2013-01-06 01:45:47
Size: 6928
Comment: Mention Cloud/AmazonEC2Image/Squeeze/JSON.
Deletions are marked like this. Additions are marked like this.
Line 60: Line 60:

It is planned to provide a machine-readable version of the above list of images. For the sake of the brainstorm, a JSON version is temporarly placed at [[Cloud/AmazonEC2Image/Squeeze/JSON]]. However, the structure is very likely to change, see DebianBug:694035 for details. Here is a naive example on how to query the list. {{{euca-describe-images $(curl --silent http://wiki.debian.org/Cloud/AmazonEC2Image/Squeeze/JSON?action=raw | jsonpipe | awk '/Debian606.ap-northeast-1.64/ {print $2}' | sed 's/"//g')}}}

Squeeze on AWS

List of point release images published to the AWS Marketplace:

You may wish to use the CloudFormation template and launch your instance with some smart UserData scripts.


6.0.6

Debian Developer-created master images

This image was created on 15/Nov/2012 by James Bromberger using the ec2debian-build-ami from https://github.com/andsens/ec2debian-build-ami by Anders Ingemann. The original images were generated in account 379101102735, and the images were identifiable in the AWS US-East-1 Region as:

  • ami-1977f070: 379101102735/debian-squeeze-i386-20121119
  • ami-8568efec: 379101102735/debian-squeeze-amd64-20121119

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 instancs from this AMI as the user admin, and then sudo -i to gain root access.

These two AMIs are made of corresponding AWS EBS Snapshots. These snapshots have been made available for you to download, should you wish to (you do not need to do this to use the AMI on AWS):

Architecture

AMI ID

Snap ID

URL (gunzip this object after download)

Uncompressed md5sum

i386

ami-1977f070

snap-e526e2ad

pending

pending

amd64

ami-8568efec

snap-98fb3fd0

pending

pending

These images were generated with the following script (supplied as a ?UserData scription to a Debian AMI with shutdown behaviour set to terminate):

apt-get update; apt-get install -y git; cd ~root; git clone https://github.com/andsens/ec2debian-build-ami.git; cd ~root/ec2debian-build-ami; export EC2_URL=https://ec2.us-east-1.amazonaws.com/; export EC2_ACCESS_KEY='''XXXX'''; export EC2_SECRET_KEY='''XXXX'''; ./ec2debian-build-ami --volume-size 8 --filesystem ext4 --plugin plugins/admin-user --description 'Debian 6.0.6 (Squeeze)'; ./ec2debian-build-ami --volume-size 8 --filesystem ext4 --plugin plugins/admin-user --description 'Debian 6.0.6 (Squeeze)' --arch i386; shutdown -h now

AWS Marketplace Image Distribution

These images (?6.0.6-DDCreated) 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:

Region

32-bit PVM

64-bit PVM

US-East-1

ami-a121a6c8

ami-4d20a724

US-West-1

ami-e4da52d4

ami-ecda52dc

US-West-2

ami-2c735269

ami-36735273

US-Gov-West-1

EU-West-1

ami-75cdcf01

ami-7fcdcf0b

AP-Northeast-1

ami-a650e9a7

ami-be50e9bf

AP-Southeast-1

ami-947d3ec6

ami-867d3ed4

AP-Southeast-2

SA-East-1

ami-0689511b

ami-0289511f

The image performs the following tasks:

  • UserData that is a shell script is executed (you may wish to apply pending updates and install other software, etc)

  • The root ext4 filesystem is resized on boot (you can grow larger than the default on instance launch)
  • The root account is disabled; please SSH to the instance as the user 'admin'.

The image by default makes no contact to any external servers (no updates applied, no outbound requests, no data leakage).

It is planned to provide a machine-readable version of the above list of images. For the sake of the brainstorm, a JSON version is temporarly placed at Cloud/AmazonEC2Image/Squeeze/JSON. However, the structure is very likely to change, see 694035 for details. Here is a naive example on how to query the list. euca-describe-images $(curl --silent http://wiki.debian.org/Cloud/AmazonEC2Image/Squeeze/JSON?action=raw | jsonpipe | awk '/Debian606.ap-northeast-1.64/ {print $2}' | sed 's/"//g')


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"
                }
        },
        "Mappings" : {
            "Debian606" : { 
                "us-east-1" :      { "32" : "ami-a121a6c8", "64" : "ami-4d20a724"},
                "us-west-1" :      { "32" : "ami-e4da52d4", "64" : "ami-ecda52dc"},
                "us-west-2" :      { "32" : "ami-2c735269", "64" : "ami-36735273"},
                "us-gov-west-1" :  { "32" : "", "64" : ""},
                "eu-west-1" :      { "32" : "ami-75cdcf01", "64" : "ami-7fcdcf0b"},
                "ap-southeast-1" : { "32" : "ami-947d3ec6", "64" : "ami-867d3ed4"},
                "ap-southeast-2" : { "32" : "", "64" : ""},
                "ap-northeast-1" : { "32" : "ami-a650e9a7", "64" : "ami-be50e9bf"},
                "sa-east-1" :      { "32" : "ami-0689511b", "64" : "ami-0289511f"},
            },
            "release" : {
                "stable" : { "squeeze" : "Debian606" }
            }
        },
        "Resources" : {
                "MyInstance" : {
                        "Type" : "AWS::EC2::Instance",
                        "Properties" : {
                                "SecurityGroups" : [ { "Ref" : "MySecurityGroup" } ],
                                "KeyName" : { "Ref": "KeyName" },
                                "Tags" : [{"Key": "Name", "Value": {"Ref" : "MyInstanceName"} } ],
                                "ImageId" : { "Fn::FindInMap" : [ "Debian606",  { "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:

apt-get update && apt-get upgrade -y && apt-get install -y unattended-upgrades


See also Cloud and Teams/Cloud.