AWSインスタンスへの接続でエラーが出たらやる事

この記事はAWSでWordPressを立ち上げたことがある人が対象です。

やったことない人は、AWSでWordPressを爆速で立ち上げるチュートリアルがあるのでぜひぜひやってみてくださいな。↓

そんでもって、このチュートリアルなんですが、
WordPressを爆速で立ち上げることを体感するにはいいのですが、
いかんせんすんなり接続ができない。。
 
接続って言ってるのはこれね。

f:id:pontasensei:20190818182948p:plain

 
本来であれば、このボタンを押すと、
コマンドを叩ける画面が使えるようになるイメージなんだけども、
Amazonさんのチュートリアルがシンプルなせいでエラーになるんですわ。
 
結論から言うと、
「keypairを作成して、インスタンスを再度作り直す」
ことで治ります。

 

目次

 

1.どんなエラーがでるのか

接続を押します。
f:id:pontasensei:20190818183000p:plain
 
するとこんなのがでる。

f:id:pontasensei:20190818183028p:plain

 

インスタンスがキーペアに関連付けられていません。
このインスタンスがキーペアに関連付けられていません。キーペアがない場合、有効なユーザー名とパスワードの組み合わせを使用してこのインスタンスにログインする必要があります。
 

2.なんでエラーになるのか

そんな時に見てもらいたいのがここ。
インスタンスの説明のところの「キーペア名」

f:id:pontasensei:20190818183055p:plain

キーペアってのは、「インスタンスに安全に接続するための鍵」のことで、
ここが空欄になってるということは、その鍵が"ない"ということ。
 
だからさっきみたいなエラーがでる。
 
Amazon様のチュートリアルでは、キーペアの設定をスルーしてるんです。↓ 

aws.amazon.com

 
チュートリアルの時になにしてたかというと、これ↓

f:id:pontasensei:20190818183106p:plain

 
それもそのはず、このチュートリアルは
WordPressを爆速で立ち上げて、
「ほらすごいでしょ!AWSいいでしょぉぉ」
というのが目的だから。
 
いいんです。
 
本気のチュートリアルは、また別にある。

f:id:pontasensei:20190818183120p:plain

ね。
 
とはいえそこまではやりたくはない。
じゃあどうするか。
 
 

3.キーペアの作成方法

キーペアがないのが問題、ならキーペア作りましょう。
手順は下記リンクの通り。 

docs.aws.amazon.com

 
やるのはこの部分↓

f:id:pontasensei:20190818183136p:plain

4.インスタンスの再立ち上げ

キーペア作るだけではだめで、
作ったキーペアをインスタンスの設定時に組み込む必要があります。
 
なのでキーペアがないインスタンスは、いったんあきらめて
新しいインスタンスを起動する必要があります。
 
なので、下記チュートリアルをもっかいやります。
 
ただし、ここが一番重要で、
この画面が出たときに、さっき作ったキーペアを選択するのです。

f:id:pontasensei:20190818183155p:plain

この手順を正しく行えていれば、
hoge.pem的な感じでキーペアのところに名前が入ります。
 
 
 

5.接続方法

では接続してみましょう。
 
今度はこんな画面が出るかと思います。
ちなみに「ブラウザから直接接続のJavaSSHほげほげ」というほうは気にしないでください。
※古いやり方が残してあるだけです。メジャーな方を使いましょう。
 
手順1,2は飛ばしてよし。
 
手順3ですが、Windowsの場合はコマンドを読み替えてあげる必要があります。
 
Windowsのコマンドプロンプトを立ち上げて(windowsキー → "cmd" → Enter)、権限の設定をします。
 
cd [pemファイルのフォルダ]  ※pemファイルを置いたフォルダのパスを入れて
cacls ***.pem /g *user*:R  ※pemファイル名と、あなたのWindowsアカウント名を入れて
 
すると、
よろしいですか (Y/N)?
と聞かれるので、"Y"→Enter
 
とすると、権限の設定完了です。
これやらないと、接続時にAmazonからはじかれます。
 
ではそのままトドメの一発。手順4
 
黄色い行をコマンドで叩きましょう。
※pemファイルが置かれているところにcdコマンドで移動してから実行してね。
 
以上