Amazon EKS へのシングルクラスタインストール (CloudFormation)
このガイドでは、AWS CloudFormation を使用して、AWS EKS (Elastic Kubernetes Service) でホストされている Kubernetes クラスターに CodeCanvas アプリケーションをインストールする方法について説明します。
単一クラスタインストールは、CodeCanvas アプリケーションと開発環境インフラストラクチャが単一の Kubernetes クラスタにデプロイされることを意味します。詳細
このインストールでは、カーペンター(英語)を使用して、実行中の pods からのリソースリクエストに基づいて EC2 インスタンスを自動的にプロビジョニングします。つまり、特定の EC2 インスタンスタイプを選択する必要はありません。Karpenter が、デプロイされたワークロードの要件を満たす最適なノードを選択します。
I: 前提条件
CloudFormation スタックを作成する権限を持つ AWS アカウントへのアクセス。
AWS CLI (オプション、トラブルシューティング用)。
II: CloudFormation を使用して CodeCanvas をインストールする
AWS アカウントにログインし、CodeCanvas CloudFormation テンプレートを開きます。
CloudFormation テンプレートはデフォルトで CodeCanvas を
eu-west-1リージョンにインストールします。必要に応じて、AWS コンソールの右上にあるリージョンセレクターを使用してリージョンを変更できます。テンプレート設定では次のようになります。
一意のスタック名を指定します。
デプロイタイプでは、単一クラスターを選択します。
他のすべてのパラメーターはデフォルトのままにしておきます。
デフォルト設定はほとんどのインストールで問題なく動作します。ただし、ネットワークとアクセスをより細かく制御する必要がある場合は、以下のパラメーターを調整できます。
- EKS クラスター構成
追加の EKS 管理者ロール – クラスター管理用の追加の IAM ロールを指定できます。
- ネットワーク構成
このインストールにより、高可用性を確保するために構造化されたネットワークレイアウトを持つ仮想プライベートクラウド(VPC)が作成されます。ネットワークは 6 つのサブネットに分割され、3 つのアベイラビリティゾーン(AZ)に均等に分散されます。
インターネットにアクセスできる 3 つのパブリックサブネット。
直接外部アクセスのない 3 つのプライベートサブネット。
各 AZ には、パブリックサブネットとプライベートサブネットが 1 つずつ割り当てられます。以下のパラメーターを使用して、VPC のアドレス範囲とサブネットのサイズをカスタマイズできます。
VPC CIDR ブロック – VPC のアドレス範囲を定義します。指定されたサブネットマスクに従って、この CIDR ブロックが 6 つのサブネットに分割できることを確認してください。デフォルト:
10.0.0.0/16サブネットマスク – VPC 内の各サブネットのサイズを定義します。デフォルト:
/20(各サブネットには 4096 個の IP アドレスが割り当てられます)
残りのパラメーターについてはデフォルト設定を維持することも、必要に応じて調整することもできます。
設定を確認し、必要な機能を確認して、スタックの作成をクリックします。
スタック作成プロセスが開始されます。
スタックの作成が完了したら、出力タブに移動します。このタブには、作成されたリソースに関する重要な情報が表示されます。
CodeCanvasInitAdminPassword – 管理者ユーザーの初期パスワードです。このパスワードをコピーして安全に保管してください。CodeCanvas アプリケーションに初めてログインするときに必要になります。
CodeCanvasMasterSecret – データベース内の機密データを保護するために使用される暗号化キー。この値は CloudFormation UI には表示されません。
マスターシークレットを取得するには:
AWS クラウドシェル(英語)を開くか、EKS クラスターへの
kubectlアクセス権を持つ任意のターミナルを使用します。次のコマンドを実行します。
kubectl --namespace=codecanvas-app get secret codecanvas-app-envs -o jsonpath="{.data.MASTER_SECRET}" | base64 -d
マスターシークレットは安全な場所に保管してください(例: パスワードマネージャー)。新しい環境でデータベースを復元するか、既存のデータベースを使用して CodeCanvas を再インストールする必要があります。
CodeCanvasURL – CodeCanvas UI にアクセスするための URL。
EKSClusterName – CodeCanvas アプリ用に作成された EKS クラスターの名前。
RDSSecretArn – データベース認証情報を含む AWS Secrets Manager シークレットの ARN (Amazon リソース名)。
III: インストールを確認する
出力タブの管理者パスワードをコピーし、ブラウザーで CodeCanvas URL を開きます。
次の資格情報を使用してログインします。
ユーザー名:
adminパスワード: (コピーしたパスワードを貼り付けます)
IV: CodeCanvas を有効化
CodeCanvas インスタンスをアクティブ化する方法の指示に従ってください。
V: (オプション)追加のコンピューティングプラットフォームを構成する
CodeCanvas におけるコンピューティングプラットフォームは、開発環境を実行するためのインフラストラクチャを表します。これには、CodeCanvas オペレーター、Relay、踏み台サーバーを備えた Kubernetes クラスターが含まれます。
この単一クラスターインストールでは、コンピューティングプラットフォームのすべてのコンポーネント(オペレーター、リレー、踏み台サーバー)が、CodeCanvas アプリケーションと同じ Kubernetes クラスターにすでにインストールされています。ただし、組織が成長したり、他のリージョンの開発者をサポートする必要がある場合は、コンピューティングプラットフォームを追加することでインフラストラクチャを拡張できます。
新しいコンピューティングプラットフォーム用のクラスターを作成する最も簡単な方法は、同じ CloudFormation テンプレートを再利用することです。その後、新しいクラスターを CodeCanvas に接続し、プラットフォームの設定を完了します。以下の手順を参照してください。
AWS アカウントにログインし、CodeCanvas CloudFormation テンプレートを開きます。
テンプレート設定では次のようになります。
一意のスタック名を指定します。
デプロイタイプでは、開発環境クラスターを選択します。
他のパラメーターはデフォルト値のままにするか、必要に応じて調整します。
残りのパラメーターについてはデフォルト設定を維持することも、必要に応じて調整することもできます。
設定を確認して、スタックの作成をクリックします。
スタック作成プロセスが開始されます。
スタックが作成されたら、CodeCanvas を開いて管理 | コンピューティングプラットフォームに移動します。
マルチクラスタインストールドキュメントの手順に従って、コンピューティングプラットフォームを構成します。新しく作成したクラスターにオペレーターをデプロイし、移動サーバーとリレーサーバーを作成します。
VI: インストール後の手順
インストールが正常に検証されたら、CodeCanvas インスタンスの構成(開発環境インスタンスタイプの作成、ユーザーや名前空間の追加など)に進むことができます。
関連ページ:
インストール
クイックインストール AWS CloudFormation を使用して 10 分で CodeCanvas をデプロイします。インストールを起動する (AWS アカウントが必要です)、インストール手順に従ってください、CodeCanvas は、Kubernetes クラスター内のオンプレミスデプロイ向けに設計されています。サポートされる Kubernetes の最小バージョンは 1.29 です。サポートされているクラウドプロバイダー:現在、CodeCanvas は次の場所でホストされている Kube...
ライセンスの有効化
CodeCanvas 製品ライセンス:現在、CodeCanvas ライセンスは、JetBrains のセールス部門に連絡するか、JetBrains アカウント経由で購入することで取得できます。使用量の計算方法 CodeCanvas の使用量は、1 日のアクティブユーザー数(1 日中に少なくとも 1 つの開発環境を起動したユーザー)に基づいて計算されます。1 日のユーザー数の上限は、CodeCanvas ライセンスによって決まります。ライセンスにはいつでもユーザーを追加できます。なお、ライセンスで...
リファレンス
開発環境:開発者がローカルマシンから接続してコードを記述、テスト、デバッグするための、リモートでホストされるコンテナー化環境です。ソースコード、IDE バックエンド、必要な開発ツールが含まれています。開発環境は開発コンテナー内で実行され、開発コンテナーはワーカーコンテナー内で実行されます(下記参照)。開発コンテナー:開発環境を実行するコンテナー。IDE バックエンド、ソースコード、開発ツールが含まれています。ワーカー:Kubernetes pod で実行されるエージェントアプリケーションを...
Amazon EKS へのマルチクラスタインストール
このガイドでは、AWS EKS(Elastic Kubernetes Service)でホストされている Kubernetes クラスターに CodeCanvas アプリケーションをインストールする方法について説明します。データベースとオブジェクトストレージサービスは AWS、つまり RDS と S3 でホストされているものとします。マルチクラスタインストールは、CodeCanvas アプリケーションと開発環境インフラストラクチャが別々の Kubernetes クラスタにデプロイされることを意味...
CodeCanvas を構成する
このガイドは、システム管理者 (組織内の CodeCanvas インスタンスの設定と管理を担当するシステム管理者ロールを持つユーザー) を対象としています。システム管理者は、プラットフォームのインストールとアクティベート、認証の設定、開発環境のコンピューティングリソースの定義、グローバル設定の管理などを行います。CodeCanvas インスタンスを準備しましょう !1. CodeCanvas インスタンスをアクティブ化する:ブラウザーで、インストール時に指定した CodeCanvas URL...
プロジェクトの構成
このガイドは、名前空間管理者 (名前空間内で名前空間管理者ロールを持ち、リモート開発プロジェクトの準備を担当するユーザー) を対象としています。名前空間は、Git リポジトリ、開発環境テンプレート、カスタム設定など、プロジェクト固有のリソースをすべてグループ化します。名前空間は、単一のプロジェクトまたは関連するプロジェクトのグループを表すことができます。名前空間について詳しく学ぶ名前空間管理者として、プロジェクトの Git リポジトリに接続し、開発環境の作成と起動方法を設定し、チームがスムーズに...