Cloud Endpoints : API 構成のロールアウトを管理する新しい方法
Google Cloud Japan Team
Google Cloud Endpoints は、エクスポーズする API の開発、デプロイ、保護、モニタリングに使用できる分散 API ゲートウェイです。Google が自社の API の提供に使っているのと同じサービス上に構築されています。Cloud Endpoints はこのほど、再デプロイや再起動を行うことなく、自動的に最新のサービス構成を用いる新しいマネージド ロールアウト戦略を使用するよう構成できるようになりました。
Cloud Endpoints は、分散型の Extensible Service Proxy(ESP)を使用して、低レイテンシかつ高パフォーマンスで API を提供します。ESP は NGINX ベースのサービス プロキシであるため、API に対する同時リクエストをスケーリングによって確実に処理できます。このプロキシは、より優れた分離環境とスケーラビリティを確保するために独自の Docker コンテナで動作し、Google Container Registry と Docker レジストリに分散されます。
ESPは、Google App Engine フレキシブル環境、Google Kubernetes Engine、Google Compute Engine、オープンソースの Kubernetes、または Linux と Mac OS のいずれかが動作するオンプレミス サーバーで実行できます。
rollout_strategy: managed オプションの導入
クラウド サービスを使用するうえで API は重要な要素です。Cloud Endpoints は、認可、モニタリング、レート(アプリケーションが API を呼び出すペース)制限といった API 管理タスクを処理する便利な方法を提供します。Cloud Endpoints を使用すると、OpenAPI 仕様か gRPC サービス構成ファイルを使って API の surface(パブリック インターフェース)を記述できます。API を ESP と Cloud Endpoints で管理するには、次の新しいコマンドを使って、OpenAPI 仕様か gRPC サービス構成ファイルをデプロイします。
このコマンドは構成 ID を生成します。これまで、ESP が新しい構成を適用するには、最後に行った API 構成のデプロイに対して生成された構成 ID を使って ESP を再起動する必要がありました。サービスが App Engine フレキシブル環境にデプロイされていた場合は、API 構成の変更をデプロイするたびに、たとえソース コードが変更されていなくても、サービスを再デプロイしなければなりませんでした。
Cloud Endpoints の新しい rollout_strategy: managed オプションは、最後にデプロイされたサービス構成を使用するよう ESP を構成します。このオプションを指定すると、ESP は 1 分以内に新しいサービス構成の変更点を検出し、自動的にそれに従って動作し始めます。ESP が使用する特定の構成 ID の代わりに、このオプションを指定することをお勧めします。
新しいマネージド ロールアウト デプロイ戦略により、Cloud Endpoints はますます使い勝手の良い API 管理ソリューションとなっています。API 構成の変更のたびにサービスの再デプロイや ESP の再起動を行う必要がなくなったからです。
この新オプションによる ESP のデプロイについては、お使いの API 実装のドキュメントをご覧ください。
参考
* この投稿は米国時間 4 月 9 日、Developer Programs Engineer の Simon Zeltser によって投稿されたもの(投稿はこちら)の抄訳です。
- By Simon Zeltser, Developer Programs Engineer