2023.05.08この記事は約5分で読めます。動作確認してみるまとめ参考はじめにインプルの矢島です。安全に管理するために、EC2をプライベートサブネットにおきたいことありますよね。今回はプライベートサブネットに作成したEC2に、パブリックサブネットのALBからの接続を試みたいと思います。前提VPCはデフォルトで作成してあるものを使います。やること下記の構成を作成します。サブネット作成2つのアベイラビリティゾーンにパブリックサブネットとプライベートサブネットを作成します。ALBは各AZに作成されるため、インターネットに接続できるパブリックサブネットを作成しておく必要がある。プライベートサブネットはEC2用に作成します。合計4つのサブネットが作成できていればOKです。repoisitoryとして使用する方法があります。Instanceも多少費用がかかるので、S3のエンドポイントを作成してみます。VPCのエンドポイント項目から「エンドポイント作成」ボタンを押下します。S3はサービスカテゴリの「AWSサービス」となります。サービスはS3の「Gateway」タイプを選択します。(gatewayタイプは無料のため)VPCは今回利用するVPCを選択してください。ルートテーブルはインタネットゲートウェイに向けられてないルートテーブルを選択します。テストなので、ポリシーはフルアクセスにしておきます。これでS3エンドポイントの作成が完了しました。EC2を作成EC2のマネジメントコンソールから、インスタンスを起動します。ネットワークの設定では、VPCとプライベートサブネットを選択します。今回はセキュリティグループを作成しておきます。この後に編集するので、一旦はデフォルトのままで新規作成します。ユーザーデータでapacheのインストールとindex.htmlを作成して、「サーバー1です」と書き込みます。startここまで設定したら、インスタンスを作成してください。無事インスタンスの作成が完了したら、別のアベイラビリティゾーンのプライベートサブネットにも同じようにEC2を作成します。(ユーザーデータのindex.htmlに書き込みでは、「サーバー2です」に文字を変更して作成してください)無事2つのアベイラビリティゾーンにEC2を作成しました。セキュリティグループの編集ALB用のセキュリティグループの作成VPCのセキュリティグループから「セキュリティグループを作成」を押下します。インバウンドルールには、HTTPを許可しておきます。(HTTPSは今回は設定しなくても大丈夫です。EC2のセキュリティグループを編集するEC2を作成した際に、セキュリティグループを作成したと思うので、そのセキュリティグループを編集してALBからのHTTPのみ許可します。(HTTPSは設定しなくても大丈夫です)これでセキュリティグループの設定が完了です。balancerを押下します。ロードバランサーネームは任意で設定してください。mappingではEC2を作成したアベイラビリティゾーンのパブリックサブネットを選択します。セキュリティグループは、先ほど作成したALB用のセキュリティグループを選択します。ターゲットグループを選択しますが、最初に選択する前にグループを作成する必要があります。typeはインスタンスを選択します。nameには任意で設定します。プロトコルにはHTTPを選択します。checksにはHTTPのままにしておきます。Targetsには、2つのEC2を選択します。作成が完了したら、そのグループを選択します。これでロードバランサを作成します。動作確認してみるロードバランサのARNをコピーして、ブラウザからアクセスしてみましょう。すると下記のように「サーバー1です」と表示されます。次に、リロードをしてみます。何度かリロードしてみると、「サーバー2です」と表示されました。このように無事2つのサーバーにうまく繋がっていることがわかります。まとめいかがでしたでしょうか。大体30分くらいで構築することができ、とても簡単だったので、ぜひ試してみていただけたらと思います。