Terraform テンプレートからのカタログアイテムの作成

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:6分
  • Terraform テンプレートからカタログアイテムを作成して、クラウドリソースのプロビジョニングを要求します。アクティブ化されたカタログアイテムは、クラウドユーザーポータルに表示されます。

    始める前に

    • 適切な Terraform 構成プロバイダーが利用可能であることを確認します。構成プロバイダーの作成の詳細については、「Terraform Open Source 構成プロバイダーの作成」および「Terraform Enterprise または Terraform Cloud 構成プロバイダーの作成」を参照してください。
    • Terraform テンプレートが機能していることを確認します (つまり、Terraform システムでテンプレートを直接使用して、指定されたクラウドリソースをプロビジョニングできます)。Terraformテンプレートの詳細については、 Terraform 言語ドキュメント.
    • Terraform テンプレートの provider ブロックが次の構文に従っていることを確認します。
      • Microsoft Azure クラウドの provider ブロックの構文:
        provider "azurerm" {
        
          subscription_id = "${var.subscriptionId}"
          client_id       = "${var.clientId}"
          client_secret   = "${var.clientSecret}"
          tenant_id       = "${var.tenantId}"
        }
      • Amazon Web サービス クラウドの provider ブロックの構文:
        provider "aws" {
          access_key      = "${var.access_key}"
          secret_key      = "${var.secret_key}"
          region          = "${var.region}"
        }
      • Google Cloud Platform の provider ブロックの構文
        terraform {
          required_providers {
            google = {
              source  = "hashicorp/google"
              version = "5.10.0"
            }
          }
        }
         
        provider "google" {
          credentials = var.credentials
          project     = var.project
          region      = var.region
        }
      • VMware Cloud の provider ブロックの構文:
        provider "vsphere" {
          user                  = "${var.user}"
          password              = "${var.password}"
          vsphere_server        = "${var.vsphere_server}"
        }
        
        注:
        Terraform テンプレートに認証情報をハードコーディングしないでください。適切な Terraform 変数を使用して、Now Platform から認証情報をフェッチしてください。
    • 変数定義ファイル (variable.tf.tfvars、または .tfvars.json) に、provider ブロックで使用される変数の定義が含まれていることを確認します。
    • Terraform Enterprise または Terraform Cloudを使用している場合は、MID サーバーTerraform 組織でプロビジョニングされたバージョン管理システム (VCS) アカウントに接続できることを確認してください。
      Terraform 組織でプロビジョニングされた VCS アカウントとの接続を確認するには、MID サーバー で適切な curl コマンドを実行します。
      GitHub
      curl -H "Authorization: <API credential> https://<github-api-host>/user/repos?per_page=100&page=1"
      GitLab
      curl -H "Authorization: <API credential>" https://<gitlab-api-host>/api/v4/projects?visibility=private&per_page=100&page=1
      Microsoft Azure DevOps
      curl -H "Authorization: <API credential> https://<azure-devops-api-host>/<organization>/<project>/_apis/git/repositories?api-version=6.0"
      ここで、
      • organization は、Microsoft Azure DevOps 組織の名前です。
      • project は、Microsoft Azure DevOps プロジェクトの名前です。

      API 認証情報の詳細については、「[クラウドプロビジョニングとガバナンス:Terraform Connector API キー認証情報] フォームの参照」を参照してください。

    必要なロール:sn_cmp.cloud_service_designer

    このタスクについて

    クラウドプロビジョニングとガバナンス:Terraform Connector アプリは、次の Terraform データタイプをサポートしています。
    • 文字列
    • 番号
    • ブール
    • リスト
    • タプル
    • マップ
    • オブジェクト

    手順

    1. クラウドカタログアイテムを作成します。
      1. 移動先 すべて > Cloud Provisioning and Governance > クラウドアドミンポータル.
        クラウドアドミンポータルが新しいブラウザタブで開きます。
      2. 移動先 Design (デザイン) > クラウドカタログアイテム.
      3. [新規] を選択します。
      4. フォームのフィールドに入力します。
        表 : 1. クラウドカタログアイテムフォーム
        フィールド 説明
        名前 カタログアイテムの一意の分かりやすい名前。
        ソース カタログアイテムのソース。

        ドロップダウンリストで [構成管理テンプレート] を選択します。

        プロバイダータイプ 使用する Terraform 構成プロバイダータイプ。
        • Terraform Enterprise または Terraform Cloud を使用するには、[Terraform Enterprise] を選択します。
        • Linux ベースの Terraform Open Source サーバーを使用するには、[Terraform 環境 (Terraform Environment)] を選択します。
        • Windows ベースの Terraform Open Source サーバーを使用するには、[Terraform Windows 環境 (Terraform Windows Environment)] を選択します。
        プロバイダー 使用する Terraform 構成プロバイダーの名前。
      5. [クラウドカタログアイテム] フォームを保存します。
    2. Terraform テンプレートをカタログアイテムに関連付けます。
      1. [クラウドテンプレート] 関連リストで、[新規] を選択します。
      2. [インストール可能な構成] ドロップダウンリストで、使用する Terraform テンプレートを選択します。
      3. [ServiceNow クラウドテンプレートバージョン] フォームを保存します。
        注:
        カタログアイテムには複数のバージョンのクラウドテンプレートを含めることができますが、有効にできるバージョンは 1 つだけです。
      4. [アクティブ化 (Activate)]を選択して、クラウドテンプレートをアクティブ化します。
    3. オプション: カタログアイテムフォームのフィールドを追加または削除するには、カタログアイテムに関連付けられた変数セットを編集します。
    4. [アクティブ] チェックボックスを選択して、カタログアイテムを有効にします。
    5. [更新] を選択します。

    次のタスク

    カタログアイテムがクラウドユーザーポータルに表示されることを確認します。