IBM Cloud Docs
特定の地域または複数の地域にリソースを配置する

特定の地域または複数の地域にリソースを配置する

IBM Cloud® Schematics により、任意の IBM Cloud ロケーションまたはリージョンに、グローバルにリソースをデプロイできます。 Schematics workspacesactions を保存して実行するリージョンは、クラウド・リソースがデプロイまたは設定されるリージョンとは無関係です。

IBM Cloud Schematics は、選択された Schematics リージョンからジョブを実行し、サービスにリモートでアクセスして、Terraform テンプレートによって決まるターゲット・リージョンにリソースをプロビジョンします。 これはリージョン間のネットワーク待ち時間の影響を受けません。 例えば、us-south にワークスペースを作成する場合に、このワークスペースを使用して、us-easteu-gb などのサポート対象のどの IBM Cloud リージョンにでもサービスをプロビジョンできます。 ワークスペースのデータが保管される場所とワークスペースの要求が実行される場所は、ワークスペースのロケーションに基づいて決まります。 詳しくは、「情報はどこに保管されますか?」を参照してください。

特定のリージョンへのサービスのデプロイ

すべてのサービスを同じリージョンにデプロイできる場合は、Terraform テンプレートの provider ブロックでそのリージョンを指定できます。

provider ブロックにリージョンが指定されていない場合、 Schematics は自動的に us-south リージョンにクラウドリソースを作成しようとします。

  1. provider.tf ファイル (または provider ブロックが含まれた Terraform 構成ファイル) を開きます。

  2. サービスをデプロイするリージョンを指定します。 入力するリージョンが、Schematics を使用してデプロイするサービスによってサポートされていることを確認してください。

    provider "ibm" {
        region = "<region_name>"
    }
    
    
  3. デプロイするサービスには、location パラメーターに加えて region パラメーターの設定も必要かを確認します。 たとえば ibm_database Terraform リソースを使用する場合、 provider ブロックの region パラメータと、 ibm_database リソース定義の location パラメータの両方を設定する必要があります。

  4. 手順に従って、クラウドリソースを展開します。

複数のリージョンへのサービスのデプロイ

provider ブロックに複数のプロバイダー設定を追加して、クラウド・リソースをデプロイしたい地域を指定できます。 詳細については、「 複数のプロバイダー・インスタンス 」を参照してください。

  1. Terraform 構成ファイルの provider ブロック内、または provider.tf ファイル内に、同じプロバイダー名のプロバイダー・ブロックを複数作成します。 別名が設定されていないプロバイダー構成はデフォルトのプロバイダー構成と見なされ、特定のプロバイダー構成の指定がないすべてのリソースに使用されます。 プロバイダー構成をさらに追加する場合は、別名を含めることによって、Terraform 構成ファイル内のリソース定義からこのプロバイダーを参照できるようにする必要があります。 次に示す例のデフォルトのプロバイダー構成はリソースを us-south にデプロイするのに対し、別名 east が指定されたプロバイダー構成はすべてのリソースを us-east にデプロイします。

    provider "ibm" {
        region = "us-south"
    }
    
    provider "ibm" {
        alias = "east"
        region = "us-east"
    }
    
  2. Terraform 構成ファイルのリソース定義で、使用するプロバイダー構成を指定します。 プロバイダーを指定しない場合は、デフォルトのプロバイダー構成が使用されます。

    resource "ibm_container_cluster" "cluster" {
        provider = ibm.east
    ...
    }
    
    resource ibm_is_vpc "vpc" {
        name = "myvpc"
    }
    
  3. 手順に従って、クラウドリソースを展開します。