概要
- ローカル環境から踏み台サーバー→EC2インスタンス「sample」へSSHトンネル接続し、git cloneやdocker composeインストール後に外部からアクセスできるWebサイトを公開しました。その際のAWSリソースの設定を記します。
環境
- Mac
- 機種ID:MacBookPro18,3
- macOS:Monterey
- チップ:Apple M1 Pro
- メモリ:16GB
作成したAWSシステム構成図

- AWSのネットワーク環境の構築手順をバラバラ書くより、上記のように視覚的に図で示した方がわかりやすいと自分の場合は感じましたので、今回は上記のようにまとめました。自身の理解や整理のためにも非常に良いと感じています。
- ぜひネットワーク環境を構築する際は、先にシステム構成図を作成することをお勧めします!
前提(補足)
- ELB/SSHによるGIP制限の対象IPは「133.233.333.444」としています。
- どこからでもアクセスできるようにしたい場合は、ELB/SSHのインバウンドルールを編集してください。
- 踏み台サーバーのパブリック IPv4 アドレスは「11.222.3.444」としています。
- 接続先のEC2インスタンス「sample」のプライベート IPv4 アドレスは「555.666.77.888」としています。
- ロードバランサーの接続先の切り替えがある場合、ターゲットグループは「ブルーグリーンデプロイメント」の考えのもと、本来であればブルーとグリーンを作成することが望ましいです。
- システム構成図を参考にそれぞれのリソースの作成手順を書こうと思いましたが、上記の図だけで何をどのような設定で作成すべきかわかるので、実行手順の記載は省略しました。
注意点
- ELB(パブリックサブネット)のセキュリティグループのインバウンドルールのリスナーで登録するポート番号をdockerで立ち上げる予定のアプリのポート番号と合わせておくこと
- もちろん、ELBで登録するターゲットグループ、セキュリティグループも同様
- 踏み台サーバー(パブリックサブネット)のセキュリティグループのインバウンドルールにSSHを登録しておくこと
- 接続先のEC2インスタンス「sample」(プライベートサブネット)のセキュリティグループのインバウンドルールにELBとSSHを登録しておくこと
- 接続先のEC2インスタンス「sample」(プライベートサブネット)のターゲットグループに「sample」を登録しておくこと
後続作業について
- AWSリソース設定後のSSH接続方法やGitCloneなどの流れは以下の記事にまとめているので、ぜひご参照ください
参考記事
[AWS]EC2内でDockerコンテナを起動して、ブラウザからアクセスする