AWSですね。 Azureもいいのですが、まぁアレです。 今回は、AWSに一年無料(750h/月まで) のInstanceである "t1 micro" を作ってみたオハナシです。 早いうちにKey Pairについて嵌まれたの良かったです (白目
AWSサイトへ
なにはともあれサイトに行きましょう。
アマゾン ウェブ サービス - Amazon Web Services
アカウント作成
「いますぐ利用開始」ボタンで簡単スタートでした。
あとは、アカウント情報を入れていきます。 無いとは思いますが、虚偽は厳禁です。
- アカウント作成時にCredit Card情報の入力と紐づけられます。
- 入力した電話番号(携帯可)に自動音声コールバックがきます。そこに音声案内時のWeb画面に表示されているPINコード入力を求められます。
インスタンス作成とKey Pairで失敗
アカウント生成後は、サインインしてインスタンスの生成です。
この時、IEであれFireFoxであれ、Operaであれ、Chromeであれ、Key Pairのダウンロードだけは中断厳禁です。 理由は見ていきましょう
まずは、Web Serviceを選びます。 今回は、サーバー生成なので「EC2」です。
次にインスタンスの生成です。 今回は、制限付ですが無料なのでAmazon Linux AMIです。
Launch Instanceは、EC2-Classicで。
Advanced Instance Optionは、特になくUSer Infoに分かり易い名前を付けただけです。
Storage Device Configurationでのスライスもどういう設定が望ましいのか忘れました。とりあえずデフォルトできます。
Tagg設定です。分かり易くタグ管理時に利用するので、管理しやすい名前で。
KeyPair設定です。ここが最も曲者です。 要は、AWS内部のLinuxへ接続するときは、公開鍵認証です。Key Pair名を設定、ダウンロードを選択すると、インスタンスの、.ssh/authorized_keys
に公開鍵が生成されます。
そして、ダウンロードで公開鍵と対となる秘密鍵(拡張子 .pem)が、ローカルPC(AWSの当該インスタンス作成中のPC)に保存されます。(勿論、他のPCから接続するときは、この秘密鍵ファイルを用いる必要があります。)
セキュリティグループ(Firewall / iptable)を設定します。 ここでは、外部に開放しておく接続ポートのみですね。 デフォルトは、TCP 22 (SSH)です。 インスタンスの生成最終確認です。 ここで戻ればまだ間にあう!!
Key Pair の秘密鍵ダウンロードは注意
何が注意を要するかというと、ここで生成した際にインスタンス内部に設定される公開鍵が、EC2に接続してrootで差し替える等をしないと別のKey Pairt Name(公開鍵/秘密鍵のセット)に変更できません。
さて、これは当然ですが、問題は初回のKey Pair設定でKey Pair Nameを設定後→ダウンロードする時に、ダウンロードが一回しかできないことです。 つまり、IEであれどんなブラウザであれ、何かのはずみで「ダウンロードしますか?」のポップアップ自体をキャンセルすると、再ダウンロードの手段がありません。
もちろん、一度でも「保存する」を選べばブラウザ毎に「ダウンロードの再開」手段があるでしょうからセーフです。 しかしキャンセルの場合は、再度Key Pair Nameを入力してダウンロードを押すことになります。
が、ここでIEにダウンローダーなどを入れていると良く発生する、「ダウンローダーのキャンセル後にブラウザ側のダウンロードポップアップが出ている」と、前のKey Pair Name秘密鍵ファイルのダウンロードのみで、今回設定した名称のKey Pair Nameではダウンロードがでません。
こうなって、気付かずにインスタンスの生成を完了すると、単独でEC2インスタンスに再接続する手段はありません。 SSH接続で認証拒否されます。
こうなった場合の対処策として、他のインスタンスがあればVolumeをAttachしてそのインスタンス上で公開鍵を差し替えれます。 その手順はここでどうぞ。
Replace key pair for an instance
私は、インスタンスを消して、Volumeを消して、再作成しました
インスタンスへの接続
インスタンスを作成すると一覧画面に表示されます。
起動、停止はインスタンスの右クリックや、Actionボタンから。
処理中は、Pendingとなります。
状態はインスタンス一覧の下で見れますね。
SSH接続
あとは、コンソール接続するだけです。 CUIですよー!いいですね! 接続は、Connectから、これでインスタンスに表示されているKey Pair Nameを使って認証をかけようとします。
ただし、EC2上からSSHする場合は、初回時に「30億のデバイスで何とかのJAVA」をインストールするように言われます。
嫌な場合は、TeraTermやPuTTYを使いましょう。 接続時に、ローカルPCに保存した「Key Pair Nameと対となる秘密鍵ファイル」を選択します。 後は接続。
MindTermの場合は、EC2サイト上からすぐ接続できます。
コマンド実行
とりあえず、 パッケージ関連は最新にしましょう。
sudo yum update
あるいは、別のSSHクライントも当然いけます。 私の場合は、TeraTermやPederasaでしょうか。 Teratermで秘密鍵を指定すればイケマス。
まとめ
Key Pairファイルにさえ気を付ければ作成自体は簡単です。 次回は、iptableと、諸々でしょうか。