親バカエンジニアのナレッジ帳

webのエンジニアをやっており、日頃の開発で詰まったことや書き残しておきたいことを載せています。

AWS(EC2)でセキュリティグループの設定方法


AWS(EC2)のセキュリティグループ

AWS(EC2)ではセキュリティグループというものを設定しますが、その名の通りセキュリティに関しての設定になります。
グループって何?って感じですが、設定したセキュリティは使い周りができるのです。
例えばWEBサーバではセキュリティグループAをDBサーバではセキュリティグループBを...
というように、役割ごとにグルーピングしてセキュリティルールを設定できたりするので、「グループ」となっています。

使う場面としては、ポート開放やIP制限をかけたりする時などになります。
CentOSではiptablesなどでファイアウォールの設定ができたりしますが、AWS(EC2)ではセキュリティグループの編集で設定が可能です。

ポート開放をしていないと以下ようなことも起こりうるので要注意ですね。


設定方法

色々ぼかしてわかりずらいかもですが、EC2のインスタンス一覧画面でインスタンスを選択するとどのセキュリティグループを使用しているのか表示されます。

f:id:tomotomo1129:20180712150641p:plain

EC2を作成した時に自分でセキュリティグループを作成していなくても、自動でセキュリティグループが作成され、デフォルトではポート22(SSH)のみ開放されている状態です。

セキュリティグループのリンクになっている箇所をクリックすると編集ページに遷移するので、下のメニューから「インバウンド」->「編集」と進めば自分でルールを追加することができます。

f:id:tomotomo1129:20180712150700p:plain

よく使うものとして、「SSH 22」の他に、「HTTP 80」、「HTTPS 443」、「MYSQL 3306」、「SMTP 25」あたりは追加しておいても良いと思います。
HTTPSとMYSQLだけはなぜかちゃんと選択してもタイプ名が「カスタム TCP ルール」になってしまいますが、ちゃんと動作するので大丈夫です。

f:id:tomotomo1129:20180712150715p:plain

「ソース」に関しては、特に接続元を制限する必要がない場合は「0.0.0.0/0」と入れておきましょう。
後々IP制限をしたい場合に変更が可能です。