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

# 専用デプロイメント向けプライベートネットワーキング

一部のエンタープライズのお客様には、GitHub Enterprise Server、GitLab、Bitbucket Data Center、Artifactory、Nexus などの内部システムや、その他の開発者向けインフラストラクチャに Devin をプライベートに接続する必要があります。

Devin の Dedicated Deployment は、AWS PrivateLink を通じてこれを実現します。この方式により、すべてのトラフィックが AWS のバックボーン内にとどまり、パブリックインターネットにさらされることを回避できます。

<div id="overview">
  ## 概要
</div>

PrivateLink は、Devin Dedicated Deployment 環境からお客様の内部エンドポイントへのプライベート IP 接続を提供します。これを有効にするために、お客様のチームは、Devin がアクセスする必要のある各内部システムの前段に AWS VPC Endpoint Service を用意します。その後、Cognition がそのサービスを利用する Interface VPC Endpoint を作成します。
PrivateLink はドメイン単位で設定されます。Devin が複数のドメインにアクセスする必要がある場合は、各ドメインごとに 1 つの Endpoint Service と 1 つの Interface Endpoint が必要になります。

<div id="requirements">
  ## 要件
</div>

以下をご用意ください：

* 各内部サービス (GitLab、Artifactory など) をフロントする、お客様の AWS アカウント内の Network Load Balancer (NLB)
* NLB をターゲットとして使用する VPC Endpoint Service
* 各 Endpoint Service のサービス名
* Cognition の AWS アカウントを含めた Allowed principal の設定
* 各サービスでサポートされているポートに関する確認情報
* Devin がプライベートに名前解決する必要があるドメインの DNS 情報

Cognition が提供するもの：

* Allowed principal に追加する AWS アカウント ID
* 接続が確立された後に Devin 側で行う DNS 設定

<div id="cross-region-privatelink-if-your-services-are-in-a-different-region">
  ## クロスリージョン PrivateLink (サービスが別リージョンにある場合)
</div>

社内サービスが Cognition の Dedicated Deployment テナントとは異なるリージョンで稼働している場合でも、PrivateLink を引き続き利用できます。サービス提供側がクロスリージョン接続を有効化していれば、AWS はリージョンをまたいだエンドポイントの利用をサポートします。

<div id="customer-steps">
  ### お客様側での手順
</div>

1. **Network Load Balancer を新規作成するか既存のものを再利用する**
   NLB は、Devin がアクセスする必要がある内部システムをターゲットにする必要があります。NLB は、必要なすべてのポートをサポートしていなければなりません。

2. **NLB から VPC Endpoint Service を作成する**
   これにより、そのサービスが PrivateLink 経由で利用可能になります。

3. **クロスリージョン（リージョン間）サポートを有効化する**
   AWS コンソールで次を実行します:

   ```
   VPC Console → Endpoint Services → Select service → Actions → Modify supported Regions
   ```

   Cognition テナントがデプロイされているリージョンを追加します。
   CLI の例:

   ```bash theme={null}
   aws ec2 modify-vpc-endpoint-service-configuration \
       --service-id vpce-svc-0abc123 \
       --add-supported-regions us-west-2  # Cognition テナントのリージョン
   ```

4. **許可されたプリンシパルとして Cognition の AWS アカウントを追加する**
   ```bash theme={null}
   aws ec2 modify-vpc-endpoint-service-permissions \
       --service-id vpce-svc-0abc123 \
       --add-allowed-principals arn:aws:iam::<COGNITION_ACCOUNT_ID>:root
   ```

5. **以下の情報を Cognition に提供する**
   * Endpoint Service の名前\
     例: `com.amazonaws.vpce.us-west-2.vpce-svc-0abc123`
   * サービスが受け付けるポート
   * PrivateLink 経由で解決させたいドメイン

<div id="what-happens-next">
  ### この後の流れ
</div>

上記の詳細を提供すると、Cognition は次の処理を行います。

1. 提供されたサービス名を使用して、専用テナント環境内に **Interface VPC エンドポイント** を作成します。
2. 承認が必要な **接続リクエストを送信** します（手動で承認するか、設定されている場合は自動承認が行われます）。
3. 指定したドメインが Devin 環境内でプライベートに名前解決されるように、**DNS を構成** します。

<div id="architecture-diagram">
  ## アーキテクチャ図
</div>

<Frame caption="Cognition から顧客の社内サービスへのリージョン間 PrivateLink 接続">
  <img src="https://mintcdn.com/cognitionai/_hZBHYl9TFGuS5cH/images/privatelink-architecture.svg?fit=max&auto=format&n=_hZBHYl9TFGuS5cH&q=85&s=684c4a1bca883659a78dfd25753c24eb" alt="PrivateLink アーキテクチャ" width="900" height="480" data-path="images/privatelink-architecture.svg" />
</Frame>

<div id="gateway-load-balancer-gwlb-support">
  ## Gateway Load Balancer (GWLB) のサポート
</div>

組織で Zscaler などのセキュリティアプライアンスをトラフィック検査に利用している場合、Network Load Balancer の代わりに AWS Gateway Load Balancer (GWLB) を使用できます。これにより、Devin のトラフィックを内部サービスに到達させる前に、セキュリティアプライアンスを経由させて検査できます。

このモデルでは、次のような構成になります。

* **Gateway Load Balancer** がセキュリティアプライアンス（例: Zscaler）の手前に配置されます
* Devin 環境内に **Gateway Load Balancer エンドポイント** を作成し、アプライアンス経由でトラフィックをルーティングします
* トラフィックはセキュリティアプライアンスで検査され、その後ターゲットの内部サービスに転送されます

このオプションを利用するには、以下を Cognition に提供してください。

* GWLB エンドポイントサービス名
* セキュリティアプライアンスのベンダー名と構成の詳細
* GWLB 経由でルーティングすべきドメイン

<Note>
  GWLB ベースのセットアップは、トラフィック検査レイヤーが追加される点を除き、NLB ベースのセットアップと同じ PrivateLink の原則に従います。詳細なセットアップ手順については、Cognition のアカウントチームにお問い合わせください。
</Note>

<div id="key-considerations">
  ## 重要な考慮事項
</div>

| Topic                | Guidance                                                         |
| -------------------- | ---------------------------------------------------------------- |
| Required setup       | ドメインごとに 1 つの Endpoint Service と 1 つの Interface Endpoint が必要      |
| Cross region support | Cross-region サポートは、Endpoint Service で明示的に有効化する必要がある              |
| Allowed principals   | お客様側で Cognition の AWS アカウント ID を追加する必要がある                        |
| DNS                  | お客様のドメインは、Cognition 側のプライベートな Interface Endpoint の IP アドレスに解決される |
| Ports                | NLB リスナーは、各サービスへアクセスする際に Devin が使用するポートと一致させる必要がある               |
| Availability         | NLB とその背後のターゲットは、複数の Availability Zone にまたがるように構成しておく必要がある       |
| Latency              | トラフィックが AWS バックボーン内にとどまるため、わずかな Cross-region レイテンシ増加が発生する場合がある   |

<div id="information-to-provide-to-cognition">
  ## Cognition に提供する情報
</div>

セットアップが完了したら、Cognition に次の情報を共有してください。

* 各内部ドメイン向けの AWS Endpoint Service 名
* クロスリージョン対応が有効化されていることの確認（該当する場合）
* Allowed principal 設定が完了していること
* NLB で公開しているポート
* PrivateLink 経由でルーティングすべきドメインの一覧

その後、Cognition が Interface Endpoint をプロビジョニングし、DNS を構成して、接続を確認します。
