メインコンテンツまでスキップ

インフラストラクチャの説明

このトピックでは、CelerData Cloud BYOC プロバイダーを使用する方法を理解するために、Azure 上にクラシック CelerData クラスターを自動デプロイするサンプルインフラストラクチャ構成を提供します。これは、準備を完了した 後、プロバイダーを設定しAzure オブジェクトを設定した ことを前提としています。

クラシック CelerData クラスターを作成するには、プロバイダーと Azure オブジェクトを設定した .tf ファイル(例: main.tf)に、構築するインフラストラクチャを表す以下のリソースを宣言する必要があります。

celerdatabyoc_azure_data_credential

resource "celerdatabyoc_azure_data_credential" "example" {
name = "<data_credential_name>"
managed_identity_resource_id = azurerm_user_assigned_identity.example.id
storage_account_name = azurerm_storage_account.example.name
container_name = azurerm_storage_container.example.name
}

このリソースには、以下の必須引数が含まれています。

  • name: (新しいリソースを強制)データクレデンシャルの名前。ユニークな名前を入力してください。

  • managed_identity_resource_id: (新しいリソースを強制)マネージド ID の ID。この引数を azurerm_user_assigned_identity.example.id に設定します。

  • storage_account_name: (新しいリソースを強制)ストレージアカウントの名前。この引数を azurerm_storage_account.example.name に設定します。

  • container_name: (新しいリソースを強制)コンテナの名前。この引数を azurerm_storage_container.example.name に設定します。

celerdatabyoc_azure_deployment_credential

resource "celerdatabyoc_azure_deployment_credential" "example" {
name = "<deployment_credential_name>"
application_id = azuread_application_registration.example.client_id
directory_id = azuread_service_principal.app_service_principal.application_tenant_id
client_secret_value = azuread_application_password.example.value
ssh_key_resource_id = azurerm_ssh_public_key.example.id
}

このリソースには、以下の必須引数が含まれています。

  • name: (新しいリソースを強制)デプロイメントクレデンシャルの名前。ユニークな名前を入力してください。

  • application_id: (新しいリソースを強制)登録されたアプリケーションのアプリケーション(クライアント)ID。この引数を azuread_application_registration.example.client_id に設定します。

  • directory_id: (新しいリソースを強制)登録されたアプリケーションのディレクトリ(テナント)ID。この引数を azuread_service_principal.app_service_principal.application_tenant_id に設定します。

  • client_secret_value: (新しいリソースを強制)登録されたアプリケーションのクライアントシークレットの値。この引数を azuread_application_password.example.value に設定します。

  • ssh_key_resource_id: (新しいリソースを強制)SSH 公開鍵の ID。この引数を azurerm_ssh_public_key.example.id に設定します。

celerdatabyoc_azure_network

resource "celerdatabyoc_azure_network" "example" {
name = "<network_credential_name>"
deployment_credential_id = celerdatabyoc_azure_deployment_credential.example.id
virtual_network_resource_id = azurerm_virtual_network.example.id
subnet_name = azurerm_subnet.example.name
region = local.cluster_region
public_accessible = true
}

このリソースには、以下の必須引数とオプション引数が含まれています。

必須:

  • name: (新しいリソースを強制)ネットワーク構成の名前。ユニークな名前を入力してください。

  • deployment_credential_id: (新しいリソースを強制)デプロイメントクレデンシャルの ID。この引数を celerdatabyoc_azure_deployment_credential.example.id に設定します。

  • virtual_network_resource_id: (新しいリソースを強制)Azure 仮想ネットワークのリソース ID。この引数を azurerm_virtual_network.example.id に設定します。

  • subnet_name: (新しいリソースを強制)サブネットの名前。この引数を azurerm_subnet.example.name に設定します。

  • region: (新しいリソースを強制)Azure リージョンの ID。この引数を local.cluster_region に設定します。Terraform 構成でリージョン要素をローカル値として設定することをお勧めします。Local Values を参照してください。

オプション:

  • public_accessible: クラスターがパブリックネットワークからアクセス可能かどうか。有効な値: truefalse。この引数を true に設定すると、CelerData はクラスターにロードバランサーをアタッチして、受信クエリを分散し、クラスターにパブリックドメイン名を割り当てて、パブリックネットワーク経由でクラスターにアクセスできるようにします。この引数を false に設定すると、クラスターはプライベートドメイン名を通じてのみアクセス可能です。

celerdatabyoc_classic_cluster

resource "celerdatabyoc_classic_cluster" "azure_terraform_test" {
cluster_name = "<cluster_name>"
fe_instance_type = "<fe_node_instance_type>"
fe_node_count = 1
deployment_credential_id = celerdatabyoc_azure_deployment_credential.example.id
data_credential_id = celerdatabyoc_azure_data_credential.example.id
network_id = celerdatabyoc_azure_network.example.id
be_instance_type = "<be_node_instance_type>"
be_node_count = 2
be_disk_number = 2
be_disk_per_size = 100
default_admin_password = "<SQL_user_initial_password>"
expected_cluster_state = "Running"
resource_tags = {
flag = "terraform-test"
}
csp = "azure"
region = local.cluster_region
depends_on = [azurerm_role_assignment.assignment_app_roles,azurerm_role_assignment.assignment_identity_roles]
}

celerdatabyoc_classic_cluster リソースには、以下の必須引数とオプション引数が含まれています。

必須:

  • cluster_name: (新しいリソースを強制)クラスターの希望する名前。

  • fe_instance_type: クラスター内の FE ノードのインスタンスタイプ。"Supported instance types" の表から FE インスタンスタイプを選択してください。

  • deployment_credential_id: (新しいリソースを強制)デプロイメントクレデンシャルの ID。この値を celerdatabyoc_azure_deployment_credential.example.id に設定します。

  • data_credential_id: (新しいリソースを強制)データクレデンシャルの ID。この値を celerdatabyoc_azure_data_credential.example.id に設定します。

  • network_id: (新しいリソースを強制)ネットワーク構成の ID。この値を celerdatabyoc_azure_network.example.id に設定します。

  • be_instance_type: クラスター内の BE ノードのインスタンスタイプ。"Supported instance types" の表から BE インスタンスタイプを選択してください。

  • default_admin_password: クラスター admin ユーザーの初期パスワード。

  • expected_cluster_state: クラスターを作成する際に、作成するクラスターの状態を宣言する必要があります。クラスターの状態は SuspendedRunning に分類されます。プロビジョニング後にクラスターを開始したい場合、この引数を Running に設定します。そうしない場合、プロビジョニング後にクラスターは一時停止されます。

  • csp: クラスターのクラウドサービスプロバイダー。この引数を azure に設定します。

  • region: クラスターをホストする AWS VPC が属する Azure リージョンの ID。Supported cloud platforms and regions を参照してください。この引数を local.cluster_region に設定します。Terraform 構成でバケット要素をローカル値 cluster_region として設定することをお勧めします。Local Values を参照してください。

  • depends_on: この引数はリソース間の依存関係を作成します。Azure クラスターをデプロイする場合、リソースグループとマネージド ID の権限を宣言するために使用されるリソースがクラスターのリリース後にのみ破棄されることを確認する必要があります。これを達成するために、この依存関係を追加する必要があります。

オプション:

  • fe_node_count: クラスター内の FE ノードの数。有効な値: 1, 3, 5。デフォルト値: 1

  • be_node_count: クラスター内の BE ノードの数。有効な値: 0 でない正の整数。デフォルト値: 3

  • be_disk_number: (新しいリソースを強制)各 BE に許可される最大ディスク数。有効な値: [1,24]。デフォルト値: 2

  • be_disk_per_size: 各 BE のディスクごとのサイズ。単位: GB。最大値: 16000。デフォルト値: 100。このパラメータの値を増やすことのみ可能で、2 回の値変更の間隔は 6 時間以上でなければなりません。

  • resource_tags: クラスターにアタッチされるタグ。