AWSでCentOS 5をインポート
CentOS 5の大雑把なAWSインポート手順。以下のページを参考に、比較的簡単にできた。
参考) http://understeer.hatenablog.com/entry/2014/04/09/172554
実行環境はMac OS X. 手順としては、
- VirtualBoxでVMを作成
- VBoxManageコマンドでRAW形式に変換
- ec2-import-instanceでec2インスタンスとしてインポート
ec2-api-toolsとawscli, あとVirtualBoxをインストールしておく。
# brew install ec2-api-tools # brew install awscli
1. VirtualBoxでCentOS 5.Xのイメージ作成
CentOS 5のisoをどこかからダウンロードしてインストール。VMの形式はvdiを選択しておく(*)
(*) VMWareの形式であるvmdkを選択することもできる。実際、後のec2-import-instanceでvmdkがサポートされているので、vmdkで作ったほうがベターである。しかし、ec2-import-instanceの際に、なぜか暗号の方式が違うというエラーで失敗。なので、一旦vdiで作って次の手順でrawに変換している。なお、Virtual PCの形式であるvhdを選択することもできるが、試してない。
なお、rootパスワードでsshログイン出来るようにしておく。デフォルト設定では出来る。
2. vdiからrawに変換
# VBoxManage clonehd /path/to/CentOS5.11.vdi /path/to/CentOS5.11.raw --format RAW
3. VMイメージをインポート
あらかじめS3のバケットを作っておき、そこにVMイメージをアップロードする。
# ec2-import-instance /path/to/CentOS5.11.raw -t t2.micro \ -f RAW \ -a x86_64 \ -p Linux \ --region ap-northeast-1 \ --availability-zone ap-northeast-1a \ --bucket bucket_name \ --subnet subnet-aaaaaaaa \ -o S3_OWNER_ACCESS_KEY \ -w S3_OWNER_SECRET_KEY \ -O AWS_ACCESS_KEY \ -W AWS_SECRET_KEY
S3にアップロード後、ec2インスタンスが作成される。ec2インスタンスを立ち上げ、sshでrootログインできることを確認したら(*), 一旦stop.
(*) 運用時はもちろんもっとセキュアにすべき。。。
4. AMIを作成
マネージメント・コンソールなどからAMIを作成。これで基本的には完了。
5. S3に上げたVMイメージを削除
最後にS3に残ったVMイメージを削除。おしまい。
# aws s3 rm --recursive s3://bucket_name/raw_image_uuid