リレーサーバー
リレーサーバーは、開発者のローカルマシン上の JetBrains IDE クライアントとリモート環境で動作する IDE バックエンド間の仲介役として機能するコンポーネントです。開発環境へのインバウンド接続がファイアウォールやその他のセキュリティポリシーによって制限されている場合でも、安全な通信を可能にします。開発環境で JetBrains IDE を使用する場合は、CodeCanvas デプロイに少なくとも 1 つのリレーサーバーが必要です。
設定によっては、リレーサーバーがすでにインストールされている場合があります(例: 単一クラスタインストール)。分散環境や複数リージョンへのスケーリングでは、リレーサーバーの追加が必要になる場合があります。レイテンシを低減するため、対象の開発環境にできるだけ近い場所(例: 同じ開発環境クラスタ内、または同じリージョン内)にデプロイすることをお勧めします。ただし、必要に応じて、CodeCanvas アプリケーションクラスタ内にリレーサーバーをデプロイすることもできます。
前提条件
Relay サーバーをデプロイする Kubernetes クラスター(以下、Relay クラスターと呼びます)。開発環境クラスター自体に Relay サーバーをデプロイすることも可能です。
リレークラスターは、CodeCanvas アプリケーションクラスターと開発環境クラスターからネットワークアクセス可能です。
リレークラスターには、ingress コントローラーがインストールおよび構成されている必要があります。
リレークラスター内で解決されるリレーサーバーのドメイン名 (例:
relay.example.com) があります。リレークラスタに cert-manager(英語) がインストールされている必要があります。リレーサーバーのドメインの証明書を発行できるように、cert-manager が適切に設定されていることを確認してください。
リレーサーバーをデプロイする
CodeCanvas のヘッダーナビゲーションで管理を選択し、サイドバーメニューでリレーサーバーを選択します。
新規接続をクリックします。
リレーサーバー名前とリレーサーバーの URL(例:
wss://relay.example.com)を指定し、保存をクリックします。サーバーは非アクティブ状態のリレーサーバーのリストに追加されます。新しく追加したリレーサーバーを開き、接続スニペット(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>– エンコードされた生成された公開鍵の値
Kubernetes シークレットファイル (例:
relay-secret.yaml) を作成し、スニペットを貼り付けます。シークレットをリレークラスターに適用します。
kubectl apply -f relay-secret.yaml次の内容の
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 のリレーサーバーページの公開鍵フィールドからコピーできます。
変更をリレークラスターに適用します。
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.3RELAY_NAMESPACE_PLACEHOLDERを、リレーサーバーがデプロイされている Kubernetes 名前空間に置き換えます。CodeCanvas でリレーサーバーページを開き、サーバーがアクティブ状態であることを確認します。
カスタムリレーサーバーの使用準備が完了しました。コンピューティングプラットフォームを構成する際に、リレーサーバードロップダウンからカスタムリレーサーバーを選択してください。
関連ページ:
コンピューティングプラットフォーム
コンピューティングプラットフォームは、ユーザー開発環境を実行するために使用されるインフラストラクチャを定義します。これは、特定の Kubernetes オペレーター、移動サーバー、リレーサーバーによって管理される開発環境クラスタで構成される構成エンティティです。コンピューティングプラットフォームのコンセプトは、CodeCanvas インストールのマルチリージョン性に対応しており、これらのコンポーネントの配置はエンドユーザーエクスペリエンスにとって非常に重要です。たとえば、エンドユーザーに近いリージ...
踏み台サーバー
企業環境では、ファイアウォールやその他のセキュリティポリシーにより、リモートマシンへの直接 SSH 接続が制限されることがよくあります。CodeCanvas は踏み台サーバーを使用して、開発者のローカルマシンから開発環境(VS Code/Cursor での開発やターミナル経由の環境へのアクセスなど)への安全な SSH 接続を実現します。踏み台サーバーは、マシン間の SSH 接続を転送する仲介役です。設定によっては、踏み台サーバーがすでにインストールされている場合があります(例: 単一クラスタイン...