Skip to main content
一部のエンタープライズのお客様には、GitHub Enterprise Server、GitLab、Bitbucket Data Center、Artifactory、Nexus などの内部システムや、その他の開発者向けインフラストラクチャに Devin をプライベートに接続する必要があります。 Devin Dedicated SaaS は、AWS PrivateLink を通じてこれを実現します。この方式により、すべてのトラフィックが AWS のバックボーン内にとどまり、パブリックインターネットにさらされることを回避できます。

概要

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

要件

以下をご用意ください:
  • 各内部サービス(GitLab、Artifactory など)をフロントする、お客様の AWS アカウント内の Network Load Balancer(NLB)
  • NLB をターゲットとして使用する VPC Endpoint Service
  • 各 Endpoint Service のサービス名
  • Cognition の AWS アカウントを含めた Allowed principal の設定
  • 各サービスでサポートされているポートに関する確認情報
  • Devin がプライベートに名前解決する必要があるドメインの DNS 情報
Cognition が提供するもの:
  • Allowed principal に追加する AWS アカウント ID
  • Interface Endpoint のターゲットとなる VPC とサブネット情報
  • 接続が確立された後に Devin 側で行う DNS 設定
社内サービスが Cognition の専用 SaaS テナントとは異なるリージョンで稼働している場合でも、PrivateLink を引き続き利用できます。サービス提供側がクロスリージョン接続を有効化していれば、AWS はリージョンをまたいだエンドポイントの利用をサポートします。

お客様側での手順

  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 の例:
    aws ec2 modify-vpc-endpoint-service-configuration \
        --service-id vpce-svc-0abc123 \
        --add-supported-regions us-east-1  # Cognition テナントのリージョン
    
  4. 許可されたプリンシパルとして Cognition の AWS アカウントを追加する
    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 経由で解決させたいドメイン

この後の流れ

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

アーキテクチャ図

PrivateLink アーキテクチャ

Cognition から顧客の社内サービスへのリージョン間 PrivateLink 接続

重要な考慮事項

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

Cognition に提供する情報

セットアップが完了したら、Cognition に次の情報を共有してください。
  • 各内部ドメイン向けの AWS Endpoint Service 名
  • クロスリージョン対応が有効化されていることの確認(該当する場合)
  • Allowed principal 設定が完了していること
  • NLB で公開しているポート
  • PrivateLink 経由でルーティングすべきドメインの一覧
その後、Cognition が Interface Endpoint をプロビジョニングし、DNS を構成して、接続を確認します。