> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# AWS 向けカスタマイズ設定

> 既存の AWS VPC に ClickHouse BYOC をデプロイする

export const Image = ({img, alt, size = "lg"}) => {
  const normalizedSize = ["sm", "md", "lg"].includes(size) ? size : "lg";
  return <div className={`ch-image-${normalizedSize}`}>
      <Frame>
        <img src={img} alt={alt} />
      </Frame>
    </div>;
};

<div id="customer-managed-vpc-aws">
  ## AWS 向けの顧客管理 VPC (BYO-VPC)
</div>

ClickHouse Cloud に新しい VPC をプロビジョニングさせる代わりに、既存の VPC を使用して ClickHouse BYOC をデプロイする場合は、以下の手順に従ってください。この方法では、ネットワーク構成をより柔軟に制御でき、既存のネットワークインフラストラクチャに ClickHouse BYOC を統合できます。

<Steps>
  <Step title="既存の VPC を設定する" id="configure-existing-vpc">
    1. VPC に `clickhouse-byoc="true"` タグを付与します。
    2. ClickHouse Cloud で使用できるよう、3 つの異なるアベイラビリティゾーンにまたがるプライベートサブネットを少なくとも 3 つ割り当てます。
    3. ClickHouse のデプロイメントに十分な IP アドレスを確保できるよう、各サブネットの CIDR 範囲が少なくとも `/23` (例: 10.0.0.0/23) であることを確認します。
    4. ロードバランサーが適切に設定されるよう、各サブネットに `kubernetes.io/role/internal-elb=1` と `clickhouse-byoc="true"` のタグを追加します。

    <Image img="https://mintcdn.com/private-7c7dfe99/Ph2XgLY43sq6v4yO/images/cloud/reference/byoc-subnet-1.webp?fit=max&auto=format&n=Ph2XgLY43sq6v4yO&q=85&s=ca8491785aa957ce48e7826dadbd156d" size="lg" alt="BYOC VPC サブネット" width="1600" height="827" data-path="images/cloud/reference/byoc-subnet-1.webp" />

    <Image img="https://mintcdn.com/private-7c7dfe99/Ph2XgLY43sq6v4yO/images/cloud/reference/byoc-subnet-2.webp?fit=max&auto=format&n=Ph2XgLY43sq6v4yO&q=85&s=4534989000d14a7b56e404febe355423" size="lg" alt="BYOC VPC サブネットタグ" width="1600" height="406" data-path="images/cloud/reference/byoc-subnet-2.webp" />
  </Step>

  <Step title="S3 ゲートウェイエンドポイントを設定する" id="configure-s3-endpoint">
    VPC に S3 ゲートウェイエンドポイントがまだ設定されていない場合は、VPC と Amazon S3 の間で安全かつプライベートに通信できるよう、これを作成する必要があります。このエンドポイントを使用すると、ClickHouse のサービスはパブリックインターネットを経由せずに S3 にアクセスできます。設定例については、以下のスクリーンショットを参照してください。

    <Image img="https://mintcdn.com/private-7c7dfe99/Ph2XgLY43sq6v4yO/images/cloud/reference/byoc-s3-endpoint.webp?fit=max&auto=format&n=Ph2XgLY43sq6v4yO&q=85&s=7413b52f024d68d7c9807f25bbc1209c" size="lg" alt="BYOC S3 エンドポイント" width="1711" height="1559" data-path="images/cloud/reference/byoc-s3-endpoint.webp" />
  </Step>

  <Step title="ネットワーク接続を確認する" id="ensure-network-connectivity">
    **Outbound インターネットアクセス**
    ClickHouse BYOC コンポーネントが Tailscale の control plane と通信できるようにするため、VPC では少なくともアウトバウンドのインターネットアクセスを許可する必要があります。Tailscale は、プライベートな管理操作のために安全なゼロトラストネットワークを提供する目的で使用されます。Tailscale への初回登録と初期セットアップにはパブリックインターネット接続が必要であり、これは直接接続または NAT ゲートウェイ経由で実現できます。この接続は、BYOC デプロイメントのプライバシーとセキュリティの両方を維持するために必要です。

    **DNS 名前解決**
    VPC で DNS 名前解決が正しく機能しており、標準の DNS 名がブロック、改変、上書きされていないことを確認してください。ClickHouse BYOC は、Tailscale の control server と ClickHouse service の endpoint を名前解決するために DNS に依存しています。DNS が利用できない、または設定に不備がある場合、BYOC サービスが接続できなかったり、正常に動作しなかったりする可能性があります。
  </Step>

  <Step title="AWS アカウントを設定する" id="configure-aws-account">
    初回の BYOC セットアップでは、ClickHouse Cloud の BYOC コントローラーがインフラストラクチャを管理できるようにするため、特権 IAM ロール (`ClickHouseManagementRole`) が作成されます。これは、[CloudFormation template](https://s3.us-east-2.amazonaws.com/clickhouse-public-resources.clickhouse.cloud/cf-templates/byoc.yaml) または [Terraform module](https://s3.us-east-2.amazonaws.com/clickhouse-public-resources.clickhouse.cloud/tf/byoc.tar.gz) のいずれかを使用して実行できます。

    `BYO-VPC` セットアップをデプロイする場合は、`IncludeVPCWritePermissions` パラメーターを `false` に設定し、ClickHouse Cloud に顧客管理 VPC を変更する権限が付与されないようにしてください。

    <Note>
      Storage buckets、Kubernetes クラスター、コンピュートリソースはこの初期セットアップには含まれていません。これらは後続の手順でプロビジョニングされます。VPC はお客様が管理しますが、ClickHouse Cloud が AWS アカウント内で Kubernetes クラスター、service account 用の IAM ロール、S3 bucket、そのほかの必須リソースを作成および管理するには、引き続き IAM 権限が必要です。
    </Note>

    #### 代替 Terraform module

    CloudFormation ではなく Terraform を使用する場合は、次の module を使用してください。

    ```hcl theme={null}
    module "clickhouse_onboarding" {
      source                     = "https://s3.us-east-2.amazonaws.com/clickhouse-public-resources.clickhouse.cloud/tf/byoc.tar.gz"
      byoc_env                   = "production"
      include_vpc_write_permissions = false
    }
    ```
  </Step>

  <Step title="BYOC インフラストラクチャをセットアップする" id="set-up-byoc-infrastructure">
    ClickHouse Cloud console で新しいインフラストラクチャをセットアップする際は、次の項目を設定します。

    1. **VPC configuration** で **Use existing VPC** を選択します。
    2. **VPC ID** を入力します (例: `vpc-0bb751a5b888ad123`)。
    3. 先ほど設定した 3 つのサブネットの **Private subnet IDs** を入力します。
    4. 構成上パブリック向けロードバランサーが必要な場合は、必要に応じて **Public subnet IDs** を入力します。
    5. **Set up Infrastructure** をクリックしてプロビジョニングを開始します。

    <Image img="https://mintcdn.com/private-7c7dfe99/REHSqgCLT_igIuJP/images/cloud/reference/byoc-aws-existing-vpc-ui.webp?fit=max&auto=format&n=REHSqgCLT_igIuJP&q=85&s=2749bf6db36338fa3f0fd889c41ee6f8" size="lg" alt="ClickHouse Cloud BYOC setup UI with Use existing VPC selected" width="1392" height="1598" data-path="images/cloud/reference/byoc-aws-existing-vpc-ui.webp" />

    <Note>
      新しいリージョンのセットアップには最大 40 分かかる場合があります。
    </Note>
  </Step>
</Steps>

<div id="customer-managed-iam-roles">
  ## 顧客管理 IAM ロール
</div>

高度なセキュリティ要件や厳格なコンプライアンスポリシーがある組織では、ClickHouse Cloud に IAM ロールを作成させる代わりに、独自の IAM ロールを指定できます。この方法では、IAM 権限を完全に制御でき、組織のセキュリティポリシーを適用できます。

<Info>
  顧客管理 IAM ロールはプライベートプレビューです。以下の手順を実行する前に、この機能を組織で有効にするため、ClickHouse Support にお問い合わせください。
</Info>

顧客管理 IAM ロールを使用すると、次のことが可能になります。

* ClickHouse Cloud が通常作成するインフラストラクチャごとの IAM ロールを事前に作成する
* クロスアカウントアクセスに使用する `ClickHouseManagementRole` から IAM の書き込み権限を削除する
* ロールの権限と信頼関係を完全に管理する

<Steps>
  <Step title="IAM の書き込み権限なしで管理ロールを設定する" id="byo-iam-management-role">
    [初回の BYOC セットアップ](/docs/ja/cloud/reference/byoc/onboarding/standard)を実行する際は、管理ロールの IAM 書き込み権限を無効にします。CloudFormation template では、`IncludeIAMWritePermissions` パラメータを `false` に設定します。Terraform module の場合は次のとおりです。

    ```hcl theme={null}
    module "clickhouse_onboarding" {
      source                        = "github.com/ClickHouse/terraform-byoc-onboarding.git//modules/aws?ref=<version>"
      external_id                   = "<external-id-provided-by-clickhouse>"
      include_iam_write_permissions = false
    }
    ```

    `<version>` は、module の [releases page](https://github.com/ClickHouse/terraform-byoc-onboarding/releases) にある最新のタグに置き換えてください。必ず最新のリリースを使用してください。
  </Step>

  <Step title="インフラストラクチャごとの IAM ロールを作成する" id="byo-iam-per-infra-roles">
    各 BYOC インフラストラクチャがプロビジョニングされる前に、[terraform-byoc-onboarding](https://github.com/ClickHouse/terraform-byoc-onboarding) の per-infra module を使用して、必要な IAM ロール (EKS pod identity roles、ClickHouse S3 access role、data-plane management role) を作成します。

    ```hcl theme={null}
    module "clickhouse_per_infra_iam" {
      source = "github.com/ClickHouse/terraform-byoc-onboarding.git//modules/aws-per-infra-iam?ref=<version>"

      spoken_name = "<spoken-name-provided-by-clickhouse>"
      region      = "<aws-region-of-the-infrastructure>"
      external_id = "<external-id-provided-by-clickhouse>"
    }
    ```

    `<version>` は、module の [releases page](https://github.com/ClickHouse/terraform-byoc-onboarding/releases) にある最新のタグに置き換えてください。必ず最新のリリースを使用してください。
  </Step>

  <Step title="インフラストラクチャごとのロールを最新の状態に保つ" id="byo-iam-keep-up-to-date">
    <Warning>
      ClickHouse では、新しいプラットフォーム機能に必要なロールや権限が定期的に追加されます。ClickHouse から更新通知を受けたら、最新リリースの per-infra module を再適用してください。古いバージョンを使用していると、BYOC インフラストラクチャの Provisioning や Upgrades が失敗する可能性があります。
    </Warning>
  </Step>
</Steps>

ClickHouse Cloud がデフォルトで作成する IAM ロールについては、[BYOC Privilege Reference](/docs/ja/products/bring-your-own-cloud/reference/privilege) を参照してください。
