Blogical

AWS/Salesforceを中心に様々な情報を配信していきます(/・ω・)/

【AWS入門】スケーラブルな構築をしてみよう(2)

こんにちは、ロジカル・アーツの井川です。

第2回記事ですね。今回はEC2インスタンスAmazon Linux)を作成して、実際に接続してみたいと思います。なお、今回から構築する環境(EC2インスタンス等)はそのままにしておくと費用が発生します*1。できるだけ料金がかからないようにはしていますが、特に必要としない限りは構築した環境を削除するようお願いします(記事の最後の方に削除方法を載せてあります)。

各回の記事の大まかな内容は以下の通りでした。

今回の作業を終えると、次のような構成が完成します。

f:id:logicalarts:20190926160919p:plain

前回の作成した環境内に作ることを前提に進めていきますので、この記事から読み始められた方は、お手数ですが前回の記事を参照ください。

blog.logical.co.jp

EC2インスタンスAmazon Linux AMI)の作成

EC2とはElastic Compute Cloudの略で、AWSクラウド上で仮想サーバを提供するサービスのことです。EC2インスタンスはそのサービスを利用して実際に作った仮想サーバを表します。インスタンスの起動にはAMI(Amazon マシンイメージ)というものが必要です。今回はAmazon Linux AMIを選択します。では始めていきましょう。

まずマネジメントコンソール画面から、「EC2」で検索します。「EC2」 を選択し、EC2管理ページに移動します。

f:id:logicalarts:20190927091011p:plain

左側の「EC2ダッシュボード」が選択された状態で、インスタンスの作成」をクリックします。

f:id:logicalarts:20190930155045p:plain

Amazon マシンイメージの選択

Amazon Linux AMIを選択します。

f:id:logicalarts:20191121111423p:plain

インスタンスタイプの選択

インスタンスタイプは「t2.micro」を選択し、インスタンスの詳細の設定」をクリックします。

f:id:logicalarts:20190927091025p:plain

インスタンスの詳細設定

「ネットワーク」VPC)と「サブネット」は前回作成したものから選択します。それぞれ「sample」「sample-public」と名前を付けていたので、その名前のものを選びます。「自動割り当てパブリックIP」「有効」を選択して「ストレージの追加」をクリックします。

f:id:logicalarts:20190927091030p:plain

ストレージの設定

ストレージはそのままで、「タグの追加」をクリックして次の画面に行きます。

f:id:logicalarts:20190927091035p:plain

タグの追加

「キー」「Name」を、「値」「sample」を入力して「セキュリティグループの設定」をクリックします。

f:id:logicalarts:20190927091040p:plain

セキュリティーグループの設定

セキュリティグループとは、インスタンスの仮想ファイアウォール機能のことで、インバウンドトラフィックとアウトバウンドトラフィックを制御します。下の画像では、SSHTCP/22)通信はどこからのアクセスでも許可されていますが(本来はアクセス元も制限した方がよいのですが、勉強用ということで割愛します)、それ以外の通信(表示されていないもの)はすべて拒否されています。

「新しいセキュリティグループを作成する」を選択した状態で、「セキュリティグループ名」「ec2-sg」「説明」「Security group for EC2 」と入力し、「確認と作成」をクリックします。

f:id:logicalarts:20191121111137p:plain

「起動」をクリックします。

f:id:logicalarts:20190927091049p:plain

キーペアの設定

EC2インスタンスを作成するために、キーペアというものが必要になります。既にキーペアをお持ちの方はそれをお使いいただいても大丈夫です。新しいキーペアを作成される方はキーペア名を「sample-keypair」とし、「キーペアのダウンロード」をクリックします。すると右下のインスタンスの作成」ボタンが押せるようになるので、クリックします。

f:id:logicalarts:20190927091055p:plain

しばらく待つとインスタンスが起動するかと思います。インスタンスの表示」をクリックして確認してみましょう。

f:id:logicalarts:20190927091059p:plain

すぐに移動すると、インスタンスの状態」「pending」になっていると思います。これが「running」であればインスタンスが起動している状態です。

f:id:logicalarts:20191121110838p:plain

f:id:logicalarts:20191121110827p:plain

起動したら接続してみましょう。接続するためにIPv4パブリックIPが必要になるのですが、停止したインスタンスを起動し直したり、新しくインスタンスを作成したときに新しいアドレスが割り当てられてしまいます。それを回避するために Elastic IPアドレスというものを利用します。

Elastic IPアドレスの割り当て

Elastic IPアドレスが割り当てられたインスタンスは、そのIPv4パブリックIPにElastic IPアドレス値をもちます。そのため、停止中のインスタンスを再び起動したり、インスタンスを新しく作成しても、同じElastic IPアドレスが割り当てられていれば、常に同じIPアドレスで通信することができます。

EC2管理画面で左側の「Elastic IP」を選択し、「新しいアドレスの割り当て」をクリックします。

f:id:logicalarts:20191121110749p:plain

IPv4アドレスプール」Amazonプール」を選択し、「割り当て」をクリックします。

f:id:logicalarts:20191121110755p:plain

成功すれば次の画面になるはずです。後の確認のため、Elastic IPアドレスをメモしておいて「閉じる」をクリックしましょう。

f:id:logicalarts:20191121110801p:plain

今度は「アクション」プルダウンメニューから「アドレスの関連付け」をクリックします。

f:id:logicalarts:20191121110807p:plain

インスタンス「sample」と名前を付けたものを選択し、「関連付け」をクリックします。

f:id:logicalarts:20191121110811p:plain

うまくいきましたら「閉じる」をクリックし、EC2インスタンスにElastic IPアドレスが関連付けられていることを確認しましょう。

f:id:logicalarts:20191121110816p:plain

左側のインスタンスを選択し、「Name」「sample」インスタンスを選択します。このとき、IPv4パブリックIP」が先程のElastic IPと一致していることが分かります。インスタンスに接続するときに使うので、この値をコピーしておきます。

f:id:logicalarts:20191121110821p:plain

作成したインスタンスへの接続

Linuxインスタンスには、SSH方式で接続します。Tera Termを使って説明します(私のPCのOSがWindowsなので)。Macをお使いの方は、例えば次を参考にしてください。

また、Tera Termのインストール方法については次のリンクを参照してください。

Tera Termを起動したら、先程コピーしたIPアドレス「ホスト」のところに貼り付け、「OK」をクリックします。

f:id:logicalarts:20191122145728p:plain

セキュリティ警告が出てきますが、気にせず続行します。

f:id:logicalarts:20191122145732p:plain

「ユーザ名」「ec2-user」と入力し、インスタンスを作成するのに用いたキーペア(sample-keypair)を選択します(画面中央右側のところをクリックして、キーペアを置いてある場所から選択します)。その後、「OK」をクリックします。

f:id:logicalarts:20191122145736p:plain

次のような画面になれば成功です!

f:id:logicalarts:20191122145740p:plain

EC2インスタンスの削除方法

冒頭でも述べましたが、作成したインスタンスをそのままにしておくとお金がかかります。不要なものは次のようにして削除することができます。

EC2管理ページから左側のインスタンスを選択した状態で、削除したいEC2インスタンスを選択します(下の例では「Name」「sample」のもの)。その後、「アクション」プルダウンメニューをクリックし、インスタンスの状態」から「終了」をクリックします。

f:id:logicalarts:20191216174625p:plain

次の画面で、「はい、終了する」をクリックすればEC2インスタンスが削除されます。

f:id:logicalarts:20191216180357p:plain

おわりに

今回はEC2インスタンスを作成して接続してみました。あまり細かいところは立ち入らずに進めていったので、イマイチ何をしているのかが分からないかもしれませんが、とにかく作ることができればよいというスタンスでお付き合いいただければ幸いです。

次回は、RDSインスタンスについて記事を書いていきます。

参考サイト

*1:無料利用枠の範囲内であれば発生しません