前回の記事で、ローカル環境からAWSのPublic Subnetにある踏み台サーバーにリモートデスクトップ(RDP)アクセスできるところまで構築しました。
続いて、ローカル環境からProtected SubnetにあるWebサーバーにHTTP(S)アクセスできるように構築していきます。
ネットワーク構築
NAT Gatewayの追加
NAT Gatewayを追加します。
AWSマネージメントコンソール > サービス > VPC > NAT ゲートウェイで、NAT ゲートウェイを作成します。
![AWSのNATゲートウェイの設定](http://tech-popeye.com/wp-content/uploads/2021/09/aws_nat_gateway_compressed-810x1024.png)
セキュリティグループの追加
Webサーバー用EC2のセキュリティグループを追加します。
AWSマネージメントコンソール > サービス > VPC > セキュリティグループで、セキュリティグループを作成します。
![AWSセキュリティグループの追加](http://tech-popeye.com/wp-content/uploads/2021/09/aws_security_group_protected_compressed-1024x919.png)
EC2(Webサーバー)の追加
EC2(Webサーバー)をProtected Subnetに追加します。
AWSマネージメントコンソール > サービス > EC2 > インスタンスで、インスタンスを起動を選択してEC2を作成します。
OSは無料枠の「Windows Server 2019 Base」を使います。
![AWSのEC2追加①](http://tech-popeye.com/wp-content/uploads/2021/09/aws_ec2_select_1_compressed-1-1024x840.png)
インスタンスタイプ(≒マシンスペック)は無料枠の「t2.micro」を使います。
![AWSのEC2追加②](http://tech-popeye.com/wp-content/uploads/2021/09/aws_ec2_select_2_compressed-1-1024x839.png)
ネットワーク関連の設定します。
ここまでに作成したVPC、Protected Subnetを指定します。
![AWSのEC2追加③](http://tech-popeye.com/wp-content/uploads/2021/09/aws_ec2_select_3_protected_compressed-1024x920.png)
次の「ストレージの追加」、その次の「タグの追加」はデフォルト設定のままとし、「セキュリティーグループの設定」に進めます。
![AWSのEC2追加④](http://tech-popeye.com/wp-content/uploads/2021/09/aws_ec2_select_4_protected_compressed-1024x921.png)
次の「インスタンス作成の確認」で内容を確認し、起動します。
キーペアの作成ダイアログが表示されるため、新しいキーペアの作成を選択し、キーペア(pemファイル)をダウンロードしておきます。
![AWSのEC2追加⑤](http://tech-popeye.com/wp-content/uploads/2021/09/aws_ec2_keypair_protected_compressed-1024x917.png)
EC2が作成され、アクティブになるのを待ちます。
![AWSのEC2追加⑥](http://tech-popeye.com/wp-content/uploads/2021/09/aws_ec2_select_5_protected_compressed-1024x881.png)
アクション > セキュリティー >Windows パスワードを取得で、ダウンロードしたpemファイルを指定し、パスワードを復号します。
![AWSのEC2追加⑦](http://tech-popeye.com/wp-content/uploads/2021/09/aws_ec2_select_6_protected_compressed-1024x882.png)
![AWSのEC2追加⑧](http://tech-popeye.com/wp-content/uploads/2021/09/aws_ec2_select_7_protected_compressed-1024x884.png)
これで、Public Subnetの踏み台サーバーから「(Protected Subnetの)プライベートIPアドレス」とユーザー名「Administrator」と復号したパスワードを指定して、Protected SubnetのWebサーバーに対してリモートデスクトップ(RDP)で接続することができます。
![AWSのWebサーバーへRDP接続](http://tech-popeye.com/wp-content/uploads/2021/09/aws_ec2_rdp_compressed-1-1024x762.png)
Webサーバー構築
Webサーバー環境のセットアップ
ローカル環境 ⇒ 踏み台サーバー ⇒ WebサーバーにRDP接続します。
以下を参考に、Webサーバー環境をセットアップします。
セキュリティグループの追加
ロードバランサー用EC2のセキュリティグループを追加します。
AWSマネージメントコンソール > サービス > VPC > セキュリティグループで、セキュリティグループを作成します。
![AWSのセキュリティグループ追加](http://tech-popeye.com/wp-content/uploads/2021/09/aws_security_group_public_compressed-1024x916.png)
ドメイン取得と証明書発行
HTTP(S)通信をするためのドメイン取得と、HTTPS通信のサーバー認証のために証明書を発行します。
こちらを参考に行って下さい。
ロードバランサーの追加
ターゲットグループとロードバランサーを追加します。
ロードバランサーは、クライアントからのHTTP(S)リクエストをWebサーバーに通します。複数のWebサーバーをターゲットグループとして登録し、負荷分散することができます。
![AWSロードバランサーの概要図](http://tech-popeye.com/wp-content/uploads/2021/09/aws_load_balancer_compressed-1.png)
ここでは、ターゲットグループには1つのWebサーバーを所属させます。
AWSマネージメントコンソール > サービス > EC2 > ターゲットグループで、ターゲットグループを作成します。
![AWSのターゲットグループ設定①](http://tech-popeye.com/wp-content/uploads/2021/09/aws_target_group_1_compressed-766x1024.png)
![AWSのターゲットグループ設定②](http://tech-popeye.com/wp-content/uploads/2021/09/aws_target_group_2_compressed-1024x625.png)
![AWSのターゲットグループ設定③](http://tech-popeye.com/wp-content/uploads/2021/09/aws_target_group_3_compressed-1024x625.png)
AWSマネージメントコンソール > サービス > EC2 > ロードバランサーで、ロードバランサーを作成します。
「ロードバランサーの種類の選択」では、「Application Load Balancer」を選択します。
![AWSのロードバランサー設定①](http://tech-popeye.com/wp-content/uploads/2021/09/aws_load_balancer_1_compressed-765x1024.png)
![AWSのロードバランサー設定②](http://tech-popeye.com/wp-content/uploads/2021/09/aws_load_balancer_2_compressed-1-749x1024.png)
追加したロードバランサーの状態が「Active」になることを確認します。
AWSマネージメントコンソール > サービス > Route 53 > ホストゾーンで、取得したドメインを選択し、 「レコードを作成」を選択します。
![AWSのロードバランサー設定③](http://tech-popeye.com/wp-content/uploads/2021/09/aws_load_balancer_3_compressed-1024x532.png)
以上で、クライアント環境のブラウザで「https://<サブドメイン>.<取得したドメイン名>」(e.g. https://www.iso-domain.com) へアクセスすることができます。
続きはこちらになります。