前回の記事で、ローカル環境からGCPのPublic Subnetにある踏み台サーバーにリモートデスクトップ(RDP)アクセスできるところまで構築しました。
続いて、ローカル環境からProtected SubnetにあるWebサーバーにHTTP(S)アクセスできるように構築していきます。
ネットワーク構築
外部IPアドレスの追加
NAT用の外部IPアドレス(グローバルIPアドレス)を追加します。
Google Cloud コンソール > メニュー > ネットワーキング > VPC ネットワーク > 外部 IP アドレスで、外部IPアドレスを追加(静的アドレスを予約)します。
![GCPのグローバルIPの取得](http://tech-popeye.com/wp-content/uploads/2021/09/gcp_global_ip_compressed-1-1024x1010.png)
次いで、ロードバランサー用の外部IPアドレス(グローバルIPアドレス)を追加します。
![GCPのグローバルIPの取得(ロードバランサー用)](http://tech-popeye.com/wp-content/uploads/2021/09/gcp_global_ip_lb_compressed-966x1024.png)
Cloud NATの追加
Cloud NATを追加します。
Google Cloud コンソール > メニュー > ネットワーキング > ネットワーク サービス > Cloud NATで、Cloud NATを作成します(開始ボタンを押下します)。
![GCPのCloudNATの追加](http://tech-popeye.com/wp-content/uploads/2021/09/gcp_cloud_nat_compressed-704x1024.png)
![GCPのCloudRouterの追加](http://tech-popeye.com/wp-content/uploads/2021/09/gcp_cloud_router-887x1024.png)
GCE(Webサーバー)の追加
GCE(Webサーバー)をProtected Subnetに追加します。
Google Cloud コンソール > メニュー > コンピューティング > Compute Engine > VM インスタンスで、VMインスタンスを作成します。
![GCPのGCE追加①](http://tech-popeye.com/wp-content/uploads/2021/09/gcp_gce_web_server_1_compressed-1024x989.png)
![GCPのGCE追加②](http://tech-popeye.com/wp-content/uploads/2021/09/gcp_gce_web_server_2_compressed-1024x825.png)
その他はデフォルト設定のまま作成をします。
Firewallの追加
GCE(Webサーバー)に適用するFirewallを追加します。
![GCPのFirewall設定](http://tech-popeye.com/wp-content/uploads/2021/09/gcp_firewall_webserver_compressed-1-686x1024.png)
GCE(Webサーバー)の起動
GCE(Webサーバー)を起動します。
Google Cloud コンソール > メニュー > コンピューティング > Compute Engine > VM インスタンスで、作成したインスタンスを選択します。
内部IPを把握します。
![GCPのGCE追加③](http://tech-popeye.com/wp-content/uploads/2021/09/gcp_gce_web_server_3_compressed-1024x918.png)
Windowsパスワードを設定(取得)します。
![GCPのGCE追加④](http://tech-popeye.com/wp-content/uploads/2021/09/gcp_gce_web_server_4_compressed-1024x921.png)
![GCPのGCE追加⑤](http://tech-popeye.com/wp-content/uploads/2021/09/gcp_gce_web_server_5_compressed-1024x920.png)
これで、Public Subnetの踏み台サーバーから「(Protected Subnetの)内部IPアドレス」とユーザー名と取得したパスワードを指定して、Protected SubnetのWebサーバーに対してリモートデスクトップ(RDP)で接続することができます。
![GCPのWebサーバーへRDP接続](http://tech-popeye.com/wp-content/uploads/2021/09/rdp_compressed-1024x657.png)
Webサーバー構築
Webサーバー環境のセットアップ
ローカル環境 ⇒ 踏み台サーバー ⇒ WebサーバーにRDP接続します。
以下を参考に、Webサーバー環境をセットアップします。
インスタンスグループの追加
GCEのインスタンスグループを追加します。ロードバランサーの追加に必要です。
Google Cloud コンソール > メニュー > コンピューティング > Compute Engine > インスタンス グループで、インスタンスグループを作成します。
![GCPのインスタンスグループ](http://tech-popeye.com/wp-content/uploads/2021/09/gcp_instance_group_compressed-998x1024.png)
ロードバランサーの追加
ロードバランサーを追加します。
ロードバランサーは、クライアントからのHTTP(S)リクエストをWebサーバーに通します。複数のWebサーバーをターゲットグループとして登録し、負荷分散することができます。
![](http://tech-popeye.com/wp-content/uploads/2021/09/gcp_lb_summary_compressed.png)
ここでは、インスタンスグループには1つのWebサーバーを所属させます。
Google Cloud コンソール > メニュー > ネットワーキング > ネットワークサービス > Cloud Load Balancingで、ロードバランサーを作成します。
「HTTP(S) 負荷分散」を選択し、構成を開始します。
「インターネット接続または内部専用」では、「インターネットから自分の VM へ」を選択し、続行します。
バックエンドを構成します。
![GCPのロードバランサーの追加①](http://tech-popeye.com/wp-content/uploads/2021/09/gcp_load_balancer_1_compressed-1024x498.png)
![GCPのロードバランサーのバックエンドの設定①](http://tech-popeye.com/wp-content/uploads/2021/09/gcp_lb_backend_1_compressed-1-790x1024.png)
![GCPのロードバランサーのバックエンドの設定②](http://tech-popeye.com/wp-content/uploads/2021/09/gcp_lb_backend_2_compressed-1024x1015.png)
![GCPのロードバランサーのバックエンドの設定③](http://tech-popeye.com/wp-content/uploads/2021/09/gcp_lb_health_check_compressed-655x1024.png)
ホストとパスのルールを設定します。
![GCPのロードバランサーのホストとパスの設定](http://tech-popeye.com/wp-content/uploads/2021/09/gcp_lb_host_path_compressed-1024x413.png)
フロントエンドを構成します。
![GCPのロードバランサーのフロントエンドの設定①](http://tech-popeye.com/wp-content/uploads/2021/09/gcp_lb_frontend_1_compressed-1-1024x852.png)
![GCPのロードバランサーのフロントエンドの設定②](http://tech-popeye.com/wp-content/uploads/2021/09/gcp_lb_frontend_2_compressed-1024x847.png)
作成ボタンを押して作成します。
ドメイン取得
HTTP(S)通信をするためのドメイン取得を行います。
こちらを参考に行って下さい。
ドメインと、ロードバランサーの(のフロントエンドで設定した)グローバルIPアドレスを紐付けます。
Google Domainsにアクセスし、マイドメイン > 取得したドメインを選択 > DNSを選択します。
カスタムレコードで新しいレコードを作成します。
![GoogleDomainsの設定](http://tech-popeye.com/wp-content/uploads/2021/09/gcp_domain_compressed-1024x725.png)
SSL証明書の発行
HTTPS通信のサーバー認証のため、SSL証明書を発行します。
Google Cloud コンソール > メニュー > ネットワーキング > ネットワークサービス > Cloud Load Balancingで、作成したロードバランサーを選択し、フロントエンドの編集を行います。
![GCPのロードバランサーのフロントエンドの設定③](http://tech-popeye.com/wp-content/uploads/2021/09/gcp_lb_frontend_3_compressed-1024x858.png)
更新ボタンを押して保存します。
SSL証明書がActiveになるのを待ちます。数分かかります。
![GCPのロードバランサーのフロントエンドの設定④](http://tech-popeye.com/wp-content/uploads/2021/09/gcp_lb_frontend_4_compressed-1024x915.png)
![GCPのロードバランサーのフロントエンドの設定⑤](http://tech-popeye.com/wp-content/uploads/2021/09/gcp_lb_frontend_5_compressed-1024x776.png)
以上で、クライアント環境のブラウザで「https://<サブドメイン>.<取得したドメイン名>」(e.g. https://www.iso-domain.com) へアクセスすることができます。
続きはこちらになります。