JetBrains CodeCanvas 2025.3 ヘルプ

リレーサーバー

リレーサーバーは、開発者のローカルマシン上の JetBrains IDE クライアントとリモート環境で動作する IDE バックエンド間の仲介役として機能するコンポーネントです。開発環境へのインバウンド接続がファイアウォールやその他のセキュリティポリシーによって制限されている場合でも、安全な通信を可能にします。開発環境で JetBrains IDE を使用する場合は、CodeCanvas デプロイに少なくとも 1 つのリレーサーバーが必要です。

設定によっては、リレーサーバーがすでにインストールされている場合があります(例: 単一クラスタインストール)。分散環境や複数リージョンへのスケーリングでは、リレーサーバーの追加が必要になる場合があります。レイテンシを低減するため、対象の開発環境にできるだけ近い場所(例: 同じ開発環境クラスタ内、または同じリージョン内)にデプロイすることをお勧めします。ただし、必要に応じて、CodeCanvas アプリケーションクラスタ内にリレーサーバーをデプロイすることもできます。

前提条件

  • Relay サーバーをデプロイする Kubernetes クラスター(以下、Relay クラスターと呼びます)。開発環境クラスター自体に Relay サーバーをデプロイすることも可能です。

  • リレークラスターは、CodeCanvas アプリケーションクラスターと開発環境クラスターからネットワークアクセス可能です。

  • リレークラスターには、ingress コントローラーがインストールおよび構成されている必要があります。

  • リレークラスター内で解決されるリレーサーバーのドメイン名 (例: relay.example.com) があります。

  • リレークラスタに cert-manager(英語) がインストールされている必要があります。リレーサーバーのドメインの証明書を発行できるように、cert-manager が適切に設定されていることを確認してください。

リレーサーバーをデプロイする

  1. CodeCanvas のヘッダーナビゲーションで管理を選択し、サイドバーメニューでリレーサーバーを選択します。

  2. 新規接続をクリックします。

  3. リレーサーバー名前リレーサーバーの URL(例: wss://relay.example.com)を指定し、保存をクリックします。サーバーは非アクティブ状態のリレーサーバーのリストに追加されます。

  4. 新しく追加したリレーサーバーを開き、接続スニペット(Kubernetes シークレットマニフェスト)をコピーします。スニペットは以下のようになります。

    apiVersion: v1 kind: Secret metadata: name: codecanvas-relay-secret namespace: "RELAY_NAMESPACE_PLACEHOLDER" type: Opaque data: JWT_PUBLIC_KEY: <encoded-public-key>

    ここに:

    • metadata.name はシークレットの名前です。この例では codecanvas-relay-secret です。

    • RELAY_NAMESPACE_PLACEHOLDER – リレーサーバーをデプロイする Kubernetes 名前空間。kubectl create namespace RELAY_NAMESPACE_PLACEHOLDER を使用して新しい名前空間を作成することも、既存の名前空間を使用することもできます。

    • <encoded-public-key> – エンコードされた生成された公開鍵の値

  5. Kubernetes シークレットファイル (例: relay-secret.yaml) を作成し、スニペットを貼り付けます。

  6. シークレットをリレークラスターに適用します。

    kubectl apply -f relay-secret.yaml
  7. 次の内容の relay.values.yaml ファイルを作成します。

    application: ingress: ingressClassName: "INGRESS_CLASS_PLACEHOLDER" hostname: "RELAY_DOMAIN_PLACEHOLDER" annotations: "cert-manager.io/cluster-issuer": "CERT_MANAGER_NAME_PLACEHOLDER" tlsEnabled: true secret: existingSecretName: "SECRET_NAME_PLACEHOLDER" ## Alternatively to secret, you can provide the not-encoded public key value # relayJwtPublicKey: GATEWAY_PUBLIC_KEY_PLACEHOLDER

    ここに:

    • INGRESS_CLASS_PLACEHOLDER – リレークラスター内の ingress クラス名。

    • RELAY_DOMAIN_PLACEHOLDERリレーサーバー用に予約されたドメイン名 (例: relay.example.com)。

    • CERT_MANAGER_NAME_PLACEHOLDER – リレークラスター内の cert-manager 発行者の名前。

    • SECRET_NAME_PLACEHOLDER – リレーサーバーのシークレットの名前。この例では codecanvas-relay-secret です。

    • GATEWAY_PUBLIC_KEY_PLACEHOLDER – シークレット名を指定する代わりに、エンコードされていない公開鍵の値を直接指定することもできます。CodeCanvas のリレーサーバーページの公開鍵フィールドからコピーできます。

  8. 変更をリレークラスターに適用します。

    helm upgrade -n RELAY_NAMESPACE_PLACEHOLDER --wait --install \ -f relay.values.yaml \ codecanvas-relay \ oci://public.registry.jetbrains.space/p/codecanvas/release-charts/codecanvas-relay \ --version 2025.3.3

    RELAY_NAMESPACE_PLACEHOLDER を、リレーサーバーがデプロイされている Kubernetes 名前空間に置き換えます。

  9. CodeCanvas でリレーサーバーページを開き、サーバーがアクティブ状態であることを確認します。

  10. カスタムリレーサーバーの使用準備が完了しました。コンピューティングプラットフォームを構成する際に、リレーサーバードロップダウンからカスタムリレーサーバーを選択してください。

2025 年 5 月 19 日