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

elastic_cluster_v2

注記

このリソースの API は、ユーザーエクスペリエンスを簡素化するために、今後のバージョンで変更される可能性があります。

AWS EC2 インスタンス、Azure 仮想マシン、または GCP 仮想マシン上にマルチウェアハウスのエラスティック CelerData クラスターをデプロイします。

このリソースの実装は、クラスター全体のデプロイ手順の一部であり、データクレデンシャル、デプロイクレデンシャル、およびネットワーク構成の実装に依存します。AWS、Azure、GCP 上のクラスターのデプロイ手順の詳細については、 Provision CelerData Cloud BYOC on AWS および Provision CelerData Cloud BYOC on Azure を参照してください。

サポートされているノードサイズ

CelerData がサポートするインスタンスタイプについては、 Supported instance types を参照してください。

使用例

resource "celerdatabyoc_elastic_cluster_v2" "elastic_cluster_1" {
deployment_credential_id = "<deployment_credential_resource_ID>"
data_credential_id = "<data_credential_resource_ID>"
network_id = "<network_configuration_resource_ID>"

cluster_name = "<cluster_name>"
coordinator_node_size = "<coordinator_node_instance_type>"
coordinator_node_count = <coordinator_node_number>

// optional
coordinator_node_volume_config {
vol_size = <vol_size>
iops = <iops>
throughput = <throughput>
}
// optional
coordinator_node_configs = {
<key> = <value>
}

// The configuration for “default_warehouse” is required.
default_warehouse {
compute_node_size = "<compute_node_instance_type>"
compute_node_count = <compute_node_number>

// optional
compute_node_volume_config {
vol_number = <vol_number>
vol_size = <vol_size>
iops = <iops>
throughput = <throughput>
}
// optional
compute_node_configs = {
<key> = <value>
}
}

warehouse {
name = "<warehouse_name>"
compute_node_size = "<compute_node_instance_type>"
compute_node_count = <compute_node_number>
// When using an EBS-backed instance type, specify the following two parameters. Otherwise, delete them.
compute_node_ebs_disk_number = <compute_node_ebs_disk_number>
compute_node_ebs_disk_per_size = <compute_node_ebs_disk_per_size>
distribution_policy = "{specify_az | crossing_az}"

// specify_az = "us-west-2b"
// expected_state="Suspended"
// auto_scaling_policy = celerdatabyoc_auto_scaling_policy.policy_1.policy_json

// optional
compute_node_volume_config {
vol_number = <vol_number>
vol_size = <vol_size>
iops = <iops>
throughput = <throughput>
}
// optional
compute_node_configs = {
<key> = <value>
}
}

custom_ami {
ami = "<ami_id>"
// ami = "ami-09245d5773578a1d6"
os = "al2023"
}

// optional
scheduling_policy {
policy_name = "auto-resume-suspend"
description = "Auto resume/suspend"
active_days = ["TUESDAY"]
time_zone = "UTC" // IANA Time-Zone
resume_at = "09:00"
suspend_at = "18:00"
enable = true
}

default_admin_password = "<SQL_user_initial_password>"
expected_cluster_state = "{Suspended | Running}"
ldap_ssl_certs = [
"<ssl_cert_s3_path>"
]
ranger_certs_dir_path = "<ranger_config_s3_path>" // Example : "s3://your-bucket/ranger_config_dir"
resource_tags = {
celerdata = "<tag_name>"
}
csp = "{aws | azure}"
region = "<cloud_provider_region>"

init_scripts {
logs_dir = "<log_s3_path>"
script_path = "<script_s3_path>"
}
run_scripts_parallel = false
query_port = 9030
idle_suspend_interval = 60
}

引数リファレンス

注記

このセクションでは、celerdatabyoc_elastic_cluster_v2 リソースの引数のみを説明します。他のリソースの引数の説明については、対応するリソーストピックを参照してください。

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

必須:

  • cluster_name: (変更不可)クラスターの希望する名前。ユニークな名前を入力してください。

  • coordinator_node_size: クラスター内のコーディネーターノードのインスタンスタイプ。"Supported Node Sizes" の表からコーディネーターノードのインスタンスタイプを選択します。例えば、この引数を m6i.4xlarge に設定できます。

  • deployment_credential_id: (変更不可)デプロイクレデンシャルの ID。

    • クラスターを AWS にデプロイする場合、この引数を celerdatabyoc_aws_deployment_role_credential.<resource_name>.id に設定し、<resource_name>celerdatabyoc_aws_deployment_role_credential リソースの名前に置き換えます。
    • クラスターを Azure にデプロイする場合、この引数を celerdatabyoc_azure_deployment_credential.<resource_name>.id に設定し、<resource_name>celerdatabyoc_azure_deployment_credential リソースの名前に置き換えます。
  • data_credential_id: (変更不可)データクレデンシャルの ID。

    • クラスターを AWS にデプロイする場合、この引数を celerdatabyoc_aws_data_credential.<resource_name>.id に設定し、<resource_name>celerdatabyoc_aws_data_credential リソースの名前に置き換えます。
    • クラスターを Azure にデプロイする場合、この引数を celerdatabyoc_azure_data_credential.<resource_name>.id に設定し、<resource_name>celerdatabyoc_azure_data_credential リソースの名前に置き換えます。
  • network_id: (変更不可)ネットワーク構成の ID。

    • クラスターを AWS にデプロイする場合、この引数を celerdatabyoc_aws_network.<resource_name>.id に設定し、<resource_name>celerdatabyoc_aws_network リソースの名前に置き換えます。
    • クラスターを Azure にデプロイする場合、この引数を celerdatabyoc_azure_network.<resource_name>.id に設定し、<resource_name>celerdatabyoc_azure_network リソースの名前に置き換えます。
  • default_warehouse: (オブジェクトのリスト)デフォルトのウェアハウス。デフォルトのウェアハウスの属性には以下が含まれます:

    • compute_node_size: (必須)クラスター内のコンピュートノードのインスタンスタイプ。"Supported Node Sizes" の表からコンピュートノードのインスタンスタイプを選択します。例えば、この引数を r6id.4xlarge に設定できます。

    • compute_node_count: (オプション)クラスター内のコンピュートノードの数。有効な値: 0 以外の正の整数。デフォルト値: 3

    • compute_node_volume_config: コンピュートノードのボリューム構成。

      • vol_number: (変更不可)各コンピュートノードのディスクの数。有効な値: [1,24]。デフォルト値: 2
      • vol_size: 各コンピュートノードのディスクあたりのサイズ。単位: GB。デフォルト値: 100。このパラメータの値を増やすことのみ可能です。
      • iops: (AWS のみ利用可能)ディスク IOPS。
      • throughput: (AWS のみ利用可能)ディスクスループット。 ~> vol_numbervol_size 引数を使用してディスクスペースを指定できます。コンピュートノードにプロビジョニングされた合計ディスクスペースは vol_number * vol_size に等しいです。
    • compute_node_configs: ウェアハウス内のコンピュートノードに対してカスタマイズしたい静的な構成項目。

    • auto_scaling_policy: (オプション)このポリシーは、ウェアハウスの CPU 使用率に基づいてコンピュートノードの数を自動的にスケールします。詳細については、 Enable Auto Scaling for your warehouse を参照してください。この引数の policy_json 値は、celerdatabyoc_auto_scaling_policy リソースを使用して生成できます。

    • distribution_policy: (オプション、AWS のみ利用可能)クラスターのマルチ AZ デプロイメントを有効にしたい場合のウェアハウスのコンピュートノードの分散ポリシー。有効な値: specify_az(ノードはプライマリアベイラビリティゾーンにデプロイされます)および crossing_az(ノードは 3 つのアベイラビリティゾーンにわたってデプロイされます)。詳細については、 Multi-AZ Deployment を参照してください。

      ~> マルチ AZ デプロイメントを有効にするには、少なくとも 3 つのコーディネーターノードをデプロイする必要があります。つまり、coordinator_node_count3 以上でなければなりません。

    • specify_az: (オプション、AWS のみ利用可能)ノードデプロイメントのプライマリアベイラビリティゾーン。この引数は、distribution_policyspecify_az に設定されている場合にのみ利用可能です。

  • custom_ami: (オプション、AWS のみ利用可能)クラスターのデプロイに使用される Amazon Machine Image (AMI)。カスタム AMI を使用してデプロイできます。このパラメータはクラスター作成時にのみ指定可能です。この引数が指定されていない場合、デフォルトの AMI が使用されます。

    • ami: カスタム AMI の ID。
    • os: AMI のオペレーティングシステム (OS)。現在、al2023(Amazon Linux 2023)のみがサポートされています。このフィールドの値は、AMI の実際の OS と一致している必要があります。そうでない場合、デプロイメントは失敗します。
  • default_admin_password: (変更不可)クラスター admin ユーザーの初期パスワード。

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

  • csp: (変更不可)クラスターのクラウドサービスプロバイダー。

    • クラスターを AWS にデプロイする場合、この引数を aws に設定します。
    • クラスターを Azure にデプロイする場合、この引数を azure に設定します。
  • region: (変更不可)クラスターをホストするネットワークが属するクラウドプロバイダーのリージョンの ID。 Supported cloud platforms and regions を参照してください。

オプション:

  • coordinator_node_count: クラスター内のコーディネーターノードの数。有効な値: 135。デフォルト値: 1。マルチ AZ デプロイメントを有効にしたい場合(AWS のみ利用可能)、少なくとも 3 つのコーディネーターノードをデプロイする必要があります。つまり、coordinator_node_count3 以上でなければなりません。

  • coordinator_node_volume_config: コーディネーターノードのボリューム構成。

    • vol_size: 各コーディネーターノードのディスクあたりのサイズ。単位: GB。デフォルト値: 150。このパラメータの値を増やすことのみ可能です。
    • iops: (AWS のみ利用可能)ディスク IOPS。
    • throughput: (AWS のみ利用可能)ディスクスループット。
  • coordinator_node_configs: コーディネーターノードの静的構成。

  • warehouse: (オブジェクトのリスト)ウェアハウスのリスト。ウェアハウスの属性には以下が含まれます:

    • name: (必須)クラスター内でユニークでなければならないウェアハウス名。"default_warehouse" という名前にはできません。

    • compute_node_size: (必須)クラスター内のコンピュートノードのインスタンスタイプ。"Supported Node Sizes" の表からコンピュートノードのインスタンスタイプを選択します。例えば、この引数を r6id.4xlarge に設定できます。

    • compute_node_count: クラスター内のコンピュートノードの数。有効な値: 0 以外の正の整数。デフォルト値: 3

    • compute_node_volume_config: コンピュートノードのボリューム構成。

      • vol_number: (変更不可)各コンピュートノードのディスクの数。有効な値: [1,24]。デフォルト値: 2
      • vol_size: 各コンピュートノードのディスクあたりのサイズ。単位: GB。デフォルト値: 100。このパラメータの値を増やすことのみ可能です。
      • iops: (AWS のみ利用可能)ディスク IOPS。
      • throughput: (AWS のみ利用可能)ディスクスループット。 ~> vol_numbervol_size 引数を使用してディスクスペースを指定できます。コンピュートノードにプロビジョニングされた合計ディスクスペースは vol_number * vol_size に等しいです。
    • compute_node_configs: コンピュートノードの静的構成。

    • expected_state: 非デフォルトのウェアハウスを作成する際に、ウェアハウスの状態を宣言できます。ウェアハウスの状態は SuspendedRunning に分類されます。プロビジョニング後にウェアハウスを開始したい場合、この引数を Running に設定します。この引数を Suspended に設定すると、ウェアハウスはプロビジョニング後にサスペンドされます。

    • idle_suspend_interval: ウェアハウスがアイドル状態でいられる時間(分)。指定された時間が経過すると、ウェアハウスは自動的にサスペンドされます。Auto Suspend 機能を有効にするには、この引数を 15 から 999999 の範囲の整数に設定します。この機能を再度無効にするには、この引数を Terraform 構成から削除します。

    • auto_scaling_policy: このポリシーは、ウェアハウスの CPU 使用率に基づいてコンピュートノード(CN)の数を自動的にスケールします。詳細については、 Enable Auto Scaling for your warehouse を参照してください。この引数の policy_json 値は、celerdatabyoc_auto_scaling_policy リソースを使用して生成できます。

    • distribution_policy: (AWS のみ利用可能)クラスターのマルチ AZ デプロイメントを有効にしたい場合のウェアハウスのコンピュートノードの分散ポリシー。有効な値: specify_az(ノードはプライマリアベイラビリティゾーンにデプロイされます)および crossing_az(ノードは 3 つのアベイラビリティゾーンにわたってデプロイされます)。詳細については、 Multi-AZ Deployment を参照してください。

      ~> マルチ AZ デプロイメントを有効にするには、少なくとも 3 つのコーディネーターノードをデプロイする必要があります。つまり、coordinator_node_count3 以上でなければなりません。

    • specify_az: (AWS のみ利用可能)ノードデプロイメントのプライマリアベイラビリティゾーン。この引数は、distribution_policyspecify_az に設定されている場合にのみ利用可能です。

  • ldap_ssl_certs: (AWS のみ利用可能)LDAP SSL 証明書を格納する AWS S3 バケット内のパス。複数のパスはカンマ(,)で区切る必要があります。CelerData は、S3 から LDAP SSL 証明書をアップロードすることで、SSL 経由の LDAP をサポートします。CelerData が証明書を正常に取得できるようにするには、CelerData に ListObject および GetObject の権限を付与する必要があります。アップロードされた証明書を削除するには、この引数を削除するだけです。

  • ranger_certs_dir: (AWS のみ利用可能)Ranger SSL 証明書を格納する AWS S3 バケット内の親ディレクトリパス。CelerData は、S3 から Ranger SSL 証明書をアップロードすることで、SSL 経由の Ranger をサポートします。CelerData が証明書を正常に取得できるようにするには、CelerData に ListObject および GetObject の権限を付与する必要があります。アップロードされた証明書を削除するには、この引数を削除するだけです。

注記

LDAP または Ranger SSL 証明書をアップロードまたは削除できるのは、クラスターの expected_cluster_stateRunning に設定されている場合のみです。

  • resource_tags: クラスターに添付するタグ(resource_tags は ClelerData の概念です。AWS および Azure では、対応するリソースにタグとして追加されます。GCP Cloud では、対応する GCP リソースにラベルとして追加されます)。

  • init_scripts: (AWS のみ利用可能)スクリプトとスクリプト実行結果が格納されるパスを指定するための構成ブロック。実行可能なスクリプトの最大数は 20 です。これらの引数でサポートされる形式については、 Run scriptsscripts.logs_dir および scripts.script_path を参照してください。

    • logs_dir: スクリプト実行結果が格納される AWS S3 バケット内のパス。この S3 バケットは、celerdatabyoc_aws_data_credential リソースで指定する S3 バケットと同じでも異なっていてもかまいません。
    • script_path: Terraform 経由で実行するスクリプトを格納する AWS S3 バケット内のパス。この S3 バケットは、celerdatabyoc_aws_data_credential リソースで指定する S3 バケットでなければなりません。
  • run_scripts_parallel: スクリプトを並行して実行するかどうか。有効な値: true および false。デフォルト値: false

  • run_scripts_timeout: スクリプト実行がタイムアウトするまでの時間。単位: 秒。デフォルト: 3600(1 時間)。この項目の最大値は 21600(6 時間)です。

  • query_port: クエリポートは、1-65535 の範囲内で 443 を除く必要があります。デフォルトのクエリポートはポート 9030 です。この引数はクラスターのデプロイ時にのみ指定可能で、一度設定すると変更できません。

  • idle_suspend_interval: クラスターがアイドル状態でいられる時間(分)。指定された時間が経過すると、クラスターは自動的にサスペンドされます。Auto Suspend 機能はデフォルトで無効になっています。Auto Suspend 機能を有効にするには、この引数を 15-999999 の範囲の整数に設定します。この機能を再度無効にするには、この引数を Terraform 構成から削除します。

  • scheduling_policy:(オプション、リスト)指定された場合。CelerData は、EC2 のコストを大幅に節約するためにクラスターを自動的にサスペンドし(EBS のコストのみが発生します)、スケジュールに従ってクラスターを再開します。

    • policy_name: (必須)ポリシー名。
    • description: (オプション)このポリシー戦略の説明。
    • active_days: (必須)クラスターのスケジューリングポリシーがトリガーされる日付を設定します。利用可能な値:
      • MONDAY
      • TUESDAY
      • WEDNESDAY
      • THURSDAY
      • FRIDAY
      • SATURDAY
      • SUNDAY
    • time_zone: (オプション)IANA タイムゾーンを指定します。デフォルト: UTC
    • resume_at: (オプション)クラスターの自動再開時間。resume_atsuspend_at の両方を空にすることはできません。
    • suspend_at: (オプション)クラスターの自動サスペンド時間。
    • enable: (必須)このスケジューリングポリシーを有効にするかどうか。true に指定された場合、システムはこのポリシーに従ってクラスターのスケジューリングを実行します。

参照

AWS

Azure

GCP

Warehouse