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

aws_network

注記

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

CelerData はユーザーの VPC にクラスターをデプロイする必要があるため、デプロイプロセス中にユーザーはクラスターをデプロイしたいサブネットを定義する必要があります。また、クラスターのノードがどのように統合されるかを制御するセキュリティグループも定義する必要があります。サブネットとセキュリティグループの設定方法については、 Create a network configuration を参照してください。

CelerData Cloud BYOC での AWS のネットワーク構成を管理します。

CelerData の AWS ネットワーク構成は、ユーザー自身の VPC 内のクラスター ノード間、および CelerData の VPC とユーザー自身の VPC 間の接続を可能にします。

このリソースは、以下のリソースに依存しています。

これらのリソースを設定してから、このリソースを実装する必要があります。

使用例

// celerdatabyoc_aws_network リソースの前提条件
resource "celerdatabyoc_aws_data_credential_policy" "role" {
bucket = "<S3_bucket>"
}

data "celerdatabyoc_aws_data_credential_assume_policy" "assume_role" {}

resource "aws_iam_role" "celerdata_data_cred_role" {
name = "celerdata_data_cred_role"
assume_role_policy = data.celerdatabyoc_aws_data_credential_assume_policy.assume_role.json
description = "Celerdata Data Credential"
inline_policy {
name = "celerdata_data_cred_role_policy"
policy = celerdatabyoc_aws_data_credential_policy.role.json
}
}

resource "aws_iam_instance_profile" "celerdata_data_cred_profile" {
name = "celerdata_data_cred_profile"
role = aws_iam_role.celerdata_data_cred_role.name
}


resource "celerdatabyoc_aws_deployment_credential_policy" "role_policy" {
bucket = local.s3_bucket
data_role_arn = aws_iam_role.celerdata_data_cred_role.arn
}

resource "celerdatabyoc_aws_deployment_credential_assume_policy" "role_policy" {}

resource "aws_iam_role" "deploy_cred_role" {
name = "deploy_cred_role"
assume_role_policy = celerdatabyoc_aws_deployment_credential_assume_policy.role_policy.json
description = "Celerdata Deploy Credential"
inline_policy {
name = "deploy_cred_role-policy"
policy = celerdatabyoc_aws_deployment_credential_policy.role_policy.json
}
}

resource "celerdatabyoc_aws_data_credential" "data_credential" {
name = "data-credential"
role_arn = aws_iam_role.celerdata_data_cred_role.arn
instance_profile_arn = aws_iam_instance_profile.celerdata_data_cred_profile.arn
bucket_name = local.s3_bucket
policy_version = celerdatabyoc_aws_data_credential_policy.role.version
}

resource "celerdatabyoc_aws_deployment_role_credential" "deployment_role_credential" {
name = "deployment-role-credential"
role_arn = aws_iam_role.deploy_cred_role.arn
external_id = celerdatabyoc_aws_deployment_credential_assume_policy.role_policy.external_id
policy_version = celerdatabyoc_aws_deployment_credential_policy.role_policy.version
}

// celerdatabyoc_aws_network リソース
resource "celerdatabyoc_aws_network" "network" {
name = "<network_name>"
subnet_id = "<subnet_id>"
// subnet_ids = ["<subnet_id_1>, <subnet_id_2>, <subnet_id_3>"]
security_group_id = "<security_group_id>"
region = "<AWS_VPC_region>"
deployment_credential_id = celerdatabyoc_aws_deployment_role_credential.deployment_role_credential.id
vpc_endpoint_id = "<vpc_endpoint_id>"
}

引数リファレンス

注記

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

このリソースには、以下の必須およびオプションの引数があります。

必須

  • name: (String, 新しいリソースを強制) ネットワーク構成の名前。ユニークな名前を入力してください。省略した場合、Terraform はランダムでユニークな名前を割り当てます。

    ~> 名前は、CelerData クラウドアカウント内でユニークでなければなりません。

  • security_group_id: (String, 新しいリソースを強制) クラスター ノード間の接続を有効にするために使用するセキュリティグループの ID。ユーザー自身の VPC 内および CelerData の VPC とユーザー自身の VPC 間で TLS を介して接続します。

  • region: (String, 新しいリソースを強制) デプロイメントを作成したい AWS リージョンの ID。 Supported cloud platforms and regions を参照してください。

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

オプション

注記

subnet_id または subnet_ids のいずれかのみを指定できます。

  • subnet_id: (String, 新しいリソースを強制) クラスター ノードをデプロイするために使用するサブネットの ID。

  • subnet_ids: (文字列のリスト, 新しいリソースを強制) クラスターの Multi-AZ デプロイメントを有効にしたい場合に、クラスター ノードをデプロイするために使用するサブネットの ID。Multi-AZ デプロイメントはエラスティック クラスターでのみ利用可能です。この引数には 3 つのサブネットを参照する必要があります。3 つのサブネットは、異なるアベイラビリティゾーン内の同じ VPC に属している必要があります。すべてプライベートサブネットまたはパブリックサブネットでなければなりません。詳細については、 Multi-AZ Deployment を参照してください。

  • vpc_endpoint_id: (String, 新しいリソースを強制) CelerData クラスターに接続したい VPC の ID。この引数を指定する必要があります。ユーザー自身の VPC から PrivateLink を使用して CelerData クラスターに接続したい場合。

    ~> ユーザーの VPC は、CelerData クラスターが配置されているのと同じ AWS リージョンにある必要があります。さらに、VPC エンドポイント ID を指定しない場合、CelerData の VPC はインターネットを介してユーザー自身の VPC と通信します。

属性リファレンス

このリソースは、以下の属性をエクスポートします。

  • id: (String) このリソースの ID。

参照