1
0

More than 3 years have passed since last update.

EC2インスタンス同士の通信を簡単に許可する方法

Posted at

複数のEC2インスタンスを使ってクラスタを組む場合など、EC2インスタンス同士で通信を許可したい時があると思います。
セキュリティグループと呼ばれる仮想ファイアウォールの設定が必要ですが、送信元にセキュリティグループを設定すると簡単に設定ができます。

1. セキュリティグループを作成する

まずはセキュリティグループを作成します。サービス検索窓に「セキュリティグループ」と入力し、「セキュリティグループ」をクリックします。

12.png

次に「セキュリティグループを作成」をクリックします。

0.png

必要な項目を入力していきます。「セキュリティグループ名」と「説明」に何か入力しましょう。今回はTestGroupとしました。
次にインバウンドルールを設定していきますが、実はこの時点では目的のルールは設定できません。
ソースつまり送信元にこのセキュリティーグループ自身を設定したいのですが、まだこのセキュリティグループは作成されていないためです。
なので、そのルールはいったん作成せず、接続確認用のSSHのポート(22)だけルールを設定しておきましょう。

3.png

「セキュリティグループを作成」をクリックしていったん作成してしまいます。

2.png

そして、作成したこのセキュリティグループを編集しましょう。
「アクション」をクリックします。

4.png

そして「インバウンドルールを編集」をクリックします。

5.png

さて、やっとこさ目的のルールの作成です。
送信元に自分自身を指定します。検索窓をリクックすると候補が選べるようになるのですが、TestGroupを選択します。

7.png

このルールによって、このセキュリティグループをアタッチしたEC2インスタンスは、相互に通信が許可された状態になります。

送信元にIPアドレスやその範囲等を設定するよりずっと簡単ですね。
設定ミス等も防止できそうです。

「ルールを保存」をクリックして編集を完了させましょう。

8.png

2. EC2インスタンスを作成する

先ほど作成したセキュリティグループを使ってみましょう。
EC2インスタンスを2つ作って接続できるか確認してみます。
EC2インスタンスの作成画面で、「インスタンス数」を2にセットします。

10.png

先ほどのセキュリティグループをアタッチしましょう。

11.png

設定はこれで終わりなので「確認と作成」をクリックし、設定を確認したらEC2インスタンスを起動してください。

3. 接続確認する

通信が許可されたか確認しましょう。
片方のインスタンスでポート8080をLISTENさせます。

ubuntu@ip-172-31-46-224:~$ nc -l 8080

次にもう片方のインスタンスからアクセスしてみましょう。

ubuntu@ip-172-31-47-167:~$ nc -v -w 1 172.31.46.224 8080
Connection to 172.31.46.224 8080 port [tcp/http-alt] succeeded!

無事接続確認できました!

ちなみに、今回の設定では全ての通信を許可していますので、他のポートでも接続できます。

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0