作成したEC2へSSHでログインする
EC2へはSSH(Secure SHell)プロトコルを使ったログインがおすすめです。 というより業務オペレーションは普通 SSH でのアクセスなので、それに慣れてほしいです
【注意】 コマンドラインでSSHを使うのがつらい人は、 EC2インスタンスの画面で「接続」ボタンをクリックすれば、 ブラウザ内にサーバのターミナルが開きます。 ただ、 自宅から使うにはセキュリティグループを変更して世界中からSSHを許可しなければならないとか、 ターミナル間でコピー&ペーストできないとか、 日本語入力がおかしい?とか、 すぐタイムアウトされるとか、 いろいろと微妙なので、あまり推奨できない気がするんですけれど … くわしくはこちらをどうぞ)
また認証は公開鍵暗号方式のみです。 パスワード認証のようなテオクレな方式はサポートされません (注: これは、サーバ運用として当然です)
- 秘密鍵(公開鍵暗号方式の秘密鍵,下図(2))をダウンロードしてください。
いまEC2を作成しているAWS コンソールではなく、 最初にログインした AWS academy (vocareum)の画面からダウンロード出来ます。 そこにもどってください。 図のような画面になっていませんか? 図のような画面になっていない場合、- そもそも画面の左上(下図(1))にあるAWSの右側が緑色になっていますか? 緑色で無いならAWS環境の準備が出来ていません。 画面の上から2行目の真ん中あたりにあるStart LabをクリックしAWS環境を起動してください
- 2行目の右側寄りにある「i AWS Details」をクリックしてください
- labsuser.pemというファイル(秘密鍵のファイル)がダウンロードできたはずです。確認してください
- sshコマンドを次のように -i labsuser.pem オプションをつけて実行してください
(-i は identify の i)
SSHでログインするサーバのIPアドレス(上の例では10.20.30.40)は、 前頁でメモしておいたインスタンスのパブリックIPです。 これは各EC2ごとに異なります。 またAWSの利用を再開(AWS環境をStart)するたびに変更されます。 注意してください
ssh -i labsuser.pem ec2-user@10.20.30.40
うまく動かない場合
演習問題: EC2のIPアドレスが毎回変わることに対する対策を考える
グローバルIPアドレス(AWSではパブリックIPアドレス)は貴重品なのでIPは毎回変更されます (注: EC2の再起動くらいでは普通かわりません、一定時間以上停止がつづいた場合IPは変わります)。 対策方法は2つあります
- Elastic IPを購入する、つまり金で解決する案です
- AWSで固定のグローバルIPアドレス(AWSではPublic IP Address)を購入し、 EC2に設定してください
- Dynamic DNS
- こちらのほうが汎用性の高い解決法ですが、まぁいわゆるPoor man’s Solution:-)です
- Dynamic DNSサービスはいろいろありますが、 国内もので特別なツールが不要なMyDNSがおすすめ
- EC2の起動時および定期的にDynamic DNSの更新をかけるように設定しておきます (ヒント: cron)。
演習問題
- MyDNSを使い、EC2にDynamic DNSの設定をしてみよう