Google Cloud Platform

App Engine アプリのカスタム ドメイン設定が API や CLI でも可能に

デベロッパーの仕事は、プロならではのブランドに裏打ちされたエクスペリエンスをユーザーに提供することです。ウェブ アプリケーションのデベロッパーであれば、それはカスタム ドメインにアプリケーションをホスティングし、HTTPS と SSL 証明書でセキュアなアクセスを保証することです。

.appspot.com のような独自ホスト名からアプリケーションにアクセスすることは、App Engine では以前から簡単でした。ただし、カスタム ドメインと SSL 証明書の設定には Cloud Platform Console の App Engine コンポーネントを使用する必要がありました。

Admin API と gcloud コマンドライン(CLI)ツールの新しいベータ機能を使用すれば、カスタム ドメインと SSL 証明書の両方を管理できます。この機能には、ドメイン マッピングや SSL 証明書の自動アップロードなど、高度な管理機能が含まれています。

これらの新しい API と CLI コマンドは、App Engine アプリケーションの管理を簡素化し、ビジネスの拡大に役立つとともに、ひいてはコード開発にかけられる時間を増やしてくれるでしょう。

GTtUGEXizdyi1tM7Vz4d5_VcIsqoFm9-5-3snvkpmNnPA9JOi2S3Avc-0t3UUW6_ImmnFK3Bl7fQCSMUdk-kWpfDC87_ndzpy8VRuHffTYJf_N0xjFDzfNmXZ_sVVmbVqYs_aj0A2w7h.PNG

CLI による App Engine カスタム ドメインの管理

CLI を使用するには、まず Google Cloud SDK をインストールします。

また、ベータ版の新しいコマンドを使用できるようにするには、ベータ コンポーネントをインストールする必要があります。

  gcloud components install beta

すでにインストールしてある場合は、最新のものを使うようにします。

  gcloud components update

新しいベータ コンポーネントをインストールしたら、ドメインの所有権を確認します。

  gcloud beta domains verify <DOMAIN>
gcloud beta domains list-verified

所有権を確認したら、App Engine アプリケーションにドメインをマッピングします。

  gcloud beta app domain-mappings create <DOMAIN>

同様にサブドメインもマッピングできます。なお、今後は承認された所有者だけがドメインへのマッピングを作成できることに注意してください。

以上のコマンドを入力したら、ドメインの DNS レコードを更新してアプリケーションへのマッピングを完成させます。

次に、HTTPS 接続を開設するために SSL 証明書をアップロードします。

  gcloud beta app ssl-certificates create --display-name 
<CERT_DISPLAY_NAME> --certificate <CERT_DIRECTORY_PATH> 
--private-key <KEY_DIRECTORY_PATH>

アップロードした SSL 証明書を含むようにドメインのマッピングを更新します。

  gcloud beta app domain-mappings update <DOMAIN> --certificate-id 
<CERT_ID>

証明書の有効期限が切れる前に 1 つのコマンドで更新できるようにしたことも、今回のベータ機能の特徴です。

  gcloud beta app ssl-certificates update <CERT_ID> --certificate 
<CERT_DIRECTORY_PATH> --private-key <KEY_DIRECTORY_PATH>

以上のコマンドはあくまでもベータ版なので、本番環境では使用しないでください。詳細は、完全なドキュメントAPI リファレンスをご覧ください。

質問やフィードバックは、Google App Engine フォーラムイシュー トラッカーSlack の App Engine チャンネルまでお送りください。

* この投稿は米国時間 6 月 8 日、Product Manager である Lorne Kligerman によって投稿されたもの(投稿はこちら)の抄訳です。

- By Lorne Kligerman, Product Manager