tech.guitarrapc.cóm

C#, PowerShell, Unity, Cloud, Serverless Technical Update and Features

Amazon EC2 AWSを始めてみた

AWSですね。 Azureもいいのですが、まぁアレです。 今回は、AWSに一年無料(750h/月まで) のInstanceである "t1 micro" を作ってみたオハナシです。 早いうちにKey Pairについて嵌まれたの良かったです (白目 

AWSサイトへ

なにはともあれサイトに行きましょう。

アマゾン ウェブ サービス - Amazon Web Services

アカウント作成

「いますぐ利用開始」ボタンで簡単スタートでした。

あとは、アカウント情報を入れていきます。 無いとは思いますが、虚偽は厳禁です。

  1. アカウント作成時にCredit Card情報の入力と紐づけられます。
  2. 入力した電話番号(携帯可)に自動音声コールバックがきます。そこに音声案内時の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と、諸々でしょうか。