Infrastructure Manager の概要

Infrastructure Manager(Infra Manager)は、インフラストラクチャリソースのデプロイと管理を簡素化 して自動化するマネージド サービスです。 Google Cloud Terraform 構成(ブループリントとも呼ばれます)を使用することで、Infra Manager は Infrastructure as Code(IaC) ワークフローを実装するためのマネージド Google Cloud ツールチェーンを提供します。

Infra Manager を使用すると、次のことができます。

  • Terraform を使用してインフラストラクチャを宣言的に定義する。
  • Cloud Storage バケット、Git リポジトリ、またはローカル ディレクトリに保存されている Terraform 構成をデプロイする。
  • デプロイとリビジョンを通じてインフラストラクチャのライフサイクルを管理する。
  • プレビュー デプロイを作成して、変更を適用する前にインフラストラクチャに与える影響を確認する。
  • Cloud Build との統合を使用してワークフローを自動化する。

Infra Manager は、リソースへのアプリケーションのデプロイを管理しません。アプリケーションのデプロイには、 Google Cloud App Lifecycle ManagerCloud BuildCloud Deployなどのプロダクトやサードパーティ製ツールを使用することを検討してください。

Infra Manager を使用するには、Terraform に精通している必要があります。 Terraform Google Cloudとの 詳細については、Google Cloudでの Terraform をご覧ください。

Terraform とその仕組みの詳細については、HashiCorp の Terraform とはをご覧ください。

Infra Manager と Infrastructure as Code

Infra Manager を使用すると、IaC を使用して Google Cloud リソースのライフサイクルを管理できます。

  • Terraform は、 Terraform 構成で宣言的に定義されます。つまり、構成はインフラストラクチャの最終状態を記述します。
  • Terraform 構成は、Git リポジトリまたは Cloud Storage バケットでバージョン管理できます。 ストレージ バケット内の構成をバージョン管理するには、オブジェクトのバージョン管理を使用します。
  • Infra Manager を使用して、インフラストラクチャ デプロイを リビジョンで更新します。 リビジョンごとに、Infra Manager は次の情報を保存します。
    • ログ
    • リビジョンの実行に使用された構成
    • リビジョンによって作成された Google Cloud リソースのリスト
    • 各デプロイとリビジョンの一部として作成された状態ファイル

IaC の詳細については、での Infrastructure as Code Google Cloud をご覧ください。

Infra Manager の仕組み

Infra Manager を使用してインフラストラクチャをデプロイする場合のシナリオについて説明します。

  1. にデプロイするインフラストラクチャ リソースは、 Terraform 構成で定義されます。 Google Cloud
    • このファイルは自分で作成することも、 で記述済みの構成を使用することもできます Google Cloud。詳細については、 Terraform と Infrastructure Manager をご覧ください。
    • Terraform 構成は、Cloud Storage バケット、Git リポジトリ、またはローカルマシンに保存できます。
  2. Infra Manager を使用して Terraform 構成からリソースをデプロイすると、デプロイが作成されます。デプロイを作成するために、Infra Manager は次の処理を行います。
    1. リクエストを検証します。たとえば、コマンドで Terraform 構成の場所を指定していることを確認します。
    2. コンテナ イメージを使用して Cloud Build ジョブを作成します。このイメージは が所有し、管理しています Google Cloud。Cloud Build 環境の詳細については、 ビルド環境をご覧ください。Cloud Build ジョブは、次のタスクを自動化します。
      1. ストレージ バケットまたは Git リポジトリから Terraform モジュールをダウンロードします。
      2. Terraform を初期化します(terraform init
      3. Terraform 構成を検証します(terraform validate
      4. 構成を有効にします(terraform apply。デプロイを削除する場合は terraform destroy)。
      5. Cloud Build ログを、Infra Manager によって作成されたストレージ バケットにストリーミングします。
      6. デプロイが失敗した場合(断続的なネットワーク停止で失敗した場合など)、Infra Manager は特定のシナリオで terraform init または terraform apply オペレーションを自動的に再試行します。これらの再試行は、限られた回数だけ実行されます。
    3. Cloud Storage バケットを作成し、デプロイに関するメタデータを保存します。デプロイとメタデータの詳細については、 デプロイとリビジョンの概要をご覧ください。
  3. デプロイが完了すると、 Google Cloud リソースは 構成で記述されているとおりにプロビジョニングされます。

    Infra Manager デプロイに対して次のクエリを実行できます。

    • デプロイのステータス。
    • デプロイの一部としてデプロイされるリソースのリスト。
    • デプロイの一部である個々のリソースの詳細。

ランタイム環境

Infra Manager のランタイム環境は、 エフェメラル Cloud Build 環境です。Infra Manager はこの Cloud Build ビルド環境で Terraform コマンドを実行し、環境は破棄されます。

Cloud Build 環境の特定のオペレーティング システム、利用可能なソフトウェア、その他の構成の詳細情報は、Infra Manager の内部実装の詳細であり、いつでも変更される可能性があります。

デプロイごとに、使用する Terraform のサポート対象バージョン を指定できます。

個人情報や機密情報は入力しないでください

Terraform 構成値に個人情報や機密情報を含めないでください。

Terraform 構成と機密データの詳細については、 次を ご覧ください。Terraform 構成値と機密データ

次のステップ