ブループリントの概要

ブループリントは、独自のソリューションを実装するための構成とポリシーが文書化されたパッケージです。このパッケージはデプロイして再利用できます。ブループリントに宣言された構成でクラウド リソースを作成して接続し、インフラストラクチャ、プラットフォーム、アプリケーション サービスを設計できます。ブループリントには、新しいシステムや環境を迅速にデプロイするために必要な知識や経験が体系化されています。

ベスト プラクティス

ブループリントには、適切なリソースのグループ化やポリシーなど、特定のユースケースのベスト プラクティスを組み込むことができます。ブループリントにベスト プラクティスをパッケージ化すると、組織内で共有するだけでなく、インターネットで配布することで広く普及させることも可能です。

スマートなデフォルト設定

ブループリントには、特定のユースケースを対象とする複数のリソースがパッケージ化されています。状況に応じた適切な初期値を提供することで、リソース単位でオプションを調整する必要がなくなります。これにより迅速なオンボーディングが可能になり、コストを削減できます。

ポリシー ガードレール

ブループリントには、ベスト プラクティスだけではなく、ポリシー ガードレールを組み込むこともできます。これにより、デベロッパーはセキュリティやコンプライアンスに違反することなく、迅速に作業を進めることができます。

セルフサービスのアップグレード

ブループリントは、バージョニングされた共有可能なアーティファクトとしてリリースされます。これにより、本番環境システムを中断することなく、継続的な改善を行うことができます。ブループリントの利用者は、新しいバージョンにアップグレードするタイミングを選択し、管理を強化してアップグレードを組織全体に段階的にロールアウトできます。また、新しいユーザーにはデフォルトで最新の構成が適用されるため、最新のベスト プラクティスを追加設定なしですぐに適用できます。

ブループリントの種類

Google では、Kubernetes と Terraform の両方のブループリントを用意しています。

すでに Kubernetes を使用している場合、またはアプリケーションとインフラストラクチャを同じツールチェーンで管理するための一元的な方法をお探しの場合は、KRM ブループリントをご覧ください。

Terraform を使用している場合や、複数のクラウド プロバイダでサポートされる堅牢なエコシステムをお探しの場合は、Terraform ブループリントをご覧ください。

Kubernetes Resource Model(KRM)のブループリント

Anthos Config Management のコンポーネントである Config Connector を利用すると、Kubernetes Resource Model を使用して Google Cloud リソースを指定できます。KRM では、リソースを YAML または JSON 形式で簡単に指定できます。

Kubernetes リソースは、Kubernetes ネイティブのパッケージング ツールである kpt を使用してパッケージ化できます。このツールは、Kubernetes リソースのカスタマイズ、検証、デプロイを行うための拡張サポートを提供します。kpt を使用して作成されたブループリントには KRM 表現でリソースを追加できます。Config Connector を使用したネイティブ Kubernetes リソースや Google Cloud リソースなど、すべてのリソースを含めることができます。

KRM ブループリントは、Config Connector が実行されている任意の Kubernetes クラスタにデプロイできます。ホスト型の Anthos Config Management プラットフォームである Config Controller にもデプロイできます。Config Controller は、クラウド インフラストラクチャ全体の構成とポリシーを一元的に管理するコントロール プレーンを提供します。

KRM ブループリントのポリシーは、Open Policy Agent(OPA)の制約テンプレートとして記述されます。Anthos Config Management のコンポーネントである Policy Controller は、アドミッション Webhook を使用してサーバー側の OPA ポリシーを検証し、他の Kubernetes コントローラで処理される前に無効なリソース構成を拒否します。OPA ポリシーは、kpt 関数を使用してクライアント側で検証することもできます。これにより、デプロイ パイプラインの早い段階でシフトレフトのテストを行い、フィードバックを得ることができます。OPA ポリシーは Kubernetes リソースを使用して定義できるため、検証対象のリソースとともに kpt パッケージにバンドルして配布できます。

KRM ブループリント カタログを使用して KRM ブループリントを使ってみましょう。

Terraform ブループリント

Terraform は、HashiCorp 構成言語(HCL)を使用してリソースを指定します。Terraform リソースは、Git リポジトリと Terraform レジストリで公開されたモジュールとしてパッケージ化できます。

Terraform ブループリントのポリシーは、Open Policy Agent 制約テンプレートとしても記述されます。Terraform Validator は、クライアント側でのポリシー検証を可能にするため、Terraform プランを Cloud Asset Inventory アセット メタデータに変換します。その後、これのデータが OPA ポリシーで検証されます。これにより、デプロイ パイプラインの早い段階で構成エラーを検出できます。標準のポリシー バンドルについては、ポリシー ライブラリをご覧ください。

Terraform ブループリント カタログを使用して Terraform ブループリントを使ってみましょう。

次のステップ