いまさらきけないわけがないHello AWS
Amazon Web Serviceを使っていますか? 恥ずかしながら自分は先週初めて使いました。この週末に私用のアカウントも初めて作りました。
今日の日記は、作成したインスタンスにログインするまでの個人的な軌跡です(ねむいのでFAQにします)。
アカウント作成
Q. 住所を入力した後、エラーが出て先へ進めません。
The address you provided appears to be invalid. Please check to see if your country appears in the drop down under a different name (e.g. "United States" instead of "U.S.A."), and that the rest of your address information is correct ...
「ZIP or Postal Code」を7桁で入力していませんか? 3桁にしましょう。この話題については、2007年頃からずっといわれているようです。
Q. 郵便番号や電話番号のハイフンを省略してしまいました。
大丈夫だ、問題ない。(タブン)
世間の(二次情報である)チュートリアルには、郵便番号や電話番号のハイフンを省略するなとよく書かれていますが、省略しても認証の電話はかかってくるので、おそらく問題ありません。
新規インスタンス作成(Management Console)
インスタンス操作(EC2 API Tool)
Q. ec2-run-instancesコマンドで、Basic 64-bit Amazon Linux AMIを開始できません。
$ ec2-run-instances ami-8e1fece7 Client.InvalidParameterValue: The requested instance type's architecture (i386) does not match the architecture in the manifest for ami-8e1fece7 (x86_64)
オプションでインスタンスタイプを指定しなければなりません。ami-8e1fece7(つまりBasic 64-bit Amazon Linux AMI)は、64bitのイメージファイルです。そのため、64bitに対応したインスタンスタイプを指定して、開始コマンドを実行する必要があります。
上のドキュメントによると、microインスタンスが、32bitと64bitの両方に対応しています。これを選べば上記のエラーは回避できます。
# ec2-run-instancesで開始されるデフォルトのインスタンスタイプが32bitオンリーのモノってことですか。このあたりがよく分かりません。
$ ec2-run-instances ami-8e1fece7 -t t1.micro
しかし、上のコマンドは、次の理由によって実用的ではありません。
- Key Pairを指定して開始しないと、作成したインスタンスにログインできない。
- 何も指定しないと、defaultセキュリティグループに配属されてしまう。
セキュリティグループの設定内容は適用後に変更できますが、インスタンスを配属するセキュリティグループを後から変更することはできません。defaultセキュリティグループの設定内容を変更する気がなければ、インスタンス作成時にdefault以外のグループを明示的に割り当てておく必要があります。
$ ec2-run-instances ami-8e1fece7 -t <インスタンスタイプ> -g <セキュリティグループ名> -k <キーペア名>
インスタンスへのログイン
Q. Amazon Linux AMIにrootでログインできません。
Please login as the ec2-user user rather than root user.
上のようにいわれたら、いわれるがままにec2-userでログインして使います。ログイン後、suコマンドによって(パスワードなしで)rootになれるので、パスワードを設定しておくとよいでしょう。
$ sudo su -
# passwd
マネジメントコンソールでインスタンスを指定し、[Instance Actions]ドロップダウンリストから[Connection]を選ぶと、選択したインスタンスにログインするためのコマンドサンプルが表示されます。そのサンプルでは、rootでログインすることになっていますが、Amazon Linux AMIから作成したインスタンスは、ec2-userでログインする必要があります。
一方、他のAMI、たとえばopenSUSE-11.3-v1.0.1.x86_64のAMIから作ったインスタンスには、rootでログイン可能です。