2016/12/07

AWSでWebサービスを構築04 セキュリティグループの設定

今回はAWS EC2で実際にサーバを作るための前準備を行う。

サーバセキュリティの確保の方法は色々あるかと思うが、AWSでは主にセキュリティグループでフィルタリングを設定する。




セキュリティグループの作成


AWSでは各サーバをセキュリティグループという単位でくくることで、それらサーバのセキュリティポリシーを設定する。

EC2のインスタンス(仮想サーバ)を起動する時に作成や選択ができるが、グループ設計は計画的にやっておく方がいいと思うので、先に作って後から選択する手順でいく。

セキュリティグループでは通信の受信許可を定義する。
具体的には、CIDRとポート番号(とTCPなどのプロトコル)で、通信相手と受信を許可するサービスを設定する。



今回用意するのはアプリケーションサーバ用(AP用)のみ。
要件は、とりあえず
  1. HTTP通信がIN,OUTともに可能。対象は全IP。
  2. SSHで接続するため、これもIN,OUTともに可能。対象は、接続時の手元のPCのIPのみ。
とする。
ちなみに2に関しては、対象を全IPにするとメールとかで怒られるので注意。


EC2のショートカットを選択すると、EC2のダッシュボードが表示される。
画面左部のメニューより、「ネットワーク&セキュリティ→セキュリティグループ」を選択すると、管理画面が表示されるので、画面上部の「セキュリティグループの作成」ボタンを選択する。



グループ名と説明は適当に。アプリケーションサーバ用なので、グループ名にAPとかが入っているとわかりやすい。
VPCは、前回に作成したものを選ぶ。

あとは、ルールの追加を行う。
ダイアログ下部ののタグに関して、「インバウンド」が選択されているかと思う。
これは、外部からサーバへの通信となるため、インバウンドを厳しく設定する必要がある。
「ルールの追加」のボタンを選択すると、ルールが入力可能になる。

HTTPを追加するには「タイプ:HTTP」を選択すると、その他の項目が自動的に入力される。
「送信元」の項目だけ「カスタム:0.0.0.0/0」になっていることを確認する。
SSHを追加するには「タイプ:SSH」を選択する。
「送信元」の項目のドロップダウンリストから「マイIP」を選択すると、自動で現在通信している端末のIPが設定される。

「アウトバウンド」は初期設定からすべての通信をすべての送信先に許すよう設定される。
とりあえずはこれで構わないが、厳密に設定することもできる。

ここまで設定したら、ダイアログ下部の「作成」のボタンを選択する。

これでAP用は完成。


以前はiptablesなんかで個別のサーバにフィルタリングを行っていたが、サボって設定をキチンとしていなかったりする人が野良には結構いた。
AWSではインスタンスごとにセキュリティグループの設定は必須だし、一度作ったら使いまわせるので、いい仕組みだと思う。

セキュリティグループはEC2のみの概念ではなくAWS全体に使用される機能の一つなので、VPCのページからも確認・登録が可能になっている。
ただ、現時点でEC2のページの方が設定UIが高機能なので、こちらで説明した。


いよいよこれからサーバの作成だが、これは結構長くなるので、また次回で。

0 件のコメント:

コメントを投稿