4
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

特定IPアドレス群からのみアクセスを許可したいときのEC2インスタンスとロードバランサーのセキュリティグループの設定例

Posted at

いつも混乱するのでメモ。

やりたいこと

  • ロードバランサーは特定のIPアドレス(xx.xx.xx.xx/xx)からのHTTPSアクセスのみ受け入れる。
  • ロードバランサーはHTTPSアクセスを配下のインスタンスのHTTPポートに転送する。
  • EC2インスタンスはロードバランサーからのHTTPアクセスのみ受け入れる。

設定

ロードバランサー

項目
名前 foo-lb
DNS名 foo-lb-xxxxxxxxx.ap-northeast-1.elb.amazonaws.com
ポート構成 443(HTTPS) を 80(HTTP)に転送
ソースセキュリティグループ sg-aaaaaaaa, sg-xxxxxxxx

EC2インスタンス

項目
名前 foo-server
IPv4パブリックIP nnn.nnn.nnn.nnn
セキュリティグループ sg-bbbbbbbb

セキュリティグループ

sg-aaaaaaaa

(設定なし)

sg-bbbbbbbb

方向 プロトコル(ポート) ソース/送信先
インバウンド HTTP(80) sg-aaaaaaaa
アウトバウンド すべて 0.0.0.0/0

sg-xxxxxxxx

方向 プロトコル(ポート) ソース/送信先
インバウンド HTTPS(443) xx.xx.xx.xx/xx
アウトバウンド すべて 0.0.0.0/0

補足・注意点

  • sg-aaaaaaaaのインバウンド(HTTPS)にxx.xx.xx.xx/xxを入れてもいいです。ここでは他でも同様のIP許可設定を行うことを想定し、IP許可用のセキュリティグループとしてsg-xxxxxxxxを作って流用できるようにしました。
  • sg-xxxxxxxxのインバウンドの設定を増やせば複数のIPアドレス帯域にも対応できます。
  • 誤ってロードバランサーからsg-aaaaaaaaを外すと、EC2インスタンスに設定されているsg-bbbbbbbbのインバウンドにsg-aaaaaaaaしか無いため、ロードバランサーからEC2インスタンスへのHTTPデータ転送ができなくなります。
  • sg-aaaaaaaaのインバウンドのソースにsg-xxxxxxxxを入れてもxx.xx.xx.xx/xxからのアクセスは許可されません。ソースにセキュリティグループ自体を指定した場合は、ソースがそのセキュリティグループが指定されているインスタンスになるだけだからです。
  • アクセス制限しない場合はsg-aaaaaaaaのインバウンド(HTTPS)に0.0.0.0/0を入れ、、ロードバランサーのソースセキュリティグループはsg-aaaaaaaaのみにします。
4
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?