メモ程度に書きました
※https通信に対応するための手順は省略してます
本手順セキュリティや本番環境での正常な動作を保証するものではないことをご了承ください。
登場人物
- ALB (ELBの中でApplication用のロードバランサ)
- セキュリティグループ(ALB向け)
- ターゲットグループ
- リスナー
- ルール
- EC2
- セキュリティグループ(EC2向け)
それぞれの説明
ALB
- セキュリティグループに関して、一般ユーザーからのhttp(ポート80) or https(ポート443)のリクエストを受け付けるため、どちらもセキュリティグループで許可する。
- (開発時は、リクエスト元のIPを絞り、想定外のアクセスを防ぐために、IPアドレスはマイIPを設定する)
- ターゲットグループは、EC2が存在するのサブネットを設定
- EC2のアプリケーションのポートがずれている場合、
- リスナーに関して、一般ユーザーからのアクセスであるhttp(ポート80) or https(ポート443)を許可する
- ルールに関して、デフォルトではターゲットグループへ転送してくれるので、デフォルトを利用
EC2
- セキュリティグループに関して、ssh接続とアプリケーション or Webサーバがlistenしているポートを許可
- アプリケーション or Webサーバがlistenしているポートを許可し、リクエスト元としてはALBのセキュリティグループを指定
- sshは管理者しか使わないため、管理者が利用しているIPアドレスを許可
終わり
メモは以上です。
EC2もALBも起動時間に応じて従量課金なので、インスタンスタイプや、テストで作ったインスタンスの放置にはくれぐれもお気をつけください。