AWS構築手順セキュリティグループ設定

前章では、VPCを利用したプライベートネットワークの枠組みを作成しました。本章では、ネットワークに対するセキュリティグループを作成していきます。

作成するセキュリティグループは、以下4つとなります。

  • ELB セキュリティグループ
  • WebAppサーバー セキュリティグループ
  • DBサーバー セキュリティグループ
  • メンテナンスサーバー セキュリティグループ
EC-TRIPではセキュリティ確保の都合から、SSHでWebAppサーバーのメンテナンスを行う際、直接WebAppサーバーに接続せずに、踏み台用のメンテナンスサーバーを介したSSH接続を行うこととします。詳細は次章で説明します。

ELB(Elastic Load Balancer) セキュリティグループ

まず最初にELBのセキュリティグループから作成していきます。

  1. 本手順では、EC2メニュー内にあるセキュリティグループメニューを使って設定を進めます。EC2ダッシュボード→セキュリティグループを選択します。リージョンは東京を選択してください。 セキュリティグループキャプチャ1
  2. セキュリティグループの作成をクリックし、以下のパラメータで作成します。 セキュリティグループキャプチャ2
    セキュリティグループ名 ec-trip-pro-secgrp-elb
    説明 ec-trip-pro-secgrp-elb
    VPC ec-trip-pro-vpc
    セキュリティグループのルールには、インバウンドタブで「ルールの追加」をクリックし、以下2つのルールを設定します。ELBはHTTP/HTTPSのポートのみを、すべてのIP(インターネット)から受け付けます。
    タイプ プロトコル ポート ソース
    HTTP TCP 80 カスタム 0.0.0.0/0, ::/0
    HTTPS TCP 443 カスタム 0.0.0.0/0, ::/0

WebAppサーバー セキュリティグループ

同様の手順で、WebAppサーバーセキュリティグループを以下パラメータで作成します。

セキュリティグループ名 ec-trip-pro-secgrp-webapp
説明 ec-trip-pro-secgrp-webapp
VPC ec-trip-pro-vpc

WebAppサーバーには、HTTP/HTTPSのポートのみを、アベイラビリティゾーンA/BそれぞれのPublicサブネットからのみ許可します。

タイプ プロトコル ポート ソース
HTTP TCP 80 カスタム 10.0.1.0/24
HTTPS TCP 443 カスタム 10.0.1.0/24
HTTP TCP 80 カスタム 10.0.2.0/24
HTTPS TCP 443 カスタム 10.0.2.0/24

DBサーバー セキュリティグループ

続けてDBサーバーセキュリティグループを以下パラメータで作成します。

セキュリティグループ名 ec-trip-pro-secgrp-db
説明 ec-trip-pro-secgrp-db
VPC ec-trip-pro-vpc

DBサーバーのセキュリティグループは、前章のVPC構築時にNATの利用有無によって内容が異なります。
まず、NAT有無に限らず、いずれでもMySQLポートのみをアベイラビリティゾーンA/BそれぞれのWebAppサブネットからのみ許可します。

タイプ プロトコル ポート ソース
MySQL/Aurora TCP 3306 カスタム 10.0.10.0/24
MySQL/Aurora TCP 3306 カスタム 10.0.20.0/24
NAT無しの場合は、上記設定に加えて以下のPublicサブネットもインバウンドを許可してください。
タイプ プロトコル ポート ソース
MySQL/Aurora TCP 3306 カスタム 10.0.1.0/24
MySQL/Aurora TCP 3306 カスタム 10.0.2.0/24

メンテナンスサーバー セキュリティグループ

最後にメンテナンスサーバーセキュリティグループを以下パラメータで作成します。

セキュリティグループ名 ec-trip-pro-secgrp-mainte
説明 ec-trip-pro-secgrp-mainte
VPC ec-trip-pro-vpc

このセキュリティグループでは、以下の設定を行います。

  • 踏み台サーバーに対して、SSHポートをマイIPのみ許可する
  • WebAppサーバーに対して、SSHポートを踏み台サーバーのIPのみ許可する
  • DBサーバーに対して、MySQLポートを踏み台サーバーのIPのみ許可する

なお、WebAppサーバー設定時にSSHポートを22から別ポートに変更しますが、現時点ではSSHポートは22のままとします。 また、踏み台用EC2インスタンスは未作成のため、そのIPもインスタンス作成後に設定します。
現状では以下の内容で作成しておいてください。
※緑文字の箇所は、後ほど変更していきます。

タイプ プロトコル ポート ソース
SSH TCP 22 マイIP
SSH TCP 22 カスタム 10.0.1.0/24
MySQL/Aurora TCP 3306 カスタム 10.0.1.0/24
セキュリティグループキャプチャ3

以上でセキュリティグループの作成を完了します。次章では、EC2を使ったメンテナンスサーバーの構築を行います。