13.3. カスタム GCE イメージの準備と Google Cloud へのアップロード


RHEL Image Builder を使用すると、カスタムイメージを作成し、それを Google Cloud インスタンスに自動的に更新できます。

13.3.1. RHEL Image Builder を使用してイメージを Google Cloud にアップロードする

RHEL Image Builder を使用すると、GCE イメージを作成し、ユーザーまたは Google Cloud サービスアカウントの認証情報を提供して、GCE イメージを Google Cloud 環境に直接アップロードできます。

13.3.1.1. CLI を使用して gce イメージを設定して Google Cloud にアップロードする

RHEL Image BuilderCLI を使用して、GCE イメージを Google Cloud にアップロードするための認証情報を含む設定ファイルを設定します。

警告

イメージが起動しなくなるため、gce イメージを Google Cloud に手動でインポートすることはできません。アップロードするには、gcloud または RHEL Image Builder を使用する必要があります。

前提条件

  • イメージを Google Cloud にアップロードするための有効な Google アカウントと認証情報がある。認証情報は、ユーザーアカウントまたはサービスアカウントから取得できます。認証情報に関連付けられたアカウントには、少なくとも次の IAM ロールが割り当てられている必要があります。

    • roles/storage.admin - ストレージオブジェクトの作成と削除
    • roles/compute.storageAdmin - 仮想マシンイメージの Compute Engine へのインポート
  • 既存の Google Cloud バケットがある。

手順

  1. テキストエディターを使用して、次の内容の gcp-config.toml 設定ファイルを作成します。

    provider = "gcp"
    [settings]
    bucket = "GOOGLE_CLOUD_BUCKET"
    region = "GOOGLE_CLOUD_STORAGE_REGION"
    object = "OBJECT_KEY"
    credentials = "GOOGLE_CLOUD_CREDENTIALS"
    • GOOGLE_CLOUD_BUCKET は 既存のバケットを指しています。アップロード中のイメージの中間ストレージオブジェクトを格納するために使用されます。
    • GOOGLE_CLOUD_STORAGE_REGION は、通常の Google ストレージリージョンと、デュアルまたはマルチリージョンの両方です。
    • OBJECT_KEY は、中間ストレージオブジェクトの名前です。アップロード前に存在してはならず、アップロードプロセスが完了すると削除されます。オブジェクト名が .tar.gz で終わらない場合、拡張子がオブジェクト名に自動的に追加されます。
    • GOOGLE_CLOUD_CREDENTIALS は、Google Cloud からダウンロードした認証情報 JSON ファイルを Base64 エンコードしたものです。認証情報によって、Google Cloud がイメージをアップロードするプロジェクトが決まります。

      注記

      Google Cloud との認証に別のメカニズムを使用する場合は、gcp-config.toml ファイルで GOOGLE_CLOUD_CREDENTIALS を 指定する必要はありません。その他の認証方法は、Authenticating with Google Cloud を参照してください。

  2. Google Cloud からダウンロードした JSON ファイルから GOOGLE_CLOUD_CREDENTIALS を取得します。

    $ sudo base64 -w 0 cee-gcp-nasa-476a1fa485b7.json
  3. 追加のイメージ名とクラウドプロバイダープロファイルを使用して Compose を作成します。

    $ sudo composer-cli compose start BLUEPRINT-NAME gce IMAGE_KEY gcp-config.toml

    イメージビルド、アップロード、およびクラウド登録プロセスは、完了に最大 10 分かかる場合があります。

検証

  • イメージのステータスが FINISHED であることを確認します。

    $ sudo composer-cli compose status

13.3.1.2. RHEL Image Builder によるさまざまな Google Cloud 認証情報の認証順序の並べ替え

RHEL Image Builder では、Google Cloud への認証に複数の異なる種類の認証情報を使用できます。RHEL Image Builder の設定で、複数の認証情報を使用して Google Cloud で認証するように設定されている場合、認証情報は次の優先順位で使用されます。

  1. 設定ファイルで composer-cli コマンドで指定された認証情報。
  2. osbuild-composer ワーカー設定で設定された認証情報。
  3. Google Cloud SDK ライブラリーの Application Default Credentials。これは、次の選択肢を使用して認証方法の自動検出を試みます。

    1. GOOGLE_APPLICATION_CREDENTIALS 環境変数が設定されている場合、Application Default Credentials は、変数が指すファイルから認証情報を読み込んで使用しようとします。
    2. Application Default Credentials は、コードを実行しているリソースに関連付けられたサービスアカウントを使用して認証を試みます。たとえば、Google Compute Engine 仮想マシンです。

      注記

      イメージをアップロードする Google Cloud プロジェクトを決定するには、Google Cloud 認証情報を使用する必要があります。したがって、すべてのイメージを同じ Google Cloud プロジェクトにアップロードする場合を除き、常に composer-cli コマンドを使用して gcp-config.toml 設定ファイルで認証情報を指定する必要があります。

13.3.1.2.1. composer-cli コマンドで Google Cloud の認証情報を指定する

アップロード対象の設定ファイルである gcp-config.toml に、Google Cloud の認証情報を指定できます。時間を節約するために、Google アカウント認証情報の JSON ファイルの Base64 エンコードスキームを使用します。

手順

  1. GOOGLE_APPLICATION_CREDENTIALS 環境変数に保存されているパスを使用して、Google アカウント認証情報ファイルのエンコードされたコンテンツを取得するには、次のコマンドを実行します。

    $ base64 -w 0 "${GOOGLE_APPLICATION_CREDENTIALS}"
  2. アップロードターゲット設定の gcp-config.toml ファイルで、認証情報を設定します。

    provider = "gcp"
    
    [settings]
    provider = "gcp"
    
    [settings]
    credentials = "GOOGLE_CLOUD_CREDENTIALS"
13.3.1.2.2. osbuild-composer ワーカー設定で認証情報を指定する

Google Cloud の認証情報を、すべてのイメージビルドでグローバルに使用するように設定できます。こうすることで、同じ Google Cloud プロジェクトにイメージをインポートする場合、Google Cloud へのすべてのイメージアップロードに同じ認証情報を使用できます。

手順

  • /etc/osbuild-worker/osbuild-worker.toml ワーカー設定で、次の認証情報の値を設定します。

    [gcp]
    credentials = "PATH_TO_GOOGLE_CLOUD_ACCOUNT_CREDENTIALS"
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る