GAEで運用しているWordPressのシステム構成を変更する(GAE+ロードバランサ+ServerlessNEG)

この記事は約5分で読めます。

前回の記事でGAE×Serverless NEG構成でWordpressの動作確認が取れましたので、当ブログのシステム構成を変更します。

変更後のシステム構成はこんな感じになります。

ロードバランサ(エンドポイントはServerlessNEG)とSSL証明書がサービスに加わっただけで他大きな変更はないです。

スポンサーリンク

注意事項

当記事執筆時点ではServerless NEGはbeta版となっており、GCPのSLAは保証されません、ご利用される際はご注意下さい。

GAになりました。

スポンサーリンク

Google マネージドSSL証明書の作成

今回のシステム構成変更でロードバランサに設定するSSL証明書が必要になるので、Google マネージドSSL証明書でSSL証明書を作ります。

※マネージドSSL証明書サービスを利用した方が管理、更新の手間が省けます。

Google マネージド SSL 証明書の作成

Cloud SDKで下記コマンドを実行します。

gcloud compute ssl-certificates create CERTIFICATE_NAME 
    --description=DESCRIPTION 
    --domains=DOMAIN_LIST 
    --global
CERTIFICATE_NAMEグローバル SSL 証明書の名前
DESCRIPTIONグローバル SSL 証明書の説明
(不要の場合は省略化)
DOMAIN_LISTこの証明書に使用する単一のドメイン名またはドメイン名のカンマ区切りリスト

作成したSSL 証明書のステータスの確認

Cloud SDKで下記コマンドを実行し、作成されているか確認します。

gcloud compute ssl-certificates list 
   --global
スポンサーリンク

Serverless NEGとロードバランサの作成

  • 静的IPアドレスの生成
  • Serverless NEGの作成
  • ロードバランサの作成

を行います。

手順についてはこちらの記事を参考にして下さい。

Serverless NEG(Network Endpoint Group)を設定し、ロードバランサとGAEと連携する
What is ServerlessNEG(Network Endpoint Group)?端的に言えば、GCPのロードバランサのエンドポイントにサーバーレスサービス(GAE,Cloud Run,Cloud Functions)を...

補足1:ターゲットhttpプロキシ作成手順の箇所について

参考手順6.6.2の箇所をターゲットhttpsプロキシで作成します。

参考手順のコマンドを下記コマンドに置き換えて実行して下さい。

gcloud compute target-https-proxies create 【ターゲットhttpsプロキシ名】 
    --ssl-certificates=【手順2.2.1で作成したSSL証明書名】 
    --global-ssl-certificates 
    --url-map=【URLマップ名】

補足2:フロントエンド(forwarding rule)をロードバランサに追加する手順について

参考手順6.6.3の箇所についてもhttps化します。

参考手順のコマンドを下記コマンドに置き換えて実行して下さい。

gcloud compute forwarding-rules create 【forwarding-rules名】 
    --address=【作成しておいたIPv4アドレス】 
    --target-https-proxy=【前述補足1で作成したhttpsプロキシ名】 
    --global 
    --ports=443

スポンサーリンク

ドメイン関連の設定変更

ここからはご利用環境によって手順が若干異なると思います。

ご利用環境の内容に適宜読み替えてご対応頂ければと思います。

GAEカスタムドメインの削除

GAEの設定メニューからカスタムドメインの設定を削除します。

Cloud DNSの設定変更

  • GAEカスタムドメインの値が設定されているZoneを削除します。
  • 新たにZoneを作成し、Aレコードにロードバランサ・フロントエンドで設定したIPアドレスを設定します。

ドメインサービスの設定変更

  • ご利用中のドメインサービスで設定しているGAEカスタムドメインの設定値を全て削除します。
  • NSレコードはCloud DNSで新たに作成したZoneで発行されたNSレコードの値を設定します。
  • Aレコードにロードバランサ・フロントエンドで設定したIPアドレスを設定します。

接続確認

ドメイン設定変更のブロードキャストが終わるを待ち、ドメインアドレスにてサイトにアクセスし、サイトが表示されれば作業完了です。

上手く行かなかった場合は、、、

GAEカスタムドメインを再度設定し、発行された

  • Aレコード
  • AAAAレコード
  • NSレコード

の値をCloudDNS、ドメインサービスに再度設定すれば元の構成(ドメイン→GAEの順ででルーティング)で動きます。

スポンサーリンク

まとめ

ドメイン関連の設定変更の段取りが悪く30分ほどサイトにアクセス出来なくなりましたが、概ねハマる事なくシステム構成変更が出来ました。

今後、

  • CDN(Cloud CDN)導入
  • WAF(Cloud Armor)導入
  • GAEのマルチリージョン化

などをやろうと思います。

スポンサーリンク

参考情報

Google マネージド SSL 証明書の使用

スポンサーリンク
GCP
ヤマログ
タイトルとURLをコピーしました