第18章 カスタム GCE イメージの準備と Google Cloud へのアップロード
RHEL Image Builder を使用すると、gce イメージをビルドし、ユーザーまたは GCP サービスアカウントの認証情報を指定して、gce イメージを GCP 環境に直接アップロードできます。
18.1. CLI を使用して gce イメージを設定して Google Cloud にアップロードする リンクのコピーリンクがクリップボードにコピーされました!
RHEL Image Builder CLI を使用して、gce イメージを GCP にアップロードするための認証情報を含む設定ファイルを設定します。
イメージは起動しないため、gce イメージを Google Cloud に手動でインポートすることはできません。アップロードするには、gcloud または RHEL Image Builder を使用する必要があります。
前提条件
イメージを Google Cloud にアップロードするための有効な Google アカウントと認証情報がある。認証情報は、ユーザーアカウントまたはサービスアカウントから取得できます。認証情報に関連付けられたアカウントには、少なくとも次の IAM ロールが割り当てられている必要があります。
-
roles/storage.admin- ストレージオブジェクトの作成と削除 -
roles/compute.storageAdmin- 仮想マシンイメージの Compute Engine へのインポート
-
- 既存の Google Cloud バケットがある。
手順
テキストエディターを使用して、次の内容の
gcp-config.toml設定ファイルを作成します。provider = "gcp" [settings] bucket = "<gcp_bucket>" region = "<gcp_storage_region>" object = "<object_key>" credentials = "<gcp_credentials>"-
<gcp_bucket>には既存のバケットを指定します。このフィールドには、アップロードされるイメージの中間ストレージオブジェクトが格納されます。 -
<gcp_storage_region>は、通常の Google ストレージリージョンであり、デュアルまたはマルチリージョンです。 -
<object_key>は中間ストレージオブジェクトの名前です。これは、アップロード前に存在してはならず、アップロード処理が完了すると削除されます。オブジェクト名が.tar.gzで終わらない場合、オブジェクト名に自動的に拡張子が追加されます。 <gcp_credentials>は、Google Cloud からダウンロードした認証情報 JSON ファイルのBase64エンコードされたスキームです。認証情報によって、Google Cloud がイメージをアップロードするプロジェクトが決まります。注記Google Cloud での認証に別のメカニズムを使用する場合、
gcp-config.tomlファイルでの<gcp_credentials>の指定は任意です。その他の認証方法は、Authenticating with Google Cloud を参照してください。
-
Google Cloud からダウンロードした JSON ファイルから
<gcp_credentials>を取得します。$ sudo base64 -w 0 cee-gcp-nasa-476a1fa485b7.json追加のイメージ名とクラウドプロバイダープロファイルを使用して Compose を作成します。
$ sudo image-builder build gce --blueprint <blueprint_name> <image_key> gcp-config.tomlイメージビルド、アップロード、およびクラウド登録プロセスは、完了に最大 10 分かかる場合があります。
検証
イメージのステータスが FINISHED であることを確認します。
$ sudo image-builder compose status