AWSサービス EC2を理解する~セキュリティグループ設定~

本記事では、AWSサービスのAmazon Elastic Compute Cloud (Amazon EC2)の機能の1つであるセキュリティグループを利用して、通信制限を実施してみた内容を紹介します。

EC2の概要については下記紹介しています。

環境

今回構築する環境の構成は以下の通りです。

1つのVPC内に異なるAZのパブリックサブネット、プライベートサブネットがそれぞれ1つずつ存在しています。
このうち、2つパブリックサブネットそれぞれに対して、EC2インスタンス①②を作成します。
EC2インスタンス①のセキュリティグループに相手側のEC2インスタンス②との通信許可を設定することで、通信制御できることを確認します。

事前準備

事前準備として、EC2インスタンス①②を作成します。
インスタンス名は①test01, ②test02としています。

インスタンス作成方法は以下で紹介しています。

設定前のセキュリティグループを確認します。

インスタンス①②のどちらも以下のセキュリティグループ設定となっています。

  • インバウンドルールは自端末からのSSH接続のみ許可
  • アウトバウンドルールは全ての通信を許可

インスタンス①からインスタンス②(パブリックIP:18.181.78.14)への疎通確認を実施します。
現時点は疎通できない状態となっていることが確認できました。

[root@ip-(プライベートIPアドレス) ~]# telnet 18.181.78.14 22
Trying 18.181.78.14...

この状態から接続許可設定を行って、接続疎通ができることを確認します。

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

それでは、実際にセキュリティグループ設定を実施してみます。

設定内容は、インスタンス①からインスタンス②へのSSH接続を実施するセキュリティグループを追加します。
具体的な設定内容は以下の通りです。

  • インスタンス②のインバウンドルールをにインスタンス①からのSSH接続を許可する。

最初にEC2インスタンの管理画面を表示します。

インスタンス②を選択し、「セキュリティ」タブを選択します。
セキュリティグループのリンクを選択します。

インスタンス②のセキュリティグループの詳細画面が表示されます。
画面の「インバウンドルール」タブの「インバウンドのルール編集」ボタンを選択します。

インスタンス②のセキュリティグループのインバウンドルールの設定画面が表示されます。
ここにインスタンス①からのSSH接続許可設定を追加します。

画面左下の「ルールを追加」を選択します。

ルールの項目が追加されるので、インスタンス①からの通信許可設定を行います。
タイプに「SSH」、ソースに「インスタンス①のパブリックIPアドレス:18.183.171.90/32」を指定します。
設定が完了したら、画面右下の「ルールを保存」ボタンを選択します。

セキュリティグループはホワイトリスト形式で設定を実施します。
設定追加した通信は許可され、それ以外は拒否されます。

また、セキュリティグループはステートフルなので、戻りの通信許可設定は不要です。

セキュリティグループ設定が完了し、インスタンス①からのSSH接続許可設定が追加されていることを確認できました。

実際にインスタンス①のサーバからインスタンス②へのSSHのポートの疎通ができていることを確認します。
下記の実行結果から疎通できるようになりました。

[root@ip-(プライベートIPアドレス) ~]# telnet 18.181.78.14 22
Trying 18.181.78.14...
Connected to 18.181.78.14.
Escape character is '^]'.
SSH-2.0-OpenSSH_8.7

まとめ

今回はEC2インスタンスの機能の1つであるセキュリティグループ設定について、紹介しました。

AWSのGUIの管理画面から簡単に設定することができました。

セキュリティグループを適切に設定することで、サーバへの不正アクセスを制御し、セキュリティを高めることに繋がります。

ご参考になれば幸いです。

以上になります。ありがとうございました。

コメント

タイトルとURLをコピーしました