Amazon EC2 Resource Centerからec2-api-tools.zipをダウンロードします。7MBくらいあるので、それなりに時間が掛かります。
ダウンロード後は、解凍して環境変数の設定をすれば終わりです。JAVA_HOMEの設定もお忘れなく。Macの場合、/Library/Java/Home
$ unzip ec2-api-tools.zip $ ln -s ec2-api-tools-1.2-13740/ ec2-api-tools $export EC2_HOME=~/develp/amazon/ec2-api-tools $export PATH=$PATH:$EC2_HOME/bin $export EC2_PRIVATE_KEY=$EC2_HOME/pk-***********.pem $export EC2_CERT=$EC2_HOME/cert-***********.pem
そして、いよいよインスタンスの起動へ。使えるインスタンスのリストを表示します。2個目のカラムが、AMIのIDでこれが必要になってきます。
$ ec2-describe-images -o self -o amazon IMAGE ami-20b65349 ec2-public-images/fedora-core4-base.manifest.xml amazon available public IMAGE ami-22b6534b ec2-public-images/fedora-core4-mysql.manifest.xml amazon available public IMAGE ami-23b6534a ec2-public-images/fedora-core4-apache.manifest.xml amazon available public IMAGE ami-25b6534c ec2-public-images/fedora-core4-apache-mysql.manifest.xmlamazon available public IMAGE ami-26b6534f ec2-public-images/developer-image.manifest.xml amazon available public IMAGE ami-2bb65342 ec2-public-images/getting-started.manifest.xml amazon available public IMAGE ami-36ff1a5f ec2-public-images/fedora-core6-base-x86_64.manifest.xmlamazon available public IMAGE ami-bd9d78d4 ec2-public-images/demo-paid-AMI.manifest.xml amazon available public A79EC0DB
インスタンスの詳細については良く解らないけど、fedora-core4-apache-mysql.manifest.xmlが良さげ。(詳細については、Public AMIsにありました。)
インスタンスを決定したら、RSA Keyペアを作ります。キーの名前は何でも良いのですが、例に倣ってgsg-keypairとします。
$ ec2-add-keypair gsg-keypair KEYPAIR gsg-keypair 1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f -----BEGIN RSA PRIVATE KEY----- MIIEoQIBAAKCAQBuLFg5ujHrtm1jnutSuoO8Xe56LlT+HM8v/xkaa39EstM3/aFxTHgElQiJLChp HungXQ29VTc8rc1bW0lkdi23OH5eqkMHGhvEwqa0HWASUMll4o3o/IX+0f2UcPoKCOVUR+jx71Sg 5AU52EQfanIn3ZQ8lFW7Edp5a3q4DhjGlUKToHVbicL5E+g45zfB95wIyywWZfeW/UUF3LpGZyq/ ebIUlq1qTbHkLbCC2r7RTn8vpQWp47BGVYGtGSBMpTRP5hnbzzuqj3itkiLHjU39S2sJCJ0TrJx5 i8BygR4s3mHKBj8l+ePQxG1kGbF6R4yg6sECmXn17MRQVXODNHZbAgMBAAECggEAY1tsiUsIwDl5 91CXirkYGuVfLyLflXenxfI50mDFms/mumTqloHO7tr0oriHDR5K7wMcY/YY5YkcXNo7mvUVD1pM ZNUJs7rw9gZRTrf7LylaJ58kOcyajw8TsC4e4LPbFaHwS1d6K8rXh64o6WgW4SrsB6ICmr1kGQI7 3wcfgt5ecIu4TZf0OE9IHjn+2eRlsrjBdeORi7KiUNC/pAG23I6MdDOFEQRcCSigCj+4/mciFUSA SWS4dMbrpb9FNSIcf9dcLxVM7/6KxgJNfZc9XWzUw77Jg8x92Zd0fVhHOux5IZC+UvSKWB4dyfcI tE8C3p9bbU9VGyY5vLCAiIb4qQKBgQDLiO24GXrIkswF32YtBBMuVgLGCwU9h9HlO9mKAc2m8Cm1 jUE5IpzRjTedc9I2qiIMUTwtgnw42auSCzbUeYMURPtDqyQ7p6AjMujp9EPemcSVOK9vXYL0Ptco xW9MC0dtV6iPkCN7gOqiZXPRKaFbWADp16p8UAIvS/a5XXk5jwKBgQCKkpHi2EISh1uRkhxljyWC iDCiK6JBRsMvpLbc0v5dKwP5alo1fmdR5PJaV2qvZSj5CYNpMAy1/EDNTY5OSIJU+0KFmQbyhsbm rdLNLDL4+TcnT7c62/aH01ohYaf/VCbRhtLlBfqGoQc7+sAc8vmKkesnF7CqCEKDyF/dhrxYdQKB gC0iZzzNAapayz1+JcVTwwEid6j9JqNXbBc+Z2YwMi+T0Fv/P/hwkX/ypeOXnIUcw0Ih/YtGBVAC DQbsz7LcY1HqXiHKYNWNvXgwwO+oiChjxvEkSdsTTIfnK4VSCvU9BxDbQHjdiNDJbL6oar92UN7V rBYvChJZF7LvUH4YmVpHAoGAbZ2X7XvoeEO+uZ58/BGKOIGHByHBDiXtzMhdJr15HTYjxK7OgTZm gK+8zp4L9IbvLGDMJO8vft32XPEWuvI8twCzFH+CsWLQADZMZKSsBasOZ/h1FwhdMgCMcY+Qlzd4 JZKjTSu3i7vhvx6RzdSedXEMNTZWN4qlIx3kR5aHcukCgYA9T+Zrvm1F0seQPbLknn7EqhXIjBaT P8TTvW/6bdPi23ExzxZn7KOdrfclYRph1LHMpAONv/x2xALIf91UB+v5ohy1oDoasL0gij1houRe 2ERKKdwz0ZL9SWq6VTdhr/5G994CK72fy5WhyERbDjUIdHaK3M849JJuf8cSrvSb4g== -----END RSA PRIVATE KEY-----
こんな感じで出来るので、BEGINからENDをコピーしてファイルに保存します。ファイル名をid_rsa-gsg-keypairにして、パーミッションを600に設定します。
※ちなみ、このPRIVATE KEYは、Amazonのサンプルをそのままコピーしています。あしからず。
ここまで来て、インスタンスの起動ができます。カラムの2つ目がインスタンスのIDです。
$ec2-run-instances ami-25b6534c -k gsg-keypair RESERVATION r-a51df5cc 021010746129 default INSTANCE i-06e7166f ami-25b6534c pending gsg-keypair 0 m1.small 2007-12-24T16:25:21+0000
起動出来た模様です。すかさずインスタンスの状況確認。ec2-describe-instancesに先ほどのインスタンスのIDを引数に渡します。
$ec2-describe-instances i-06e7166f RESERVATION r-a51df5cc 021010746129 default INSTANCE i-06e7166f ami-25b6534c ****.compute-1.amazonaws.com domU-12-31-39-00-51-F3.compute-1.internal running gsg-keypair 0 m1.small 2007-12-24T16:25:21+0000
元気な模様です。
使用可能なポートの設定等も出来ます。
(SSHとHTTPに絞った例)
$ec2-authorize default -p 22 $ec2-authorize default -p 80
SSHで接続。接続先は、先ほどのec2-describe-instancesで解ります。ちなみに前述のec2-authorizeでポート22を解放しておかないと接続できません。
ssh -i id_rsa-gsg-keypair root@****.compute-1.amazonaws.com
接続後は、通常のlinuxと同様です。root権限なので、いかようにもできます。
最後に忘れては行けないのが、インスタンスの停止。時間課金なので、サーバとしてサービスを提供する場合以外は止めておきましょう。その際、S3にイメージをコピーしておかないと、また初期化されます。
$ec2-terminate-instances i-06e7166f
次は、S3への保存と独自ドメインとIPアドレスの対応付け等を試してみようと思います。