こんにちは、ロジカル・アーツの井川です。
第2回記事ですね。今回はEC2インスタンス(Amazon Linux)を作成して、実際に接続してみたいと思います。なお、今回から構築する環境(EC2インスタンス等)はそのままにしておくと費用が発生します*1。できるだけ料金がかからないようにはしていますが、特に必要としない限りは構築した環境を削除するようお願いします(記事の最後の方に削除方法を載せてあります)。
各回の記事の大まかな内容は以下の通りでした。
- 第1回:VPC、サブネットの作成
- 第2回(今回):EC2インスタンス(Amazon Linux)の作成、接続
- 第3回:RDSインスタンス(MySQL)の作成、接続
- 第4回:ELBの作成とLAMP環境の構築
- 第5回:RDSのMulti-AZ配置
- 補足記事:AWS用語集
今回の作業を終えると、次のような構成が完成します。
前回の作成した環境内に作ることを前提に進めていきますので、この記事から読み始められた方は、お手数ですが前回の記事を参照ください。
EC2インスタンス(Amazon Linux AMI)の作成
EC2とはElastic Compute Cloudの略で、AWSクラウド上で仮想サーバを提供するサービスのことです。EC2インスタンスはそのサービスを利用して実際に作った仮想サーバを表します。インスタンスの起動にはAMI(Amazon マシンイメージ)というものが必要です。今回はAmazon Linux AMIを選択します。では始めていきましょう。
まずマネジメントコンソール画面から、「EC2」で検索します。「EC2」 を選択し、EC2管理ページに移動します。
左側の「EC2ダッシュボード」が選択された状態で、「インスタンスの作成」をクリックします。
Amazon マシンイメージの選択
インスタンスタイプの選択
インスタンスタイプは「t2.micro」を選択し、「インスタンスの詳細の設定」をクリックします。
インスタンスの詳細設定
「ネットワーク」(VPC)と「サブネット」は前回作成したものから選択します。それぞれ「sample」、「sample-public」と名前を付けていたので、その名前のものを選びます。「自動割り当てパブリックIP」は「有効」を選択して「ストレージの追加」をクリックします。
ストレージの設定
ストレージはそのままで、「タグの追加」をクリックして次の画面に行きます。
タグの追加
「キー」に「Name」を、「値」に「sample」を入力して「セキュリティグループの設定」をクリックします。
セキュリティーグループの設定
セキュリティグループとは、インスタンスの仮想ファイアウォール機能のことで、インバウンドトラフィックとアウトバウンドトラフィックを制御します。下の画像では、SSH(TCP/22)通信はどこからのアクセスでも許可されていますが(本来はアクセス元も制限した方がよいのですが、勉強用ということで割愛します)、それ以外の通信(表示されていないもの)はすべて拒否されています。
「新しいセキュリティグループを作成する」を選択した状態で、「セキュリティグループ名」を「ec2-sg」、「説明」を「Security group for EC2 」と入力し、「確認と作成」をクリックします。
「起動」をクリックします。
キーペアの設定
EC2インスタンスを作成するために、キーペアというものが必要になります。既にキーペアをお持ちの方はそれをお使いいただいても大丈夫です。新しいキーペアを作成される方はキーペア名を「sample-keypair」とし、「キーペアのダウンロード」をクリックします。すると右下の「インスタンスの作成」ボタンが押せるようになるので、クリックします。
しばらく待つとインスタンスが起動するかと思います。「インスタンスの表示」をクリックして確認してみましょう。
すぐに移動すると、「インスタンスの状態」が「pending」になっていると思います。これが「running」であればインスタンスが起動している状態です。
起動したら接続してみましょう。接続するためにIPv4パブリックIPが必要になるのですが、停止したインスタンスを起動し直したり、新しくインスタンスを作成したときに新しいアドレスが割り当てられてしまいます。それを回避するために Elastic IPアドレスというものを利用します。
Elastic IPアドレスの割り当て
Elastic IPアドレスが割り当てられたインスタンスは、そのIPv4パブリックIPにElastic IPアドレス値をもちます。そのため、停止中のインスタンスを再び起動したり、インスタンスを新しく作成しても、同じElastic IPアドレスが割り当てられていれば、常に同じIPアドレスで通信することができます。
EC2管理画面で左側の「Elastic IP」を選択し、「新しいアドレスの割り当て」をクリックします。
「IPv4アドレスプール」は「Amazonプール」を選択し、「割り当て」をクリックします。
成功すれば次の画面になるはずです。後の確認のため、Elastic IPアドレスをメモしておいて「閉じる」をクリックしましょう。
今度は「アクション」プルダウンメニューから「アドレスの関連付け」をクリックします。
「インスタンス」は「sample」と名前を付けたものを選択し、「関連付け」をクリックします。
うまくいきましたら「閉じる」をクリックし、EC2インスタンスにElastic IPアドレスが関連付けられていることを確認しましょう。
左側の「インスタンス」を選択し、「Name」が「sample」のインスタンスを選択します。このとき、「IPv4パブリックIP」が先程のElastic IPと一致していることが分かります。インスタンスに接続するときに使うので、この値をコピーしておきます。
作成したインスタンスへの接続
Linuxインスタンスには、SSH方式で接続します。Tera Termを使って説明します(私のPCのOSがWindowsなので)。Macをお使いの方は、例えば次を参考にしてください。
また、Tera Termのインストール方法については次のリンクを参照してください。
Tera Termを起動したら、先程コピーしたIPアドレスを「ホスト」のところに貼り付け、「OK」をクリックします。
セキュリティ警告が出てきますが、気にせず続行します。
「ユーザ名」に「ec2-user」と入力し、インスタンスを作成するのに用いたキーペア(sample-keypair)を選択します(画面中央右側のところをクリックして、キーペアを置いてある場所から選択します)。その後、「OK」をクリックします。
次のような画面になれば成功です!
EC2インスタンスの削除方法
冒頭でも述べましたが、作成したインスタンスをそのままにしておくとお金がかかります。不要なものは次のようにして削除することができます。
EC2管理ページから左側の「インスタンス」を選択した状態で、削除したいEC2インスタンスを選択します(下の例では「Name」が「sample」のもの)。その後、「アクション」プルダウンメニューをクリックし、「インスタンスの状態」から「終了」をクリックします。
次の画面で、「はい、終了する」をクリックすればEC2インスタンスが削除されます。
おわりに
今回はEC2インスタンスを作成して接続してみました。あまり細かいところは立ち入らずに進めていったので、イマイチ何をしているのかが分からないかもしれませんが、とにかく作ることができればよいというスタンスでお付き合いいただければ幸いです。
次回は、RDSインスタンスについて記事を書いていきます。
参考サイト
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/concepts.html
https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/VPC_SecurityGroups.html
*1:無料利用枠の範囲内であれば発生しません