Skip to main content
プライベートイメージレジストリを連携すると、Containerテンプレートでカスタムイメージをデプロイすることができます。本ガイドではGitHub Container Registry、GCP Artifact Registry、Docker Hubとの連携について説明します。

レジストリの連携

Personal Access Tokenの生成

GitHubアカウントのSettingsにアクセスし、Developer settings > Personal access tokens (classic) ページからGenerate new token > Generate new token(classic)をクリックしてトークンを生成してください。

権限の付与とトークンの発行

以下の権限を付与し、Generate tokenをクリックしてください。
  • repo
  • write:packages
  • admin:public_key
トークンの生成が完了すると、トークン値が表示されます。トークンは生成時に一度だけ値を確認することができます。

エールへの連携

スペース設定画面のチームページ
スペース設定画面のアドオンページからコンテナレジストリを連携するをクリックすると表示されるコンテナレジストリ設定モーダルで、以下の値を入力し連携するをクリックすると**GitHub Container Registryが連携されます。
  • レジストリプロバイダー : GitHub Container Registry
  • GitHubアカウント : GitHub ID
  • パーソナルアクセストークン(PAT) : GitHubで生成したPersonal Access Token

GCP Artifact Registryの作成

Google Cloud コンソールでArtifact Registryサービスにアクセスし、リポジトリを作成をクリックしてください。
リポジトリの名前を適切に設定し、以下の値を入力して作成をクリックするとリポジトリが作成されます。
  • フォーマット : Docker
  • モード : 標準
  • ロケーションタイプ : リージョン
  • リージョン : ユーザーの状況に応じたリージョンを選択
  • 暗号化 : Google管理の暗号化キー

レジストリの接続アドレスの確認

作成したリポジトリをクリックすると、[リージョン]-docker.pkg.dev/[GCPプロジェクトID]/[リポジトリ名]形式の接続アドレスを確認できます。
レジストリの接続アドレスは、エールでレジストリを連携する際に使用されます。

サービスアカウントの作成と権限付与

Google CloudコンソールのIAMと管理 > サービスアカウントページで、サービスアカウントを作成をクリックしてください。
識別可能なサービスアカウント名を入力し、作成して続行をクリックします。
ロール選択モーダルでArtifact Registry管理者を選択し、完了をクリックするとサービスアカウントが作成されます。

JSONキーの作成

作成されたサービスアカウントの右側にあるアイコンをクリックし、キーの管理を選択してください。
作成したサービスアカウントのキー管理ページのキーを追加 > 新しいキーを作成をクリックすると表示される新しい秘密鍵の作成モーダルで、キータイプとしてJSONを選択し、作成をクリックするとJSONキーがファイル形式でダウンロードされます。

エールへの連携

スペース設定画面のアドオンページからコンテナレジストリを連携するをクリックすると表示されるコンテナレジストリ設定モーダルで、以下の値を入力し連携するをクリックするとGoogle Cloud Artifact Registryが連携されます。
  • レジストリプロバイダー : Google Cloud Artifact Registry
  • 接続アドレス : リポジトリ作成後に確認した接続アドレス
  • キーファイル(JSON) : JSONキーファイルの内容

Docker Hub Access Tokenの生成

Docker Hubアカウントを作成後、右上のアカウント名をクリックします。 続いてAccount Settings > Securityにアクセスし、New Access Tokenをクリックします。

権限の付与とトークンの発行

Access Token Descriptionフィールドにトークンの用途や役割を区別できる文言を入力し、Access permissionsはRead & Writeを選択してください。 生成されたトークンは最初の1回のみ確認可能です。

エールへの連携

スペース設定画面のアドオンページからコンテナレジストリを連携するをクリックすると表示されるコンテナレジストリ設定モーダルで、以下の値を入力し連携するをクリックするとDocker Hubが連携されます。
  • レジストリプロバイダー : Docker Hub
  • ユーザー名 : Docker Hub ID
  • パスワード(トークン) : Docker Hub Access token

イメージのデプロイ

ダッシュボードの または ⌘ + K で表示されるデプロイモーダルで、Containerテンプレートを選択し、必要な設定値を入力してデプロイできます。
接続したレジストリにあるイメージのイメージURLとタグを入力してください。
イメージデプロイに必要な設定値を入力してください。
  • uid : コンテナでプロセスを実行するユーザーの固有識別子(デフォルト値1000)
  • gid : コンテナでプロセスが属するグループの固有識別子(デフォルト値1000)
  • Update strategy
    • Rolling Update : 新バージョンデプロイ後、既存ポッド終了。可用リソース確保必要
    • Recreate : 既存ポッドを終了後、新バージョンを作成・起動。ダウンタイム発生
  • Shell : コンテナ実行後に実行するシェル(sh、bash、zshなど)
  • リソースタイプオンデマンドとスポットリソースから選択
  • CPU:サービスで利用可能なvCPUの上限を設定。最小構成時は0.1 vCPUを割り当て
  • メモリ:サービスで利用可能なメモリの上限を設定
  • レプリカ:設定した数に応じサービスを水平スケーリングし、負荷分散と可用性確保
  • デプロイデプロイをクリック
リソース制限によりデプロイできない場合は、スペースとリソースの管理ページを参照してスペースにリソースを追加してください。
I