> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-trino-dialect.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# BYOC AWS プライベートネットワーク設定

> AWS 上の BYOC 向けに VPC ピアリングまたは PrivateLink を設定する

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>;
};

AWS上の ClickHouse BYOC では、VPC Peering と AWS PrivateLink という 2 つのプライベート接続オプションをサポートしています。

<div id="common-prerequisites">
  ## 前提条件
</div>

VPCピアリングとPrivateLinkの両方に共通して必要な手順です。

<div id="step-enable-private-load-balancer-for-clickhouse-byoc">
  ### ClickHouse BYOC でプライベートロードバランサーを有効にする
</div>

ClickHouse Cloud コンソールで、BYOC インフラストラクチャの **プライベートロードバランサー** を有効にします。

<Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/wrAOYL3DquclMwbQ/images/cloud/reference/byoc-private-load-balancer.webp?fit=max&auto=format&n=wrAOYL3DquclMwbQ&q=85&s=c2d79269321210679ad00c0afe098632" size="md" alt="BYOC プライベートロードバランサーを有効にする" border width="2438" height="1724" data-path="images/cloud/reference/byoc-private-load-balancer.webp" />

<div id="aws-vpc-peering">
  ## VPC ピアリングを設定する
</div>

ClickHouse BYOC の VPC ピアリングを作成または削除するには、次の手順に従ってください。

<Steps>
  <Step title="ピアリング接続を作成する" id="step-1-create-a-peering-connection">
    1. ClickHouse BYOC アカウントの VPC Dashboard に移動します。
    2. Peering Connections を選択します。
    3. Create Peering Connection をクリックします。
    4. VPC Requester に ClickHouse VPC ID を設定します。
    5. VPC Accepter に対象の VPC ID を設定します (必要に応じて別のアカウントを選択します) 。
    6. Create Peering Connection をクリックします。

    <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/wrAOYL3DquclMwbQ/images/cloud/reference/byoc-vpcpeering-1.webp?fit=max&auto=format&n=wrAOYL3DquclMwbQ&q=85&s=367e59cf2d6f6c91d18c1582115039ae" size="lg" alt="BYOC ピアリング接続の作成" border width="1600" height="1042" data-path="images/cloud/reference/byoc-vpcpeering-1.webp" />
  </Step>

  <Step title="ピアリング接続リクエストを承認する" id="step-2-accept-the-peering-connection-request">
    ピアリング先のアカウントで、(VPC -> Peering connections -> Actions -> Accept request) に移動すると、この VPC ピアリングリクエストを承認できます。

    <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/wrAOYL3DquclMwbQ/images/cloud/reference/byoc-vpcpeering-2.webp?fit=max&auto=format&n=wrAOYL3DquclMwbQ&q=85&s=b5b55e354b03934a034f96c8fdcbf962" size="lg" alt="BYOC ピアリング接続の承認" border width="1600" height="81" data-path="images/cloud/reference/byoc-vpcpeering-2.webp" />
  </Step>

  <Step title="ClickHouse VPC のルートテーブルに宛先を追加する" id="step-3-add-destination-to-clickhouse-vpc-route-tables">
    ClickHouse BYOC アカウントで、

    1. VPC Dashboard で Route Tables を選択します。
    2. ClickHouse VPC ID を検索します。プライベートサブネットに関連付けられている各ルートテーブルを編集します。
    3. Routes タブの Edit ボタンをクリックします。
    4. Add another route をクリックします。
    5. Destination に対象 VPC の CIDR 範囲を入力します。
    6. Target で “Peering Connection” とピアリング接続 ID を選択します。

    <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/wrAOYL3DquclMwbQ/images/cloud/reference/byoc-vpcpeering-3.webp?fit=max&auto=format&n=wrAOYL3DquclMwbQ&q=85&s=43d0d62630ef109fe147247fee58d3fa" size="lg" alt="BYOC ルートテーブルの追加" border width="1600" height="112" data-path="images/cloud/reference/byoc-vpcpeering-3.webp" />
  </Step>

  <Step title="対象 VPC のルートテーブルに宛先を追加する" id="step-4-add-destination-to-the-target-vpc-route-tables">
    ピアリング先の AWS アカウントで、

    1. VPC Dashboard で Route Tables を選択します。
    2. 対象の VPC ID を検索します。
    3. Routes タブの Edit ボタンをクリックします。
    4. Add another route をクリックします。
    5. Destination に ClickHouse VPC の CIDR 範囲を入力します。
    6. Target で “Peering Connection” とピアリング接続 ID を選択します。

    <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/wrAOYL3DquclMwbQ/images/cloud/reference/byoc-vpcpeering-4.webp?fit=max&auto=format&n=wrAOYL3DquclMwbQ&q=85&s=687e12300dbe6429394128ff64efec72" size="lg" alt="BYOC ルートテーブルの追加" border width="1600" height="105" data-path="images/cloud/reference/byoc-vpcpeering-4.webp" />
  </Step>

  <Step title="ピアリングされた VPC からのアクセスを許可するようセキュリティグループを編集する" id="step-5-edit-security-group-to-allow-peered-vpc-access">
    ClickHouse BYOC アカウントでは、ピアリングされた VPC からのトラフィックを許可するために、セキュリティグループの設定を更新する必要があります。ピアリングされた VPC の CIDR 範囲を含むインバウンドルールの追加を依頼するには、ClickHouse Support にお問い合わせください。

    ***

    これで、ピアリングされた VPC から ClickHouse サービスにアクセスできるようになります。
  </Step>
</Steps>

ClickHouse にプライベートにアクセスするために、ユーザーのピアリングされた VPC から安全に接続できるよう、プライベートロードバランサーとエンドポイントがプロビジョニングされます。プライベート エンドポイントは、パブリックエンドポイントの形式に `-private` 接尾辞を付けたものです。たとえば、次のとおりです。

* **Public endpoint**: `h5ju65kv87.mhp0y4dmph.us-west-2.aws.clickhouse-byoc.com`
* **Private endpoint**: `h5ju65kv87-private.mhp0y4dmph.us-west-2.aws.clickhouse-byoc.com`

任意ですが、ピアリングが機能していることを確認した後、ClickHouse BYOC のパブリックロードバランサーの削除を依頼できます。

<div id="setup-privatelink">
  ## PrivateLink を設定する
</div>

AWS PrivateLink を使用すると、VPC ピアリングやインターネットゲートウェイを介さずに、ClickHouse BYOC サービスへ安全なプライベート接続を確立できます。すべてのトラフィックは AWS ネットワーク内を流れるため、パブリックインターネットを経由することはありません。

<Note>
  **リージョン間接続。** ClickHouse コンソールの **Enable private link** トグルでは、エンドポイントサービスがプロビジョニングされ、**同一リージョン**のコンシューマーのみが対象となります。AWS ではエンドポイントサービスのリージョン間アクセスはデフォルトで無効になっており、ClickHouse コンソールでは管理できません。クライアントが別のリージョンにある場合は、ご自身で有効にしてください。エンドポイントサービスは BYOC アカウント内にあるため、ご自身の AWS コンソールで **Supported regions** リストにコンシューマーのリージョンを追加します (以下のステップ 3 を参照) 。ClickHouse がこれらの値を変更またはリセットすることはありません。AWS のリージョン間データ転送料金が適用されます。
</Note>

<Steps>
  <Step title="ClickHouseコンソールでプライベートリンクを有効にする" id="step-1-enable-private-link">
    <Note>
      前提条件として、**プライベートロードバランサー**が有効になっていることを確認してください。
    </Note>

    <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/wrAOYL3DquclMwbQ/images/cloud/reference/byoc-privatelink.webp?fit=max&auto=format&n=wrAOYL3DquclMwbQ&q=85&s=0cce402678608f2f392274290212c7cb" size="md" alt="BYOC PrivateLink を有効化" border width="2800" height="1848" data-path="images/cloud/reference/byoc-privatelink.webp" />
  </Step>

  <Step title={<>エンドポイントの<code>Service name</code>を取得</>} id="step-2-obtain-endpoint-service-name">
    1. ClickHouse Cloud console で、PrivateLink 経由で接続するサービスの Settings ページに移動します。
    2. 「Set up private endpoint」をクリックします。
    3. 開いたフライアウトで、`Service name` の値をコピーします。次の手順で使用します。 (PrivateLink を有効にした後、この値が生成されるまでしばらく時間がかかる場合があります。)
           <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/wrAOYL3DquclMwbQ/images/cloud/security/aws-privatelink-pe-create.webp?fit=max&auto=format&n=wrAOYL3DquclMwbQ&q=85&s=5a419857b24290742687f1c0f4e07d7e" size="md" alt="プライベート エンドポイント" border width="1556" height="740" data-path="images/cloud/security/aws-privatelink-pe-create.webp" />
  </Step>

  <Step title="ネットワーク内にエンドポイントを作成" id="step-3-create-endpoint">
    1. **ご自身の AWS コンソール** (クライアントアプリケーションがある AWS アカウント) を開き、VPC → Endpoints → Create endpoints に移動します。

    2. "Endpoint services that use NLBs and GWLBs" を選択し、前の手順で取得した `Service name` を使用します。

    3. "Verify service" をクリックします。
           <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/wrAOYL3DquclMwbQ/images/cloud/security/aws-privatelink-endpoint-settings.webp?fit=max&auto=format&n=wrAOYL3DquclMwbQ&q=85&s=d3ef14b1b7a9842b73819b4b763f69b1" size="md" alt="AWS PrivateLink エンドポイント設定" border width="1304" height="721" data-path="images/cloud/security/aws-privatelink-endpoint-settings.webp" />

    4. (任意) PrivateLink 経由でクロスリージョン接続を確立する場合は、"Cross region endpoint" チェックボックスを有効にし、サービスリージョンを指定します。サービスリージョンは、BYOC インフラストラクチャが作成されているリージョンです。同時に、次の操作を行います。

    5. **BYOC AWS コンソール** (BYOC インフラストラクチャが作成されている AWS アカウント) を開き、VPC → Endpoint services → `clickhouse-cloud-infra-xxx` → Supported regions に移動します。

    6. クライアントアプリケーションが実行されているリージョンを、サポート対象リージョンのリストに追加します。デフォルトでは、この BYOC インフラストラクチャのリージョンのみがサポートされています。異なるリージョンから接続する場合は複数のリージョンを追加できます。ClickHouse がこれらの値を変更またはリセットすることはありません。
           <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/wrAOYL3DquclMwbQ/images/cloud/reference/byoc-privatelink-aws-cross-region.webp?fit=max&auto=format&n=wrAOYL3DquclMwbQ&q=85&s=d9a7131328330355dc74fa30e2684709" size="md" alt="AWS PrivateLink クロスリージョンエンドポイント設定" border width="3094" height="1820" data-path="images/cloud/reference/byoc-privatelink-aws-cross-region.webp" />

    7. VPC とサブネットを選択します (availability zone ごとに 1 つのサブネットを推奨します) 。
           <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/wrAOYL3DquclMwbQ/images/cloud/security/aws-privatelink-select-vpc-and-subnets.webp?fit=max&auto=format&n=wrAOYL3DquclMwbQ&q=85&s=ac8bd8e9e9a223db66a3db786e1ae25e" size="md" alt="VPC とサブネットを選択" border width="1312" height="595" data-path="images/cloud/security/aws-privatelink-select-vpc-and-subnets.webp" />

    8. **重要**: エンドポイントで "Private DNS names" を有効にします。これは private DNS が正しく機能するために必要です。
       BYOC エンドポイントの private DNS (`*.vpce.{subdomain}` 形式) は、AWS PrivateLink に組み込まれた "Private DNS names" 機能を使用します。Route53 レコードは不要です。次の条件を満たす場合、DNS 解決は自動的に行われます。
       * "Private DNS names" が有効であり、
       * "DNS Hostnames" が有効である

         これらは VPC Settings → DNS resolution および DNS hostnames で有効にします。

         これにより、`vpce` サブドメインを使用する接続は、追加の DNS 設定なしで自動的に PrivateLink エンドポイント経由でルーティングされます。

    9. (任意) セキュリティグループ/タグを割り当てます。

    <Note>
      セキュリティグループでポート `443`、`8443`、`9440` が許可されていることを確認してください。
    </Note>

    8. "Create endpoint" をクリックし、エンドポイントが作成されるまでしばらく待ちます。

    9. エンドポイントを作成した後、`Endpoint ID` の値をコピーします。次の手順で使用します。
           <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/wrAOYL3DquclMwbQ/images/cloud/security/aws-privatelink-vpc-endpoint-id.webp?fit=max&auto=format&n=wrAOYL3DquclMwbQ&q=85&s=0914f5b17ad91500db5704a03546904e" size="md" alt="VPC Endpoint ID" border width="467" height="212" data-path="images/cloud/security/aws-privatelink-vpc-endpoint-id.webp" />
  </Step>

  <Step title="エンドポイント接続を承認する" id="step-4-approve-endpoint-connection">
    1. **BYOC VPC コンソール**を再度開き、Endpoint services → `clickhouse-cloud-infra-xxx` → Endpoint connections に移動します。
    2. 自身の VPC から作成された接続リクエストを見つけ、"Accept endpoint connection request" をクリックして承認します。
           <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/wrAOYL3DquclMwbQ/images/cloud/reference/byoc-privatelink-2.webp?fit=max&auto=format&n=wrAOYL3DquclMwbQ&q=85&s=3dbd355ffd11bf590f9d84dc25be0751" size="md" alt="BYOC PrivateLink の承認" border width="1600" height="975" data-path="images/cloud/reference/byoc-privatelink-2.webp" />
  </Step>

  <Step title={<>ClickHouseサービスの許可リストに <code>Endpoint ID</code> を追加する</>} id="step-5-add-endpoint-id-to-services-allow-list">
    1. ClickHouse Cloud consoleで、PrivateLink 経由で接続するサービスの Settings ページに移動します。
    2. 「プライベート エンドポイントを設定」をクリックします。
    3. 開いたフライアウトで、前の手順で取得した `Endpoint ID` と、必要に応じて説明を入力します。
    4. 「エンドポイントを作成」をクリックします。

    <Note>
      既存の PrivateLink 接続からのアクセスを許可する場合は、既存のエンドポイントのドロップダウンメニューを使用します。
      ドロップダウンには、同じインフラストラクチャ内のサービスへの既存の PrivateLink 接続が表示されます。
    </Note>

    <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/wrAOYL3DquclMwbQ/images/cloud/security/aws-privatelink-pe-filters.webp?fit=max&auto=format&n=wrAOYL3DquclMwbQ&q=85&s=8cbd609719e39e6c2fe16eba23145246" size="md" alt="プライベート エンドポイントのフィルター" border width="1555" height="748" data-path="images/cloud/security/aws-privatelink-pe-filters.webp" />
  </Step>

  <Step title="PrivateLink を使用してインスタンスにアクセスする" id="step-6-connect-via-privatelink">
    1. ClickHouse Cloud Console で、サービスの Settings ページに移動します。
    2. 「プライベート エンドポイントを設定」をクリックします。
    3. 開いたフライアウトで、`DNS name` をコピーします。

           <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/wrAOYL3DquclMwbQ/images/cloud/security/aws-privatelink-pe-dns-name.webp?fit=max&auto=format&n=wrAOYL3DquclMwbQ&q=85&s=e47aa556da6ec364b02f444fee1e5fbc" size="md" alt="プライベート エンドポイントの DNS 名" border width="1551" height="740" data-path="images/cloud/security/aws-privatelink-pe-dns-name.webp" />

       PrivateLink 経由での ClickHouse サービスへのアクセスは、次の 2 つのレベルで制御されます。

       1. **Istio Authorization Policy**: ClickHouse が BYOC インフラストラクチャ内で管理するサービスレベルの認可ポリシー
       2. **VPC Endpoint Security Group**: VPC エンドポイントにアタッチされたセキュリティグループ。VPC 内でエンドポイントを使用できるリソースを制御します

           <Note>
             プライベートロードバランサーの「PrivateLink トラフィックにインバウンドルールを適用」機能は無効になっているため、アクセスは Istio 認可ポリシーと VPC エンドポイントのセキュリティグループによってのみ制御されます。
           </Note>
  </Step>
</Steps>
