10分チュートリアル:EC2で仮想マシンを起動する(AWS HVMとparavirtual って何だ?)

登録が完了したらチュートリアルです。

Amazon Elastic Compute Cloud (EC2) というサービスでLinux仮想マシンを起動するというのをやってみます。 今後は仮想マシン=インスタンスと呼ぶとの事です。

※仮想マシンっていうのはコンピュータの中で仮想的に1台のパソコンとして動くものって感じでしょうか。自宅のMacにVirtualBoxとかいれて仮想化アプリケーション内でWindowsを起動したり、Linuxを起動してみたいなイメージというか。実際に仮想マシンを触ってない人にはこの説明もわかりにくいですよね。

リソースセンターの開始方法 というページからはじめます。たくさんチュートリアルありますが、今回は1番ベーシックな「Linux仮想マシンを起動する」というものでやってみます。

こちらの10分チュートリアルから始めます。内容は以下の通り

  • ステップ 1: Amazon EC2 インスタンスを起動する
  • ステップ 2: インスタンスを設定する
  • ステップ 3: インスタンスに接続する
  • ステップ 4: インスタンスを終了する
  • 次回予告: ドメイン名を登録してWebサーバにブラウザからアクセスしてみる

ステップ 1: Amazon EC2 インスタンスを起動する

画像は英語ですけど配置とかボタンは同じなので、見ながらやればどうって事ないですね。Amazon EC2 コンソールを開いて[インスタンスの作成]

ステップ 2: インスタンスを設定する

Amazon Linux AMI を見つけて [Select] をクリック

余裕ですね。と思ってたら「Amazon Linux AMI 〜 (HVM)」と「Amazon Linux AMI 〜 (PV)」って2種類あるではないですか。

仮想化タイプ: hvm と 仮想化タイプ: paravirtual の部分が違うようです。AWS HVMとparavirtual って何だŸ

PV AMI と HVM AMI の主な違いは、起動の方法と、パフォーマンス向上のための特別なハードウェア拡張機能 (CPU、ネットワーク、ストレージ) を利用できるかどうかという点です。最適なパフォーマンスを得るために、インスタンスを起動するときには、現行世代のインスタンスタイプと HVM AMI を使用することをお勧めします。

ようはparavirtualのがレガシーなやつって事なのかな。HVMのが新しいからコレ選べって感じのようです。

次の画面で、最初からチェックのついてる(=無料の) t2.micro をつかうのでこのまま 確認と作成 をクリック。Amazonのチュートリアルには「ページ下部の [Review and Launch] をクリックします。」って書いてあるけど同じですね。

確認で色々表示されるけど、このまま1番右下の 作成 ってボタンをクリック。

そうするとSSHでアクセスするためのキー作成ですね。

[新しいキーペアの作成] を選択し、「MyKeyPair」という名前にします。次に、[キーペアのダウンロード] ボタンをクリックします。

とかかいてありますが「MyKeyPair」じゃなくてもいいんでしょうね。こんな名前にしたら何のキーか分かんなくなっちゃうので任意の名前に!英語の大文字小文字だけで記号スペース使わないほうが無難ですね。

保存場所は「.ssh」を推してますけど何でだろう。分かったらここに追記します。後で移動すればいいので一旦自分で分かりやすいフォルダへ「〜.pem」のファイルを保存

無事にインスタンス作成中の画面になりました。

[インスタンスの表示] をクリックしてインスタンスを表示

クララが立ったー!


こんな感じのステータス画面が開きます

AWS インスタンスの [パブリック IP] アドレスをメモしておきます。このアドレスはステップ 3 のパート c でインスタンスに接続するときに必要になります。

注: インスタンスのスタートアップが完了していない場合、[パブリック IP] のアドレスは表示されません。[インスタンスの状態] 列にはインスタンスが動作中かどうかが表示され、[ステータスチェック] 列にはインスタンスのプロビジョンが完了したことを確認する 2 つのチェックに合格したかどうかが表示されます。これらの値の表示は表の右側にある [更新] ボタンを使って更新できます。

とか、公式のチュートリアルには書いてありますが間違えてEC2インスタンスのステータス画面を閉じてしまった時は以下の方法でたどり着けます

ヘッダーメニューのサービスから EC2 を選択

左側のメニューから インスタンス を選択

ステップ 3: インスタンスに接続する

ターミナルからサーバにアクセスしてみます。(ここではMacを使用しています)

chmod 400 ~/.ssh/mykeypair.pem という感じでコマンド打って、「アクセス権限を自分のプライベート SSH キーのみに制限します。」とのことなのでアクセス権限を設定しているんですね。

自分の場合はフォルダ名もファイル名も変えてしまったので、適宜あわせて実行。特に何もメッセージ出ないものなのかな。

Mac/Linux ユーザー: 「ssh -i ~/.ssh/MyKeyPair.pem ec2-user@{IP アドレス}」と入力します (例: ssh -i ~/.ssh/MyKeyPair.pem ec2-user@52.27.212.125)。

ec2-user っていうのが今回作ったインスタンスでのユーザー名で ~/.ssh/MyKeyPair.pem は前述の通り自分で付けた名前にあわせてって感じです。サーバのIPアドレスはここで使うんですね。そうすると...

以下のような応答が表示されます。

The authenticity of host 'ec2-198-51-100-1.compute-1.amazonaws.com (10.254.142.33)' can't be established. RSA key fingerprint is 1f:51:ae:28:df:63:e9:d8:cf:38:5d:87:2d:7b:b8:ca:9f:f5:b1:6f. Are you sure you want to continue connecting (yes/no)?

yes と入力して、enter を押します。

以下のような応答が表示されます。

Warning: Permanently added 'ec2-198-51-100-1.compute-1.amazonaws.com' (RSA) to the list of known hosts.

その後、インスタンスのウェルカム画面が表示されます。これでクラウド内の AWS Linux 仮想マシンに接続されました。

[ec2-user@ip-{IP アドレス} ~]$ という感じの表示になって、アクセス成功です。

コマンド打って本当に動いてるのかなぁって確認したい場合は nslookup google.com (google.comのIPアドレス調べるコマンド)でも打ってみると良いかと思います。

必要ないんだろうけどなんとなく exit で接続切って終了。

ステップ 4: インスタンスを終了する

EC2 コンソールへ戻り、作成したインスタンスの横にあるボックスを選択します。[Actions] ボタンをクリックして「インスタンスの状態」へ移動し、[Terminate] をクリックします。

さっき辿り方を記載した、EC2インスタンスのステータス画面の上の方のボタンで アクション>インスタンスの状態>削除 ってして下さいって事なんでしょうね。

  • Stop・・・・・・サーバの一時停止。一般的に言うshutdown
  • Terminate・・・インスタンス自体を削除しちゃう。復活できない

インスタンスの終了ってStopの事かと思ったらサクサク削除しちゃう事だったんですね。はじめにチュートリアルやっといてよかった...

Terminateの処理が始まってしばらくしてからインスタンス一覧画面更新して状態みてみると インスタンスの状態:Terminated になって消えてないんですが、1~2日経つとインスタンスの一覧から消えるそうです。

AMIとは

Amazon マシンイメージ 、サーバOS等諸々セットになったマスターデータって感じなのかな? これをコピーしてサーバを作ってる。(=インスタンスを立ち上げてる?) Amazon Linux AMI は、AWS が保守管理しているLinuxのマシンイメージ。

インスタンスとは

AMIから作った仮想マシン と思っています

コメント