Container Registry は、VPC セキュアビルドモードを提供します。このモードを使用すると、自己管理の GitLab や Maven リポジトリなどのサービスを、パブリックエンドポイントを公開することなく、Virtual Private Cloud (VPC) 内、または Express Connect を介して VPC に接続されたオンプレミスデータセンター内でホストできます。このトピックでは、このモードでコンテナイメージをビルドする方法について説明します。
前提条件
-
Container Registry の Enterprise Edition インスタンスを作成済みであること。詳細については、「Enterprise Edition インスタンスを使用したイメージのプッシュとプル」をご参照ください。
-
ご利用の Enterprise Edition インスタンスと同じリージョンにある VPC またはオンプレミスデータセンターに、自己管理の GitLab サービスを作成済みであること。GitLab サービスが VPC でホストされ、Elastic Compute Service (ECS) の IP アドレスを介してアクセスされる場合、CIDR ブロック 100.104.0.0/16 からのトラフィックを許可するために、ECS インスタンスのセキュリティグループにインバウンドルールを追加する必要があります。GitLab サービスが Server Load Balancer (SLB) インスタンスを介してアクセスされる場合、セキュリティグループの設定は不要です。
-
サービスがオンプレミスデータセンターにある場合、そのネットワーク CIDR ブロックはリバースアクセス CIDR ブロック (100.104.0.0/16) と競合してはなりません。また、仮想ボーダールータ (VBR) とデータセンターの両方で、100.104.0.0/16 CIDR ブロックの戻りルートを設定する必要があります。Express Connect と VBR の詳細については、「Express Connect とは」および「仮想ボーダールータ (VBR)」をご参照ください。
-
セキュアビルドモードをサポートするゾーンに VPC と VSwitch を作成します。次の表に、サポートされているゾーンを示します。
クラウドサービス
リージョン
サポートされるゾーン
パブリッククラウド
中国 (北京)
-
cn-beijing-c
-
cn-beijing-d
-
cn-beijing-e
-
cn-beijing-f
-
cn-beijing-i
-
cn-beijing-j
-
cn-beijing-k
-
cn-beijing-g
-
cn-beijing-h
中国 (杭州)
-
cn-hangzhou-e
-
cn-hangzhou-f
-
cn-hangzhou-g
-
cn-hangzhou-h
-
cn-hangzhou-i
-
cn-hangzhou-j
-
cn-hangzhou-k
中国 (深セン)
-
cn-shenzhen-a
-
cn-shenzhen-b
-
cn-shenzhen-c
-
cn-shenzhen-d
-
cn-shenzhen-e
-
cn-shenzhen-f
中国 (上海)
-
cn-shanghai-a
-
cn-shanghai-b
-
cn-shanghai-c
-
cn-shanghai-d
-
cn-shanghai-e
-
cn-shanghai-f
-
cn-shanghai-g
-
cn-shanghai-i
中国 (張家口)
-
cn-zhangjiakou-a
-
cn-zhangjiakou-b
-
cn-zhangjiakou-c
中国 (香港)
-
cn-hongkong-b
-
cn-hongkong-c
-
cn-hongkong-d
シンガポール
-
ap-southeast-1a
-
ap-southeast-1b
-
ap-southeast-1c
インドネシア (ジャカルタ)
-
ap-southeast-5a
-
ap-southeast-5b
米国 (バージニア)
-
us-east-1a
-
us-east-1b
米国 (シリコンバレー)
-
us-west-1a
-
us-west-1b
イギリス (ロンドン)
-
eu-west-1a
-
eu-west-1b
ドイツ (フランクフルト)
-
eu-central-1a
-
eu-central-1b
日本 (東京)
-
ap-northeast-1a
-
ap-northeast-1b
中国 (成都)
-
cn-chengdu-a
-
cn-chengdu-b
中国 (河源)
-
cn-heyuan-a
-
cn-heyuan-b
Finance Cloud
中国 (杭州)
-
cn-hangzhou-finance-i
-
cn-hangzhou-finance-j
-
cn-hangzhou-finance-k
-
cn-hangzhou-finance-h
-
マネージドセキュリティグループ
VPC 内のソースコードリポジトリをバインドすると、Container Registry は ECS API オペレーションを呼び出してマネージドセキュリティグループを作成します。これにより、Container Registry ビルドサービスが VPC 内の自己管理 GitLab サービスにアクセスできるようになります。詳細については、「マネージドセキュリティグループ」をご参照ください。
-
これはシステム管理の読み取り専用セキュリティグループです。変更することはできません。このセキュリティグループは、すべてのインバウンドトラフィックを拒否し、GitLab や Maven リポジトリのプライベートエンドポイントなど、指定されたエンドポイントへのアウトバウンドトラフィックのみを許可します。
-
Container Registry ビルドインスタンスは、このマネージドセキュリティグループと、指定した VSwitch にアタッチされた Elastic Network Interface (ENI) を使用して、自己管理の GitLab サービスにアクセスします。
ステップ 1:リンクの管理
-
Container Registry コンソールにログインします。
-
上部のナビゲーションバーで、リージョンを選択します。
-
左側のナビゲーションウィンドウで、インスタンス を選択します。
-
インスタンス ページで、対象の Enterprise Edition インスタンスをクリックします。
-
概要 ページで、 を選択します。
-
コードソース ページで、GitLab を探し、リンクの管理 を 操作 列でクリックします。
-
リンクの管理 ダイアログボックスで、VPC アクセスリンクのパラメーターを設定し、作成 をクリックします。
表 1. VPC アクセスリンク作成のパラメーター
パラメーター
説明
GitLab プライベート IP アドレス
自己管理の GitLab ソースコードリポジトリのプライベートエンドポイント。
許可の必要があるその他の IP アドレス
ホワイトリストに追加する他のプライベートエンドポイントを入力します。
既存の VPC
「前提条件」セクションで準備した VPC を選択します。
Vswitch
「前提条件」セクションで準備した VSwitch を選択します。
ステップ 2:GitLab のバインド
-
コードソース ページで、 GitLab を見つけ、操作 列の アカウントのバインド をクリックします。
-
プライベート GitLab ダイアログボックスで、GitLab ソースコードリポジトリを連携させるためのパラメーターを設定し、OK をクリックします。
表 2. VPC ベースのソースコードリポジトリをバインドするためのパラメーター
パラメーター
説明
ネットワークタイプ
VPC を選択します。
リンク情報
ステップ 1:リンクの管理 で作成したリンクを選択します。
URL
VPC 内の GitLab インスタンスのログインエンドポイントを入力します。
-
プライベート GitLab を使用する場合は、そのログインエンドポイントを入力します。
-
パブリック GitLab を使用する場合は、そのログインエンドポイントを入力します。
ユーザー名
GitLab アカウントのユーザー名。
プライベートトークン
ご利用のパーソナルアクセストークン。トークンの作成方法については、「ソースコードホスティングプラットフォームのバインド」をご参照ください。
GitLab の [ステータスバー] に バインド済み と表示されている場合、VPC ソースコードリポジトリは正常にバインドされています。
-
ステップ 3:イメージのビルド
VPC セキュアビルドモードを使用する場合、[中国本土以外のサーバーでビルド] オプションを無効にする必要があります。
ソースコードリポジトリをバインドした後、イメージをビルドできます。詳細については、「Enterprise Edition インスタンスを使用したイメージのビルド」をご参照ください。