モデルとパッケージのデプロイ単位

このページでは、SaaS オファリングのデプロイ ユニットをモデリングしてパッケージ化する方法について説明します。SaaS ランタイムでは、デプロイ ユニットはユニットの種類と呼ばれます。

個別に管理する SaaS サービスのコンポーネントごとに 1 つのユニットの種類を作成します。詳細については、 SaaS サービスのモデルを決定するをご覧ください。

必要に応じて、SaaS オファリング全体に対して 1 つのユニットの種類を使用して SaaS オファリングを作成できます。

ユニットの種類は、OCI イメージとしてパッケージ化された Terraform 構成であるブループリントによって定義されます。ユニットの種類を作成する前に、ユニットの種類ごとにブループリントを作成する必要があります。 ブループリントの作成の詳細については、 ブループリントを作成してアップロードするをご覧ください。

始める前に

  1. SaaS アプリケーションの SaaS サービスを定義していることを確認します。
  2. Artifact Registry リポジトリを 作成済みであることを確認します。
  3. 必要な権限を持つサービス アカウントがあることを確認します。 詳細については、 SaaS ランタイム サービス アカウントをご覧ください。
  4. 作成するユニットの種類ごとに、Terraform 構成があり、ブループリントが準備されていることを確認します。詳細については、 SaaS オファリングのモデルを決定するをご覧ください。

SaaS サービスのモデルを決定する

SaaS サービスをモデリングするには、作成するユニットの種類の数と、これらのユニットの種類の関係を決定する必要があります。

たとえば、VM などのインフラストラクチャ用のユニットの種類と、インフラストラクチャにデプロイされたアプリケーション用のユニットの種類の 2 つのユニットの種類を作成できます。必要に応じて、SaaS サービス全体に対して 1 つのユニットの種類を使用して SaaS サービスを作成できます。

ユニットの種類を使用して SaaS サービスをモデリングする方法を決定するには、次の点を考慮してください。

  • SaaS サービスのコンポーネント間の依存関係を確認します。たとえば、SaaS サービスに共有 Kubernetes クラスタにデプロイされたアプリケーションが含まれている場合は、ユニットの種類を使用してこの共有クラスタをモデリングすることを検討してください。
  • SaaS オファリングのコンポーネントのリリースとメンテナンスのサイクルを考慮します。インフラストラクチャなど、まとめて管理されるコンポーネントがある場合は、これらのコンポーネントを 1 つのユニットの種類でモデリングすることを検討してください。

このモデルを決定したら、ユニットの種類ごとにブループリントを作成する必要があります。そのためには、次のことを行う必要があります。

  1. このユニットの種類に接続する Terraform 構成を特定します。 必要な Terraform 構成の詳細については、 SaaS ランタイムのブループリントをご覧ください。
  2. Terraform 構成が OCI イメージとしてパッケージ化され、Artifact Registry に push されているか、zip アーカイブまたは Git リポジトリにあることを確認します。詳細については、 ブループリントを作成してアップロードするをご覧ください。

ユニットの種類ごとにブループリントがある場合は、このページの手順に沿ってユニットの種類を作成できます。

ユニットの種類を作成

ユニットの種類は、次の方法で提供される Terraform 構成を使用して作成できます。

  • zip アーカイブ内。
  • Git リポジトリ内。
  • OCI イメージとしてパッケージ化。

zip アーカイブを使用してユニットの種類を作成する

zip アーカイブにある Terraform 構成を使用してユニットの種類を作成する手順は次のとおりです。

zip アーカイブの準備の詳細については、 zip アーカイブをアップロードするをご覧ください。

ユニットの種類を作成する手順は次のとおりです。

  1. コンソールで、[SaaS ランタイム] > [ユニットの種類] に移動します。

    [ユニットの種類] に移動

  2. [作成] を選択します。

  3. [**ブループリントを作成**] で [**アップロード**] を選択して、Terraform 構成を含む zip アーカイブ をアップロードします。

    1. [参照] をクリックして、このユニットの種類の一部であるリソースまたはアプリケーションを定義する Terraform 構成を含む zip アーカイブを見つけます。

    2. [次へ: ブループリントを構成] をクリックします。

  4. [ブループリントを保存] ページで次の操作を行います。

    1. [Artifact Registry からリポジトリを選択] で [参照] をクリックし、 作成したリポジトリを選択します。

    2. [アーティファクト イメージの名前] に、OCI イメージの名前を入力します。

    3. [Infrastructure Manager の Terraform バージョン] で、デプロイに使用する Terraform のバージョンを選択します。サポートされている Terraform のバージョンの一覧については、サポートされている Terraform のバージョンをご覧ください。

    4. [Cloud Build サービス アカウント] で、イメージをビルドする権限を持つサービス アカウントを選択します。詳細については、 アーティファクト作成サービス アカウントをご覧ください。

    5. [次へ: ユニットの種類の詳細] をクリックします。

  5. [**ユニットの種類のプロパティを構成**] ページで、次の操作を行います。

    1. [ユニットの種類の名前] に、ユニットの種類の名前を入力します。名前には、小文字、数字、ハイフンのみを含める必要があります。

    2. [SaaS サービス] で、このユニットの種類に関連付ける SaaS サービスを選択します。

    3. For [依存関係]:

      • SaaS サービス用に作成するユニットの種類が最初または唯一の場合は、依存関係を追加しないでください。

      • このユニットの種類に依存する他のユニットの種類を作成した場合は、[**依存関係を追加**] を選択します。

        1. [**ユニットの種類**] で、作成するユニットの種類に依存する既存のユニットの種類を選択します。

        2. [**エイリアス**] に、入力変数 のマッピングに使用できる名前を入力します。

        3. [完了] をクリックします。

        4. 変数のマッピングを定義する場合は、次の 手順を行います。変数のマッピングの詳細については、 変数のマッピングをご覧ください。

          1. [入力変数と出力変数のマッピングを定義] を選択します。

          2. [**入力変数のマッピング**]:

            1. [入力変数のマッピングを追加] を選択します。
            2. [**変数**] に、入力変数の 名前を入力します。
            3. [Mapping type] で次のいずれかを選択します。
              • From : 他のユニットの種類からマッピングします。
              • To : 他のユニットの種類にマッピングします。
            4. [依存関係] で、変数をマッピングする既存のユニットの種類 を選択します。
            5. [**出力変数**] に、出力変数 の名前を入力します。
            6. [完了] を選択します。
          3. 別の入力変数を追加するには、 [入力変数のマッピングを追加] を選択して、手順を繰り返します。

          4. 出力変数のマッピングを追加する手順は次のとおりです。

            1. [出力変数のマッピング] タブを選択します。
            2. [**出力変数のマッピングを追加**] を選択し、入力変数のマッピングの手順を繰り返します。
  6. [次へ: リリースの構成] をクリックします。

  7. [**リリース名**] に、リリースの名前を入力します。

  8. 省略可: デプロイするリソースにラベルを追加します。 ラベルの詳細については、 ラベルの概要をご覧ください。

    ラベルを追加する手順は次のとおりです。

    1. [ラベル] で [ラベルを追加] を選択します。

    2. [キー 1] と [値 1] に、目的の Key-Value ペアを入力します。

    3. 追加するラベルごとに手順を繰り返します。

  9. [作成] をクリックします。

これで、ユニットの種類が作成されました。別のユニットの種類を作成するには、同じ手順を繰り返し、次のユニットの種類の Terraform 構成を含む zip アーカイブを使用します。

SaaS サービスに必要なユニットの種類をすべて作成したら、 ユニット インスタンスをデプロイできます。

Git リポジトリを使用してユニットの種類を作成する

Git リポジトリにある Terraform 構成を使用してユニットの種類を作成する手順は次のとおりです。

Terraform ファイルに Git リポジトリを使用する方法の詳細については、 Git リポジトリに接続するをご覧ください。

  1. コンソールで、[SaaS ランタイム] > [ユニットの種類] に移動します。

    [ユニットの種類] に移動

  2. [作成] を選択します。

  3. [**ブループリントを作成**] で [**外部リポジトリをリンク**] を選択します。

  4. [リポジトリ] で、Terraform 構成を含む Git リポジトリを選択します。

    1. Git リポジトリがリンクされている場合は、リストから選択します。

    2. リポジトリがリンクされていない場合は、[新しいリポジトリをリンク] をクリックして、Developer Connect を使用してリポジトリをリンクします。

      1. [新しい接続を作成] を選択します。

      2. [**リージョン**] で、 Developer Connect 接続のリージョンを選択します。Artifact Registry リポジトリに使用するリージョンと同じリージョンを使用することをおすすめします。

      3. 省略可: [KMS 鍵] で、暗号化する KMS 鍵を指定できます。

      4. [**ブランチ**] で、このユニットの種類に関連付ける Terraform 構成を含む Git ブランチを指定します。

  5. [ブループリントを保存] ページで次の操作を行います。

    1. [Artifact Registry からリポジトリを選択] で [参照] をクリックし、 SaaS サービスに使用している Artifact Registry リポジトリ を選択します。

    2. [アーティファクト イメージの名前] に、OCI イメージの名前を入力します。

    3. [Infrastructure Manager の Terraform バージョン] で、デプロイに使用する Terraform のバージョンを選択します。サポートされている Terraform のバージョンの一覧については、サポートされている Terraform のバージョンをご覧ください。

    4. [Cloud Build サービス アカウント] で、イメージをビルドする権限を持つサービス アカウントを選択します。詳細については、 アーティファクト作成サービス アカウントをご覧ください。

    5. [次へ: ユニットの種類の詳細] をクリックします。

  6. [**ユニットの種類のプロパティを構成**] ページで、次の操作を行います。

    1. [ユニットの種類の名前] に、ユニットの種類の名前を入力します。名前には、小文字、数字、ハイフンのみを含める必要があります。

    2. [SaaS サービス] で、このユニットの種類に関連付ける SaaS サービスを選択します。

    3. For [依存関係]:

      • SaaS サービス用に作成するユニットの種類が最初または唯一の場合は、依存関係を追加しないでください。

      • このユニットの種類に依存する他のユニットの種類を作成した場合は、[**依存関係を追加**] を選択します。

        1. [**ユニットの種類**] で、作成するユニットの種類に依存する既存のユニットの種類を選択します。

        2. [**エイリアス**] に、入力変数 のマッピングに使用できる名前を入力します。

        3. [完了] をクリックします。

        4. 変数のマッピングを定義する場合は、次の 手順を行います。変数のマッピングの詳細については、 変数のマッピングをご覧ください。

          1. [入力変数と出力変数のマッピングを定義] を選択します。

          2. [**入力変数のマッピング**]:

            1. [入力変数のマッピングを追加] を選択します。
            2. [**変数**] に、入力変数の 名前を入力します。
            3. [Mapping type] で次のいずれかを選択します。
              • From : 他のユニットの種類からマッピングします。
              • To : 他のユニットの種類にマッピングします。
            4. [依存関係] で、変数をマッピングする既存のユニットの種類 を選択します。
            5. [**出力変数**] に、出力変数 の名前を入力します。
            6. [完了] を選択します。
          3. 別の入力変数を追加するには、 [入力変数のマッピングを追加] を選択して、手順を繰り返します。

          4. 出力変数のマッピングを追加する手順は次のとおりです。

            1. [出力変数のマッピング] タブを選択します。
            2. [**出力変数のマッピングを追加**] を選択し、入力変数のマッピングの手順を繰り返します。
  7. [次へ: リリースの構成] をクリックします。

  8. [**リリース名**] に、リリースの名前を入力します。

  9. 省略可: デプロイするリソースにラベルを追加します。 ラベルの詳細については、 ラベルの概要をご覧ください。

    ラベルを追加する手順は次のとおりです。

    1. [ラベル] で [ラベルを追加] を選択します。

    2. [キー 1] と [値 1] に、目的の Key-Value ペアを入力します。

    3. 追加するラベルごとに手順を繰り返します。

  10. [作成] をクリックします。

これで、ユニットの種類が作成されました。別のユニットの種類を作成するには、同じ手順を繰り返し、次のユニットの種類の Terraform 構成を含む Git リポジトリを使用します。

SaaS サービスに必要なユニットの種類をすべて作成したら、 ユニット インスタンスをデプロイできます。

既存のイメージを使用してユニットの種類を作成する

OCI イメージである既存のブループリントを使用してユニットの種類を作成する手順は次のとおりです。

OCI イメージのビルドの詳細については、以下をご覧ください。

  1. コンソールで、[SaaS ランタイム] > [ユニットの種類] に移動します。

    [ユニットの種類] に移動

  2. [作成] を選択します。

  3. [**ブループリントを作成**] で [**Artifact Registry から既存のイメージを選択する**] を選択します。

  4. [次へ: ブループリントを構成] をクリックします。

  5. [ブループリントを保存] ページで次の操作を行います。

    1. For [Artifact Registry から既存のブループリントを選択または入力]:

      1. [参照] をクリックします。

      2. Terraform 構成を含むイメージに移動します。

      3. [選択] をクリックします。

    2. [次へ: ユニットの種類の詳細] をクリックします。

  6. [**ユニットの種類のプロパティを構成**] ページで、次の操作を行います。

    1. [ユニットの種類の名前] に、ユニットの種類の名前を入力します。名前には、小文字、数字、ハイフンのみを含める必要があります。

    2. [SaaS サービス] で、このユニットの種類に関連付ける SaaS サービスを選択します。

    3. For [依存関係]:

      • SaaS サービス用に作成するユニットの種類が最初または唯一の場合は、依存関係を追加しないでください。

      • このユニットの種類に依存する他のユニットの種類を作成した場合は、[**依存関係を追加**] を選択します。

        1. [**ユニットの種類**] で、作成するユニットの種類に依存する既存のユニットの種類を選択します。

        2. [**エイリアス**] に、入力変数 のマッピングに使用できる名前を入力します。

        3. [完了] をクリックします。

        4. 変数のマッピングを定義する場合は、次の 手順を行います。変数のマッピングの詳細については、 変数のマッピングをご覧ください。

          1. [入力変数と出力変数のマッピングを定義] を選択します。

          2. [**入力変数のマッピング**]:

            1. [入力変数のマッピングを追加] を選択します。
            2. [**変数**] に、入力変数の 名前を入力します。
            3. [Mapping type] で次のいずれかを選択します。
              • From : 他のユニットの種類からマッピングします。
              • To : 他のユニットの種類にマッピングします。
            4. [依存関係] で、変数をマッピングする既存のユニットの種類 を選択します。
            5. [**出力変数**] に、出力変数 の名前を入力します。
            6. [完了] を選択します。
          3. 別の入力変数を追加するには、 [入力変数のマッピングを追加] を選択して、手順を繰り返します。

          4. 出力変数のマッピングを追加する手順は次のとおりです。

            1. [出力変数のマッピング] タブを選択します。
            2. [**出力変数のマッピングを追加**] を選択し、入力変数のマッピングの手順を繰り返します。
  7. [次へ: リリースの構成] をクリックします。

  8. [**リリース名**] に、リリースの名前を入力します。

  9. 省略可: デプロイするリソースにラベルを追加します。 ラベルの詳細については、 ラベルの概要をご覧ください。

    ラベルを追加する手順は次のとおりです。

    1. [ラベル] で [ラベルを追加] を選択します。

    2. [キー 1] と [値 1] に、目的の Key-Value ペアを入力します。

    3. 追加するラベルごとに手順を繰り返します。

  10. [作成] をクリックします。

これで、ユニットの種類が作成されました。別のユニットの種類を作成するには、同じ手順を繰り返し、次のユニットの種類の Terraform 構成を含む OCI イメージを使用します。

SaaS サービスに必要なユニットの種類をすべて作成したら、 ユニット インスタンスをデプロイできます。

次のステップ

  • SaaS サービスをモデリングしたら、ユニット インスタンスを デプロイできます。
  • SaaS ランタイムの詳細については、 SaaS ランタイムの概要をご覧ください。
  • SaaS ランタイムの使用に必要なサービス アカウントの詳細については、サービス アカウントをご覧ください。