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

# Connect Gateway

> Connect AI の Connect Gateway 機能は、オンプレミスのネットワークにインストールするソフトウェアです。ゲートウェイは、オンプレミスのデータ（クラウド上にないデータ）と Connect AI の橋渡し役として機能します。

Connect Gateway はオンプレミスのゲートウェイであり、Docker コンテナとして実行するか、Helm を介して Kubernetes にデプロイできます。ゲートウェイは、会社のファイアウォール、プライベートネットワーク、または Virtual Private Cloud (VPC) の内側にあるデータと、Connect AI のクラウドベースのサービスとの間を安全なリバーストンネルで接続します。これにより、データをインターネットに直接公開することなく、Connect AI がデータにアクセスできます。

<Frame>
  <img src="https://mintcdn.com/cdata/sAQRxXzEMtx9dRcr/ja/images/connect_gateway_architecture.svg?fit=max&auto=format&n=sAQRxXzEMtx9dRcr&q=85&s=2d5e9edf4019e14a5f2b9655858c2a1f" alt="Connect Gateway Architecture" width="960" height="340" data-path="ja/images/connect_gateway_architecture.svg" />
</Frame>

各ゲートウェイは、個々の接続設定の中で Connect AI のユーザーインターフェースに登録します。複数の場所にゲートウェイを配置することが可能です。場所ごとに Connect AI にゲートウェイを登録する必要があります。

Connect Gateway は、同一の場所とアカウント Id を指す複数のゲートウェイインスタンス（複数の Docker コンテナ、または Kubernetes デプロイメントのレプリカ）をサポートすることで、高可用性を実現します。1 つのインスタンスが停止した場合、リクエストは残りのゲートウェイインスタンスに自動的にルーティングされます。

次の図は、Connect Gateway が複数の場所と複数のデータソースをどのようにサポートするかを示しています。

<Frame>
  <img src="https://mintcdn.com/cdata/sAQRxXzEMtx9dRcr/ja/images/connect_gateway_architecture_advanced.svg?fit=max&auto=format&n=sAQRxXzEMtx9dRcr&q=85&s=97e61f19b742820ff4edf735103c0c9c" alt="Connect Gateway Architecture Advanced" width="1000" height="680" data-path="ja/images/connect_gateway_architecture_advanced.svg" />
</Frame>

現在、Connect AI は Connect Gateway で次のコネクタをサポートしています：

* [API](/ja/Data-Sources/APIConnector)
* [Confluence](/ja/Data-Sources/Confluence)
* [Databricks](/ja/Data-Sources/Databricks)
* [GitHub](/ja/Data-Sources/GitHub)
* [Jira](/ja/Data-Sources/JIRA)
* [MySQL](/ja/Data-Sources/MySQL)
* [PostgreSQL](/ja/Data-Sources/PostgreSQL)
* [SAP Business One](/ja/Data-Sources/SAPBusinessOne)
* [SAP Gateway](/ja/Data-Sources/SAPGateway)
* [Snowflake](/ja/Data-Sources/Snowflake)
* [Splunk](/ja/Data-Sources/Splunk)
* [SQL Server](/ja/Data-Sources/SQL)

Connect Gateway で別のコネクタが必要な場合は、[CData サポート](https://jp.cdata.com/support/submit.aspx)にお問い合わせください。

Connect Gateway のセットアップには、次の 3 つの主要なステップがあります：

<Steps>
  <Step>
    [Connect AI に Connect Gateway を登録する](#register-the-connect-gateway-in-connect-ai)。
  </Step>

  <Step>
    オンプレミスデータが存在する各場所でオンプレミスゲートウェイをインストールして実行します。[Docker で Connect Gateway をデプロイする](#deploy-the-connect-gateway-with-docker)か、[Kubernetes で Connect Gateway をデプロイする](#deploy-the-connect-gateway-on-kubernetes)かのいずれかを選択できます。
  </Step>

  <Step>
    Connect AI で[Connect Gateway セットアップを完了](#finish-connect-gateway-setup)し、ゲートウェイをテストしてコネクションを完成させます。
  </Step>
</Steps>

## Connect AI に Connect Gateway を登録する

Connect AI に Connect Gateway を登録するには、次の手順に従います：

<Steps>
  <Step>
    **Sources** に移動し、新しいコネクションの場合は **Add Connection** をクリックするか、既存のコネクションを編集します。
  </Step>

  <Step>
    **Add/Edit Connection** ページで **Gateways** タブをクリックします。
  </Step>

  <Step>
    **Gateways** で **Add** をクリックします。**Add Gateway** ダイアログが表示されます。

    <Frame>
      <img src="https://mintcdn.com/cdata/9ebVLxdsgOdqwgHm/ja/images/connect_gateway_add_gateway.png?fit=max&auto=format&n=9ebVLxdsgOdqwgHm&q=85&s=c65949236c1ee093bc9ea1590ea4376e" alt="Add Gateway" width="751" height="403" data-path="ja/images/connect_gateway_add_gateway.png" />
    </Frame>
  </Step>

  <Step>
    ゲートウェイがインストールされている場所を識別するための説明的な場所名を入力し、**Confirm** をクリックします。

    **Gateways** リストに場所が表示され、キーと **Pending** ステータスが示されます。目のアイコンをクリックしてキーを確認できます。

    <Frame>
      <img src="https://mintcdn.com/cdata/9ebVLxdsgOdqwgHm/ja/images/connect_gateway_list.png?fit=max&auto=format&n=9ebVLxdsgOdqwgHm&q=85&s=2c44cebb52c094fb5c82b72b551d574e" alt="Gateways List" width="1447" height="334" data-path="ja/images/connect_gateway_list.png" />
    </Frame>

    オンプレミスゲートウェイに必要な次の値をコピーしてください（コピーアイコンをクリックします）：

    * **Account Id**–オンプレミスゲートウェイの ACCOUNT\_ID 環境変数です。
    * **Location Id**–オンプレミスゲートウェイの GATEWAY\_LOCATION\_ID 環境変数です。
    * **Key**–オンプレミスゲートウェイの GATEWAY\_API\_KEY 環境変数です。
  </Step>
</Steps>

## Docker で Connect Gateway をデプロイする

オンプレミスゲートウェイは、ネットワーク内で動作する軽量なサービスで、Connect AI とローカルデータソースの間を安全なリバーストンネルで接続します。ゲートウェイは起動時に Connect AI に自己登録します。その後、Azure Relay テクノロジーを使用して受信接続を待機しますが、パブリックインターネットに公開されることはありません。

ゲートウェイはプロトコルに依存しません。データベースプロトコル（MySQL、PostgreSQL、SQL Server など）を認識せずに生のバイトをそのまま転送するため、TCP ベースのデータソースと互換性があります。

### 前提条件

Connect Gateway を Docker コンテナとして実行するには、次のものが必要です：

* ホストマシンに Docker がインストールされていること。
* `cloud.cdata.com` へのネットワークアクセスがあること。
* Connect AI でゲートウェイが作成されていること。

### 環境変数

ゲートウェイを実行するには、次の環境変数が必要です：

| **変数**                | **説明**                                                                                            |
| :-------------------- | :------------------------------------------------------------------------------------------------ |
| GATEWAY\_LOCATION\_ID | このゲートウェイインスタンスの一意の識別子です。Connect AI の Gateways リストで、ユーザーが定義した **Location Name** の下に表示される値をコピーします。  |
| GATEWAY\_API\_KEY     | このゲートウェイを Connect AI で認証するためのシークレット API キーです。Connect AI の Gateways リストの **Key** の下に表示される値をコピーします。 |
| ACCOUNT\_ID           | CData Connect AI のアカウント識別子です。組織固有の値です。Connect AI の Gateways リストの **Account Id** をコピーします。          |

### Docker でゲートウェイを実行する

次のようにゲートウェイを実行します：

```bash wrap theme={null}
docker run \
    --name my-onprem-gateway \
    -e GATEWAY_LOCATION_ID=<gateway_location_id> \
    -e GATEWAY_API_KEY=<gateway_api_key> \
    -e ACCOUNT_ID=<account_id> \
    connectaipublic.azurecr.io/connectgateway:latest
```

<Note>`docker run` は、Docker イメージがホストにまだ存在しない場合、レジストリからイメージをプルします。</Note>

#### Docker ログを確認する

```bash wrap theme={null}
docker logs -f my-onprem-gateway
```

#### ゲートウェイを停止する

```bash wrap theme={null}
docker stop my-onprem-gateway
docker rm my-onprem-gateway
```

### Docker Compose

次の内容をコピーして `docker-compose.yml` として保存します：

```yaml theme={null}
version: "3.8"

services:
  onprem-gateway:
    image: connectaipublic.azurecr.io/connectgateway:latest
    container_name: my-onprem-gateway
    restart: unless-stopped
    environment:
      GATEWAY_LOCATION_ID: <gateway_location_id>
      GATEWAY_API_KEY: <gateway_api_key>
      ACCOUNT_ID: <account_id>
```

#### ゲートウェイを起動する

```bash wrap theme={null}
docker compose up
```

<Note>`docker compose up` は、Docker イメージがホストにまだ存在しない場合、レジストリからイメージをプルします。</Note>

#### ログを確認する

```bash wrap theme={null}
docker compose logs -f
```

#### ゲートウェイを停止する

```bash wrap theme={null}
docker compose down
```

## Kubernetes で Connect Gateway をデプロイする

Connect Gateway の Kubernetes Helm チャートは [GitHub リポジトリ](https://github.com/CDataSoftware/connect-gateway-helm/)で公開されています。

Kubernetes へのデプロイには次のものが必要です：

* Kubernetes 1.25 以降
* Helm 3.10 以降
* クラスタに Metrics Server がインストールされていること（メモリベースのオートスケーリングに必要）
* クラスタから `cloud.cdata.com` へのネットワーク送信
* Connect AI の **Account Id**、**Location Id**、および **Key**。これらの値の場所については[Connect AI に Connect Gateway を登録する](#register-the-connect-gateway-in-connect-ai)を参照してください。

### クイックスタート

Helm リポジトリを追加します：

```bash wrap theme={null}
helm repo add cdata https://cdatasoftware.github.io/connect-gateway-helm
helm repo update
```

チャートをインストールします：

```bash wrap theme={null}
helm install connect-gateway cdata/connect-gateway \
  --set gateway.locationId=<location-id> \
  --set gateway.accountId=<account-id> \
  --set gateway.apiKey=<api-key> \
  -n connect-gateway --create-namespace
```

[GitHub リリース](https://github.com/CDataSoftware/connect-gateway-helm/releases)から直接インストールすることもできます。これは、エアギャップ環境や Helm リポジトリを追加したくない場合に便利です。以下の URL のバージョンは、最新のリリースに置き換えてください。

```bash wrap theme={null}
helm install connect-gateway \
  https://github.com/CDataSoftware/connect-gateway-helm/releases/download/v1.0.0/connect-gateway-1.0.0.tgz \
  --set gateway.locationId=<location-id> \
  --set gateway.accountId=<account-id> \
  --set gateway.apiKey=<api-key> \
  -n connect-gateway --create-namespace
```

<Note>本番環境では、ゲートウェイ認証情報を含む Kubernetes Secret を作成し、`--set gateway.apiKey=…` の代わりに `--set existingSecret=<secret-name>` を渡してください。`--set` で API キーを渡すと、シェルの履歴と Helm リリースに保存される values に書き込まれます。シークレット管理のパターンについては Helm チャートの [Readme ファイル](https://github.com/CDataSoftware/connect-gateway-helm/blob/main/charts/connect-gateway/README.md)を参照してください。</Note>

### ゲートウェイが動作していることを確認する

ゲートウェイの Pod が準備完了になっていることを確認し、ログを表示します：

```bash wrap theme={null}
kubectl get pods -n connect-gateway
kubectl logs -n connect-gateway -l app.kubernetes.io/name=connect-gateway -f
```

### ゲートウェイをアップグレードする

```bash wrap theme={null}
helm repo update
helm upgrade connect-gateway cdata/connect-gateway -n connect-gateway
```

### ゲートウェイをアンインストールする

```bash wrap theme={null}
helm uninstall connect-gateway -n connect-gateway
```

インストールオプション、設定値、シークレット管理パターンの完全なリストについては、Helm チャートの [Readme ファイル](https://github.com/CDataSoftware/connect-gateway-helm/blob/main/charts/connect-gateway/README.md)を参照してください。

## Connect Gateway セットアップを完了する

Connect AI に戻り、Connect Gateway のセットアップを完了します。

<Steps>
  <Step>
    [Docker で Connect Gateway をデプロイする](#deploy-the-connect-gateway-with-docker)または [Kubernetes で Connect Gateway をデプロイする](#deploy-the-connect-gateway-on-kubernetes)のステップが完了したら、**Gateways** に追加したゲートウェイをテストできます。**Add/Edit Connection** ページの **Connect Gateway** タブをクリックします。**Test Gateways** をクリックします。すべてのゲートウェイのセットアップが完了すると、**Status** が **Success** に変わります。
    <Note>コネクション全体をテストするには、引き続き **Save & Test** をクリックする必要があります。</Note>
  </Step>

  <Step>
    コネクションの **Basic Settings** タブに戻ります。**Connection Type** で **Connect Gateway** を選択します。
  </Step>

  <Step>
    ドロップダウンリストから使用する **Connect Gateway** の場所を選択します。

    <Frame>
      <img src="https://mintcdn.com/cdata/9ebVLxdsgOdqwgHm/ja/images/connect_gateway_basic_settings.png?fit=max&auto=format&n=9ebVLxdsgOdqwgHm&q=85&s=0b2d1e35fd1683c205af319bfd4b5ac3" alt="Basic Settings" width="946" height="317" data-path="ja/images/connect_gateway_basic_settings.png" />
    </Frame>
  </Step>

  <Step>
    コネクタの **Documentation** ペインに従って、コネクタの **Authentication** の手順を入力します。
  </Step>

  <Step>
    **Save & Test** をクリックしてコネクタを認証します。
  </Step>
</Steps>
