Amazon EC2 インスタンスを1からコマンドラインで立ててみる(その2の追加:EC2インスタンスを立てる前にすることの追加) [Amazon AWS]
サーセン。2個、インスタンスを1から立てるに当たっての、重要な作業が漏れていました。
◎ キーペアを作成する
EC2インスタンスにsshでログインするにあたっては、キーペアファイルが当然必要になります。特に、一番最初はコレが無いともうどうしようもない訳ですよ。
そこで、キーペアを作成し、秘密鍵ファイルを入手することにします。
コマンド一発…なんですが、若干の細工が必要です。(笑)
ちなみに、使用するコマンドは aws ec2 create-key-pair --key-name (キーペアの名前) です。
これをそのまま実行すると、JSON型式でこんな風に結果が返ってきてしまいます。
「KeyMaterial」というところに、秘密鍵ファイルの情報がガガーっと1行で記述されます。改行部分は「\n」に置き換えられているので、これを美しいフォーマットにしてファイルに保存しておく必要があります。そこで、jq とecho の出番です。こうしましょう。
で、これをファイルに保存しておけば良い訳です。
なお、必要の無くなったキーペアは削除しておきましょう。あるいは、キーペアの名前が気に入らないとかいう場合にも削除しておきましょう。削除の方法は、 aws ec2 delete-key-pair --key-name (削除したいキーペアの名前) です。
◎ロールをインスタンスプロファイルに割り当てる
カラッポのロールを作成しましたが、これをインスタンスプロファイルと呼ばれる物に割り当てる必要があります。
・カラッポのインスタンスプロファイルを作成する
↓
・ロールを割り当てる
という手順を踏みます。まず、カラッポのインスタンスプロファイルを作成します。
aws iam create-instance-profile --instance-profile-name (インスタンスプロファイル名)
そしたら、ここにすでに作成してあるロールを割り当てます。
aws iam add-role-to-instance-profile --instance-profile-name (作成したプロファイル名) --role-name (割り当てるロール名)
これ、何も結果を返さないんですよね。念のため 「 echo $? 」 を実行してみると0が返ってくるので大丈夫なんだと思います。タブン。
◎ キーペアを作成する
EC2インスタンスにsshでログインするにあたっては、キーペアファイルが当然必要になります。特に、一番最初はコレが無いともうどうしようもない訳ですよ。
そこで、キーペアを作成し、秘密鍵ファイルを入手することにします。
コマンド一発…なんですが、若干の細工が必要です。(笑)
ちなみに、使用するコマンドは aws ec2 create-key-pair --key-name (キーペアの名前) です。
これをそのまま実行すると、JSON型式でこんな風に結果が返ってきてしまいます。
{ "KeyMaterial": "-----BEGIN RSA PRIVATE KEY-----\nMIIEpAIBAAKCAQEA3jVtbfQ76gJtyv+6R15/AjAV3d/13m+UILhXEsxJG3Hbr6An2sDMw3rmAYFA\nUm+1G77gkD8O3RbIPo4BUUASqxHeCl7rltcfsEpQAOVSK0PoopSaDnPwOrVXM7uSdwqn804I2QzD\nIsZA/yf+uxsUCGzS6Jvow1v8qGTacLkrTCK6BPa/DNK2KzhxiLzrVnPiwhzH5A8TS2MaI0in8hTb\nceCejGUEXmcixYzZi6F(以下略) "KeyName": "piro791test", "KeyFingerprint": "XX:XX:XX:XX:XX:XX:XX:XX:ad:46:ba:b6:19:84:3b:36:65:9a:22:67" }
「KeyMaterial」というところに、秘密鍵ファイルの情報がガガーっと1行で記述されます。改行部分は「\n」に置き換えられているので、これを美しいフォーマットにしてファイルに保存しておく必要があります。そこで、jq とecho の出番です。こうしましょう。
[root@atago src]# echo -e `aws ec2 create-key-pair --key-name piro791key | jq '.KeyMaterial' | tr -d '"'` -----BEGIN RSA PRIVATE KEY----- MIIEpAIBAAKCAQEAsILSse+hGW4ioDi7yLGJFMIeluHaJ9VkMdCFmMfRZnptA24Lb379V2H/kNCN JB0w9tQMV4XeoE2l9UgtZJDP6n5YiWjSSM64MalTISKoGdtnOSoCighb8KVXc+gzwJIeUq8EUuUq yyS90mwZXr9GfKfD6YpSDjQjeSvWHzi37pqzvtPX/MIQcw9XK3hKzwlmCf0AjshYZ9YX3vxwwea1 (以下略)
で、これをファイルに保存しておけば良い訳です。
なお、必要の無くなったキーペアは削除しておきましょう。あるいは、キーペアの名前が気に入らないとかいう場合にも削除しておきましょう。削除の方法は、 aws ec2 delete-key-pair --key-name (削除したいキーペアの名前) です。
[root@atago src]# aws ec2 delete-key-pair --key-name piro791key { "return": "true" }
◎ロールをインスタンスプロファイルに割り当てる
カラッポのロールを作成しましたが、これをインスタンスプロファイルと呼ばれる物に割り当てる必要があります。
・カラッポのインスタンスプロファイルを作成する
↓
・ロールを割り当てる
という手順を踏みます。まず、カラッポのインスタンスプロファイルを作成します。
aws iam create-instance-profile --instance-profile-name (インスタンスプロファイル名)
[root@maya tmp]# aws iam create-instance-profile --instance-profile-name piro791profile { "InstanceProfile": { "InstanceProfileId": "AIPAIPOFVOGVSDWV2Y73A", "Roles": [], "CreateDate": "2014-08-25T04:57:13.759Z", "InstanceProfileName": "piro791profile", "Path": "/", "Arn": "arn:aws:iam::XXXXXXXXXXXX:instance-profile/piro791profile" } }
そしたら、ここにすでに作成してあるロールを割り当てます。
aws iam add-role-to-instance-profile --instance-profile-name (作成したプロファイル名) --role-name (割り当てるロール名)
[root@maya tmp]# aws iam add-role-to-instance-profile --instance-profile-name piro791profile --role-name piro791role [root@maya tmp]#
これ、何も結果を返さないんですよね。念のため 「 echo $? 」 を実行してみると0が返ってくるので大丈夫なんだと思います。タブン。
コメント 0