【はじめに】
- 自分のブログをAWS上で構築して運営してみたい
- AWS上にネットワーク環境を構築したいけど、構築方法がわからない
AWSのサービスに対する理解度を加速度的に上げるには実際にAWSのサービスを利用してみることが重要です。
第4回目は外部からのアクセスに制限をかけてVPC内のリソースを守るための「セキュリティグループ」の作成方法を解説します。
本記事の内容
- 構築するネットワーク構成図
- 実際にセキュリティグループを作成してみる
【構築するネットワーク構成図】
第1回から第4回にかけて構築するネットワーク構成図をおさらいします。
- リージョン:東京リージョン
- VPC:リージョン内に1つ
- アベイラビリティゾーン:東京リージョンに2つ
- プライベートサブネット:各アベイラビリティゾーンに1つずつ
- パブリックサブネット:各アベイラビリティゾーンに1つずつ
- Internet Gateway(IGW):VPCにアタッチ
- NAT Gateway(NAT-GW):各プライベートサブネットにアタッチ
- ルートテーブル:パブリックルートテーブル× 1、プライベートルートテーブル× 2
- セキュリティグループ:パブリックサブネットに配置する踏み台サーバ用とロードバランサー用のセキュリティグループ
今回は、最後の「セキュリティグループを作成する」方法を詳しく解説していきます。
【実際にセキュリティグループを作成してみる】
はじめに、セキュリティグループを作成するにあたって必要な項目と値を決めます。
項目 | 値 | 説明 |
---|---|---|
セキュリティグループ名 | hands-on-sg-bastion | 踏み台サーバ用のセキュリティグループにつける名前 |
説明 | for bastion server | セキュリティグループの対象、用途などの説明 |
VPC | hands-on-vpc | セキュリティグループを作成するVPC |
インバウンドルール | タイプ:SSH ソース:0.0.0.0/0 |
外部からの接続を許可するポート番号とIPアドレス |
項目 | 値 | 説明 |
---|---|---|
セキュリティグループ名 | hands-on-sg-elb | ロードバランサー用のセキュリティグループにつける名前 |
説明 | for load balancer | セキュリティグループの対象、用途などの説明 |
VPC | hands-on-vpc | セキュリティグループを作成するVPC |
インバウンドルール | タイプ:HTTP, HTTPS ソース:0.0.0.0/0 |
外部からの接続を許可するポート番号とIPアドレス |
重要な項目について詳しくみていきましょう。
Note:
セキュリティグループはリソース(EC2、ロードバランサーなど)に対して、外部から内部へのインバウンド/内部から外部へのアウトバウンドを制御します。
ネットワークACL(アクセスコントロールリスト)も同様にアクセスの制御を行うものですが、サブネットに対して設定します。
セキュリティグループはステートフルと呼ばれ、インバウンドで許可した対象はアウトバウンドも許可されます。デフォルトでは全て拒否されています。
ネットワークACLはステートレスと呼ばれ、インバウンドとアウトバウンド両方でアクセスの制御を設定する必要があります。
手順1:VPCダッシュボードで「セキュリティグループを作成」する
- IAMユーザでログインします。
- 管理コンソールの検索バーで「VPC」と入力してVPCを選択します。
- VPCのダッシュボードを開きます。
- 画面左の「仮想プライベートクラウド」→「セキュリティグループ」をクリックし、画面右上の[セキュリティグループを作成]をクリックします。
ポイント
VPCのダッシュボード上ではすでに、3つのセキュリティグループが作成されています。これはAWS側でVPC、サブネット、IGWルートテーブルと一緒にデフォルトで作成してくれているものです。
デフォルトでは、全ての通信のインバウンドが許可されています。
今回は、新しくセキュリティグループを作成します。
手順2:ルートテーブルの設定
- 「セキュリティグループを作成」画面の「基本的な詳細」に事前に決めた、踏み台サーバ用の「セキュリティグループの名前」、「説明」、「VPC」を入力・選択します。
- 「インバウンドルール」の[ルールを追加]をクリックし、「タイプ」にSSH、「ソース」にAnywhere-IPv4(0.0.0.0/0)を指定します。
- 「アウトバウンドルール」と「タグ」の内容はそのまま[セキュリティグループを作成する]をクリックします。
- 踏み台サーバ用のセキュリティグループが作成され、詳細情報で「0.0.0.0/0(インターネット)」からの「SSH(22番ポート)」通信によるインバウンドが許可されていることが確認できます。
- ロードバランサー用のセキュリティグループも同様に作成します。
- ロードバランサー用のセキュリティグループが作成され、詳細情報で「0.0.0.0/0(インターネット)」からの「HTTP(80番ポート)とHTTPS(443番ポート)」通信によるインバウンドが許可されていることが確認できます。
これでセキュリティグループの作成が完了し、仮想ネットワーク環境の構築が完成しました。
【さいごに】
今回は、仮想ネットワークの構築の最後として外部からのアクセスに制限をかけてVPC内のリソースを守るための「セキュリティグループ」の作成方法を解説しました。
一からネットワーク環境を構築する機会は、実務ではほとんど携わることができないと思います。
しかし、AWS上で自分のブログを作りたい/何かサービスを立ち上げてみたいなど、ネットワーク環境を構築する機会を自分で作りことはできます。
この機会に、色々とネットワーク環境の要件などを変えてみながらオリジナルのネットワーク環境を構築してみると良いでしょう。
次回からは、構築した仮想ネットワーク環境を使用して「Webサーバを構築する」手順を解説していきたいと思います。
コメント