Config Connector: Google Cloud でインフラストラクチャを管理する簡単な方法
Google Cloud Japan Team
※この投稿は米国時間 2023 年 6 月 1 日に、Google Cloud blog に投稿されたものの抄訳です。
今日多くの企業は、自社のインフラストラクチャの管理や環境の構成のために、スタンドアロンのツールやより大規模な CI / CD パイプライン ソリューションに含まれるツールを複数利用しています。Google Cloud の Cloud Build、HashiCorp の Terraform、AWS CloudFormation などのツールでは、開発者が専用の言語(HashiCorp の HCL や Cloud Build 構成言語など)を使用して自社環境のインフラストラクチャを定義し、そのプロビジョニングを自動化することができます。
人気ツールのひとつである Terraform は、Google Cloud やその他のクラウド プラットフォームにインフラストラクチャをプロビジョニングする Infrastructure as Code(IaC)ソフトウェア ツールとして広く使用されています。Google は Terraform を積極的に支援するため、Google Cloud Provider for Terraform に貢献し、数多くの有用な Terraform モジュールを含む Cloud Foundation Toolkit を開発しています。
Google Cloud では、Config Connector(KCC とも呼ばれます)という別のソリューションも使用できます。この投稿では、Config Connector を評価し、クラウド ユーザーがこのソリューションを使用した場合に他のツールと比較して運用プロセスをどの程度改善できるかを示します。Google はこれを 2020 年に初めて発表しました。Config Connector は、Google Cloud のリソースを管理できる Kubernetes オペレーターです。Config Connector は Kubernetes Resource Model を利用して、開発者が定義した構成とインフラストラクチャの間のコントラクトを施行します。これはしばしば「Configuration as Data」と呼ばれます。Configuration as Data の詳細については、このブログ投稿をお読みください。Terraform と比較して、Config Connector は、宣言された構成にできるだけ近いクラウド インフラストラクチャをリアルタイムで維持するという調整戦略を適用します。
Config Connector には、開発者にとって次のような多くの利点があります。
GKE および Anthos Configuration Management とのネイティブなインテグレーションにより、Google Cloud リソースとアプリケーション ワークロードの両方を複数の環境にわたって簡単にプロビジョニングできます。
自動化された調整プロセスがインフラストラクチャの状態を監視し、望ましい状態と観察された状態との不一致を修復します。追加のモニタリングや手動での介入は必要ありません。
一元化された構成管理により、すべての環境のワークロードとインフラストラクチャの構成を 1 か所から単一の形式で管理できます。
マネージド ソリューションとして、Config Connector は DevOps チームにかかる運用とメンテナンスの過剰な負荷を軽減します。これは時間の節約につながり、新規加入メンバーのオンボーディングの迅速化に役立ちます。
Google Cloud インフラストラクチャのプロビジョニングに使用するツールを決定する際は、次のディシジョン ツリーが参考になります。


Config Connector を使用すると、広範なオブザーバビリティ機能が得られるというメリットもあります。GKE および Cloud オペレーション スイートとのインテグレーションを利用して、Config Connector の動作と構成の調整状態を監査できます。また、構成、プロビジョニング、調整に関する問題が発生したときにトリガーされるアラート ポリシーを定義することで、インシデント処理を自動化することもできます。たとえば、次のログフィルタの組み合わせを使用して、構成の参照に関する問題(あるリソースが、見つからない Kubernetes Secret を参照している、など)を調べることができます。
詳細については、Config Connector のモニタリングとトラブルシューティングに関するドキュメントをご覧ください。
Config Connector を使ってみるのは簡単です。必要なものは GKE クラスタだけです。あとは、Config Connector アドオンを有効にすれば、Config Connector がクラスタに自動的にインストールされます。Config Connector をインストールする方法はいくつかあります。以下に、それぞれの方法の長所と短所をまとめます。
メンテナンス費用を最小限に抑え、GitOps コンポーネントのサポートを追加したい場合は、Config Controller が適しています。これを使用するにはプロジェクトで Anthos を有効にする必要があり、管理手数料とクラスタ料金が発生する場合があります。すでに Anthos Config Management(ACM)を使用している場合、Config Controller はすぐに使用できます。ACM が Config Connector をホストし、最新の安定版に自動的にアップグレードします。
Config Connector を高度にカスタマイズしてコントロールしたい場合は、手動インストールが便利です。この方法では、Kubernetes オペレーターと追加の CRD を GKE クラスタにインストールします。また、Config Connector を他の Kubernetes ディストリビューションにインストールすることもできます。ただし、Config Connector のホスティングと構成を所有することになるため、運用コストは他の方法より高くなります。
GKE Config Connector アドオンは、ジャンプ スタート ソリューションとして役立ちます。このアドオンは、単一の構成設定を使用している新規または既存の GKE Standard クラスタ(バージョン 1.15 以降)にインストールできます。ただし、最新版の Config Connector よりもバージョンが大幅に古くなるため、これを本番環境で使用することはおすすめしません。また、ホストする GKE クラスタのプロビジョニングとメンテナンスの運用コストも発生します。
Config Connector をインストールしたら、Kubernetes ワークロードと同じように Google Cloud リソースをプロビジョニングできます。たとえば、次のコード スニペットは BigQuery データセットを作成します。
(この例では、ユーザー指定のリソース ID を使用して BigQuery データセットを識別しています)
多くのシナリオにおいて、Config Connector は他の複数のツールの代用となり、構成された状態と実際の状態との調整に要する時間を最小限に抑えられるというメリットもあります。そのマネージド性と Google Cloud のリソースやサービスを広くカバーしていること、さらには Anthos 構成とのインテグレーションを考えると、Config Connector は Google Cloud ユーザーにとって DevOps パイプラインの万能のマルチツールと言えます。こちらのドキュメントを読むと、Config Connector についての理解を深めることができます。ぜひお試しください。
- デベロッパー リレーションズ エンジニア Leonid Yankulin
- デベロッパー リレーションズ エンジニア Olivier Bourgeois