Red Hat Training

A Red Hat training course is available for RHEL 8

7.5. Image Builder を使用したクラウドイメージの準備とアップロード

Image Builder は、さまざまなクラウドプラットフォームですぐに使用できるカスタムシステムイメージを作成できます。カスタマイズした RHEL システムイメージをクラウドで使用するには、各出力タイプを使用して Image Builder でシステムイメージを作成し、イメージをアップロードするようにシステムを設定し、クラウドアカウントへイメージをアップロードします。RHEL Web コンソールの image builder アプリケーションを介して、カスタマイズされたイメージクラウドをプッシュできます。これは、AWSMicrosoft Azure クラウドなど、サポートされているサービスプロバイダーのサブセットで利用できます。イメージを AWS クラウド AMI にプッシュする および VHD イメージを Microsoft Azure クラウドにプッシュするを 参照してください。

7.5.1. AWS AMI イメージのアップロードの準備

AWS AMI イメージをアップロードする前に、イメージをアップロードするためのシステムを設定する必要があります。

前提条件

手順

  1. Python 3 および pip ツールをインストールします。

    # yum install python3
    # yum install python3-pip
  2. pipAWS コマンドラインツール をインストールします。

    # pip3 install awscli
  3. 以下のコマンドを実行してプロファイルを設定します。ターミナルで、認証情報、リージョン、および出力形式を指定するように求められます。

    $ aws configure
    AWS Access Key ID [None]:
    AWS Secret Access Key [None]:
    Default region name [None]:
    Default output format [None]:
  4. バケット名を定義し、以下のコマンドを使用してバケットを作成します。

    $ BUCKET=bucketname
    $ aws s3 mb s3://$BUCKET

    bucketname は、バケット名に置き換えます。この名前は、グローバルで一意となるように指定する必要があります。上記で、バケットが作成されます。

  5. S3 バケットへのアクセス許可を付与するには、AWS Identity and Access Management (IAM) で vmimport S3 ロールを作成します (まだ作成していない場合)。

    $ printf '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "vmie.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals":{ "sts:Externalid": "vmimport" } } } ] }' > trust-policy.json
    $ printf '{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket" ], "Resource":[ "arn:aws:s3:::%s", "arn:aws:s3:::%s/*" ] }, { "Effect":"Allow", "Action":[ "ec2:ModifySnapshotAttribute", "ec2:CopySnapshot", "ec2:RegisterImage", "ec2:Describe*" ], "Resource":"*" } ] }' $BUCKET $BUCKET > role-policy.json
    $ aws iam create-role --role-name vmimport --assume-role-policy-document file://trust-policy.json
    $ aws iam put-role-policy --role-name vmimport --policy-name vmimport --policy-document file://role-policy.json

7.5.2. CLI を使用して AMI イメージを AWS にアップロードする

Image Builder を使用して ami イメージを構築し、CLI を使用してそれらを Amazon AWS Cloud サービスプロバイダーに直接プッシュできます。

前提条件

  • AWS IAM アカウントマネージャーに Access Key ID を設定している。
  • 書き込み可能な S3 バケット を準備している。
  • 定義済みの青写真がある。

手順

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

    provider = "aws"
    
    [settings]
    accessKeyID = "AWS_ACCESS_KEY_ID"
    secretAccessKey = "AWS_SECRET_ACCESS_KEY"
    bucket = "AWS_BUCKET"
    region = "AWS_REGION"
    key = "IMAGE_KEY"

    フィールドの値を accessKeyIDsecretAccessKeybucket、および region の認証情報に置き換えます。IMAGE_KEY 値は、EC2 にアップロードされる VM イメージの名前です。

  2. ファイルを CONFIGURATION-FILE.toml として保存し、テキストエディターを閉じます。
  3. Compose を起動します。

    # composer-cli compose start BLUEPRINT-NAME IMAGE-TYPE IMAGE_KEY CONFIGURATION-FILE.toml

    以下を置き換えます。

    • BLUEPRINT-NAME は作成したブループリントの名前です。
    • IMAGE-TYPEami イメージタイプ。
    • EC2 にアップロードする VM イメージの名前を含む IMAGE_KEY
    • クラウドプロバイダーの設定ファイルの名前を持つ CONFIGURATION-FILE.toml。

      注記

      カスタマイズイメージを送信するバケットの正しい IAM 設定が必要です。イメージをアップロードする前にバケットにポリシーを設定しておく必要があります。

  4. イメージビルドのステータスを確認し、AWS にアップロードします。

    # composer-cli compose status

    イメージのアップロードプロセスが完了すると、FINISHED ステータスが表示されます。

検証

イメージのアップロードが成功したことを確認するには、以下を行います。

  1. メニューで EC2 にアクセスし、AWS コンソールで正しいリージョンを選択します。イメージが正常にアップロードされたことを示すには、イメージが available ステータスになっている必要があります。
  2. ダッシュボードでイメージを選択し、Launch をクリックします。

7.5.3. イメージの AWS Cloud AMI へのプッシュ

作成した出力イメージを Amazon AWS Cloud AMI サービスプロバイダーに直接プッシュできます。

前提条件

手順

  1. ブループリント名 をクリックします。
  2. イメージ タブを選択します。
  3. イメージの作成 をクリックして、カスタマイズしたイメージを作成します。

    ポップアップウィンドウが開きます。

    1. Type ドロップダウンメニューから、Amazon Machine Image Disk (.raw) を選択します。
    2. Upload to AWS チェックボックスをチェックして、イメージを AWS Cloud にアップロードし、Next をクリックします。
    3. AWS へのアクセスを認証するには、対応するフィールドに AAWS access key ID および AWS secret access key と入力します。Next をクリックします。

      注記

      新規アクセスキー ID を作成する場合にのみ、AWS シークレットアクセスキーを表示できます。秘密鍵が分からない場合は、新しいアクセスキー ID を生成します。

    4. Image name フィールドにイメージ名を、Amazon S3 bucket name フィールドに Amazon バケット名を入力して、カスタマイズイメージを追加するバケットの AWS region フィールドを入力します。Next をクリックします。
    5. 情報を確認し、Finish をクリックします。

      必要に応じて、戻る をクリックして、誤った情報を変更できます。

      注記

      カスタマイズイメージを送信するバケットの正しい IAM 設定が必要です。この手順では IAM のインポートとエクスポートを使用するため、バケットにイメージをアップロードする前にバケットに ポリシー を設定する必要があります。詳細は、IAM ユーザーの必要なパーミッション を参照してください。

  4. 右上の小さなポップアップで、保存の進行状況が通知されます。また、イメージの作成、イメージ作成の進捗、およびそれ以降の AWS Cloud にアップロードに関する情報も通知されます。

    プロセスが完了すると、Image build complete のステータスが表示されます。

  5. メニューで Service→EC2 をクリックし、AWS コンソールで 正しいリージョン を選択します。イメージのステータスは、アップロードされていることを示す Available でなければなりません。
  6. ダッシュボードでイメージを選択し、Launch をクリックします。
  7. 新しいウィンドウが開きます。イメージを開始するために必要なリソースに応じて、インスタンスタイプを選択します。Review and Launch をクリックします。
  8. インスタンスの開始の詳細を確認します。変更が必要な場合は、各セクションを編集できます。Launch をクリックします。
  9. インスタンスを起動する前に、インスタンスにアクセスするための公開鍵を選択します。

    既存のキーペアを使用するか、キーペアーを新規作成します。Image Builder を使用して、既存の公開鍵でイメージにユーザーを追加します。詳細は SSH キーを使用したユーザーアカウントの作成 を参照してください。

    次の手順に従って、EC2 で新規キーペアを作成し、新規インスタンスにアタッチします。

    1. ドロップダウンメニューリストから、Create a new key pair を選択します。
    2. 新しいキーペアに名前を入力します。新しいキーペアが生成されます。
    3. Download Key Pair をクリックして、新しいキーペアをローカルシステムに保存します。
  10. 次に、Launch Instance をクリックしてインスタンスを起動できます。

    Initializing と表示されるインスタンスのステータスを確認できます。

  11. インスタンスのステータスが running になると、Connect ボタンが有効になります。
  12. Connect をクリックします。ポップアップウィンドウが表示され、SSH を使用して接続する方法の説明が表示されます。

    1. 優先する接続方法として スタンドアロン SSH クライアント を選択し、ターミナルを開きます。
    2. 秘密鍵を保存する場所で、SSH が機能するために鍵が公開されていることを確認してください。これには、以下のコマンドを実行します。

      $ chmod 400 <your-instance-name.pem>_
    3. パブリック DNS を使用してインスタンスに接続します。

      $ ssh -i "<_your-instance-name.pem_"> ec2-user@<_your-instance-IP-address_>
    4. yes と入力して、接続の続行を確定します。

      これで、SSH でインスタンスに接続されました。

検証

  1. SSH でインスタンスに接続している間にアクションが実行できるかどうかを確認します。

7.5.4. Microsoft Azure VHD イメージをアップロードする準備をしています

Image Builder を使用して、Microsoft Azure クラウドにアップロードできる VHD イメージを準備できます。

前提条件

  • 使用可能な Microsoft Azure リソースグループとストレージアカウントが必要です。
  • AZ CLI ツールは特に python 2.7 に依存しているため、python2 がインストールされています。

手順

  1. Microsoft リポジトリーキーをインポートします。

    # rpm --import https://packages.microsoft.com/keys/microsoft.asc
  2. ローカルの azure-cli リポジトリー情報を作成します。

    # sh -c 'echo -e "[azure-cli]\nname=Azure CLI\nbaseurl=https://packages.microsoft.com/yumrepos/azure-cli\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/azure-cli.repo'
  3. Microsoft Azure CLI をインストールします。

    # yumdownloader azure-cli
    # rpm -ivh --nodeps azure-cli-2.0.64-1.el7.x86_64.rpm
    注記

    Microsoft Azure CLI パッケージのダウンロードバージョンは、現在利用可能なバージョンによって異なる場合があります。

  4. Microsoft Azure CLI を実行します。

    $ az login

    ターミナルに次のメッセージが表示されます。Note, we have launched a browser for you to login.For old experience with device code, use "az login --use-device-code次に、ターミナルは、ログインできる場所から https://microsoft.com/devicelogin へのリンクのあるブラウザーを開きます。

    注記

    リモート (SSH) セッションを実行している場合、https://microsoft.com/devicelogin リンクはブラウザーで開きません。この場合、リンクをブラウザーにコピーしてログインし、リモートセッションを認証できます。サインインするには、Web ブラウザーを使用してページ https://microsoft.com/devicelogin を開き、デバイスコードを入力して認証します。

  5. Microsoft Azure のストレージアカウントのキーをリスト表示します。

    $ GROUP=resource-group-name
    $ ACCOUNT=storage-account-name
    $ az storage account keys list --resource-group $GROUP --account-name $ACCOUNT

    resource-group-name を Microsoft Azure リソースグループの名前に置き換え、storage-account-name を Microsoft Azure ストレージアカウントの名前に置き換えます。

    注記

    次のコマンドを使用して、使用可能なリソースを一覧表示できます。

    $ az resource list
  6. 上記コマンドの出力の key1 の値を書き留め、それを環境変数に割り当てます。

    $ KEY1=value
  7. ストレージコンテナーを作成します。

    $ CONTAINER=storage-account-name
    $ az storage container create --account-name $ACCOUNT \
    --account-key $KEY1 --name $CONTAINER

    storage-account-name は、ストレージアカウント名に置き換えます。

関連情報

7.5.5. Microsoft Azure クラウドへの VHD イメージのアップロード

カスタマイズした VHD イメージを作成したら、それを Microsoft Azure クラウドにアップロードできます。

前提条件

  • Microsoft Azure VHD イメージをアップロードするには、システムをセットアップする必要があります。Microsoft Azure VHD イメージのアップロードの準備 を参照してください。
  • Image Builder によって作成された Microsoft Azure VHD イメージが必要です。

    • CLI で、vhd 出力タイプを使用します。
    • GUI で、Azure Disk Image (.vhd) イメージタイプを使用します。

      手順

      1. イメージを Microsoft Azure にプッシュし、そこからインスタンスを作成します。

        $ VHD=25ccb8dd-3872-477f-9e3d-c2970cd4bbaf-disk.vhd
        $ az storage blob upload --account-name $ACCOUNT --container-name $CONTAINER --file $VHD --name $VHD --type page
        ...
      2. Microsoft Azure Blob ストレージへのアップロードが完了したら、そこから Microsoft Azure イメージを作成します。

        $ az image create --resource-group $GROUP --name $VHD --os-type linux --location eastus --source https://$ACCOUNT.blob.core.windows.net/$CONTAINER/$VHD
         - Running ...

検証

  1. Microsoft Azure ポータル、または以下のようなコマンドを使用して、インスタンスを作成します。

    $ az vm create --resource-group $GROUP --location eastus --name $VHD --image $VHD --admin-username azure-user --generate-ssh-keys
     - Running ...
  2. 秘密鍵を使用して、SSH 経由で、作成されたインスタンスにアクセスします。azure-user としてログインします。

7.5.6. VMDK イメージのアップロードと vSphere での RHEL 仮想マシンの作成

CLI ツール govc import.vmdk を使用して、VMware vSphere に .vmdk イメージをアップロードします。

注記

UI を介したイメージのアップロードはサポートされていません。

前提条件

  • ユーザー名とパスワードをカスタマイズして、ブループリントを作成しました。
  • Image Builder を使用して、.vmdk イメージを作成し、ホストシステムにダウンロードしました。
  • CLI ツール govc import.vmdk をインストールしました。
  • CLI ツールクライアント govc import.vmdk を設定しました。

    • 環境に次の値を設定する必要があります。

      GOVC_URL
      GOVC_DATACENTER
      GOVC_FOLDER
      GOVC_DATASTORE
      GOVC_RESOURCE_POOL
      GOVC_NETWORK

手順

  1. .vmdk イメージをダウンロードしたディレクトリーに移動します。
  2. 次の手順に従って、vSphere でイメージを起動します。

    1. .vmdk イメージを vSphere にインポートします。

      $ govc import.vmdk ./composer-api.vmdk foldername
    2. 電源をオンにせずに VSphere に仮想マシンを作成します。

      govc vm.create \
      -net.adapter=vmxnet3 \
      -m=4096 -c=2 -g=rhel8_64Guest \
      -firmware=efi -disk=”foldername/composer-api.vmdk” \
      -disk.controller=scsi -on=false \
       vmname
    3. 仮想マシンの電源をオンにします。

      govc vm.power -on vmname
    4. 仮想マシンの IP アドレスを取得します。

      HOST=$(govc vm.ip vmname)
    5. ブループリントで指定したユーザー名とパスワードで、SSH を使用して、VM にログインします。

      $ ssh admin@HOST
      注記

      govc datastore.upload コマンドを使用して、ローカルホストから宛先に .vmdk イメージをコピーした場合、そのイメージの使用はサポートされていません。vSphere GUI で import.vmdk コマンドを使用するオプションがないため、vSphere GUI は直接アップロードをサポートしていません。その結果、vSphere GUI から .vmdk イメージを直接使用することはできません。

7.5.7. Image Builder を使用して GCP にイメージをアップロードする

Image Builder を使用すると、gce イメージを構築し、ユーザーまたは GCP サービスアカウントの認証情報を提供してから、gce イメージを GCP 環境に直接アップロードできます。

7.5.7.1. CLI を使用して GCP に gce イメージをアップロードする

gce イメージを GCP にアップロードするための認証情報を含む設定ファイルをセットアップする手順に従います。

前提条件

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

    • roles/storage.admin - ストレージオブジェクトの作成と削除
    • roles/compute.storageAdmin - VM イメージを Compute Engine にインポートします。
  • 既存の GCP バケットがあります。

手順

  1. テキストエディターを使用して、次の内容で 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 は、GCP からダウンロードされた認証情報 JSON ファイルの Base64 エンコードスキームです。認証情報によって、GCP がイメージをアップロードするプロジェクトが決まります。

      注記

      GCP での認証に別のメカニズムを使用する場合、gcp-config.toml での GCP_CREDENTIALS の指定はオプションです。GCP で認証するさまざまな方法の詳細については、GCP での認証 をご覧ください。

  2. 追加のイメージ名とクラウドプロバイダープロファイルを使用して設定を作成します。

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

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

検証

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

    $ sudo composer-cli compose status

7.5.7.2. GCP による認証

Image Builder でいくつかの異なる種類の認証情報を使用して、GCP で認証できます。複数の認証情報セットを使用して GCP で認証するように Image Builder 設定が設定されている場合、次の優先順位で認証情報が使用されます。

  1. 設定ファイルで composer-cli コマンドで指定された認証情報。
  2. osbuild-composer ワーカー設定で設定された認証情報。
  3. 次のオプションを使用して認証方法を自動的に見つけようとする、Google GCP SDK ライブラリーからのアプリケーションのデフォルト認証情報:

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

      注記

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

7.5.7.2.1. composer-cli コマンドで認証情報を指定する

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

手順

  • 提供されたアップロードターゲット設定 gcp-config.toml で、認証情報を設定します。

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

    $ base64 -w 0 "${GOOGLE_APPLICATION_CREDENTIALS}"
7.5.7.2.2. osbuild-composer ワーカー設定で認証情報を指定する

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

手順

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

    [gcp]
    credentials = "PATH_TO_GCP_ACCOUNT_CREDENTIALS"

7.5.8. GUI イメージビルダーツールを使用して VMDK イメージを vSphere にプッシュする

GUI イメージビルダーツールを使用して VMware イメージを構築し、そのイメージを直接 vSphere インスタンスにプッシュすることで、イメージファイルをダウンロードして手動でプッシュする必要がなくなります。Image Builder を使用して直接 vSphere インスタンスサービスプロバイダーに .vmdk イメージを作成するには、次の手順に従います。

前提条件

手順

  1. 作成したブループリントの Images タブをクリックします。
  2. イメージの作成 をクリックして、カスタマイズしたイメージを作成します。

    イメージタイプウィンドウが開きます。

  3. Image type ウィンドウで、以下を実行します。

    1. ドロップダウンメニューから、Type を選択します。VMware VSphere (.vmdk).
    2. Upload to VMware チェックボックスをチェックして、イメージを vSphere にアップロードします。
    3. オプション: インスタンス化するイメージのサイズを設定します。最小のデフォルトサイズは 2 GB です。
    4. Next をクリックします。
  4. Upload to VMware ウィンドウの Authentication の下に以下の情報を入力します。

    1. ユーザー名: vSphere アカウントのユーザー名。
    2. パスワード: vSphere アカウントのパスワード。
  5. Upload to VMware ウィンドウの Destination の下に以下の情報を入力します。

    1. イメージ名: アップロードするイメージの名前。
    2. Host:イメージをアップロードする VMware vSphere の URL。
    3. Cluster:イメージをアップロードするクラスターの名前。
    4. Data center:イメージがアップロードされるデータセンターの名前。
    5. データストア: イメージをアップロードするデータストアの名前。
    6. Next をクリックします。
  6. 確認 ウィンドウで、イメージ作成の詳細を確認し、Finish をクリックします。

    Back をクリックして、誤った情報を変更できます。

    Image Builder は、RHEL vSphere イメージの Compose をキューに追加し、指定した vSphere インスタンスのクラスターにイメージを作成してアップロードします。

    注記

    イメージビルドおよびアップロードプロセスの完了には数分かかります。

    プロセスが完了すると、Image build complete のステータスが表示されます。

検証

イメージステータスのアップロードが正常に完了したら、アップロードしたイメージから仮想マシン (VM) を作成し、ログインできます。これを行うには、以下を行います。

  1. VMware vSphere クライアントにアクセスします。
  2. 指定した vSphere インスタンスのクラスターでイメージを検索します。
  3. アップロードしたイメージから新しい仮想マシンを作成できます。

    1. アップロードしたイメージを選択します。
    2. 選択したイメージを右クリックします。
    3. New Virtual Machine をクリックします。

      New Virtual Machine ウィンドウが開きます。

      New Virtual Machine ウィンドウで、以下の詳細を指定します。

      1. New Virtual Machine を選択します。
      2. VM の名前とフォルダーを選択します。
      3. コンピューターリソースの選択: この操作の宛先コンピューターリソースを選択します
      4. ストレージを選択:たとえば、NFS-Node1 を選択します。
      5. 互換性を選択:イメージは BIOS のみである必要があります。
      6. ゲストオペレーティングシステムを選択します。たとえば、Linux および Red Hat Fedora (64-bit) を選択します。
      7. ハードウェアのカスタマイズ:VM を作成するとき、右上の デバイス設定 ボタンで、デフォルトの 新しいハードディスクを削除し、ドロップダウンを使用して 既存のハードディスクディスクイメージを選択します。
      8. 完了する準備ができました:詳細を確認し、Finish をクリックしてイメージを作成します。
    4. VMs タブに移動します。

      1. リストから、作成した仮想マシンを選択します。
      2. パネルから Start ボタンをクリックします。仮想マシンイメージを読み込み中であることを示す新しいウィンドウが表示されます。
      3. ブループリント用に作成した認証情報を使用してログインします。
      4. ブループリントに追加したパッケージがインストールされていることを確認できます。以下に例を示します。

        $ rpm -qa | grep firefox

7.5.9. GUI イメージビルダーツールを使用して VHD イメージを Microsoft Azure クラウドにプッシュする

Image Builder を使用して .vhd イメージを作成できます。次に、.vhd イメージを Microsoft Azure クラウドサービスプロバイダーの Blob Storage にプッシュできます。

前提条件

手順

  1. blueprint name については、Images タブをクリックします。
  2. イメージの作成 をクリックして、カスタマイズしたイメージを作成します。

    ポップアップウィンドウが開きます。

    1. Type ドロップダウンメニューから、Azure Disk Image(.vhd) イメージを選択します。
    2. Upload to Microsoft Azure チェックボックスをチェックして、イメージを Microsoft Azure Cloud にアップロードし、Next をクリックします。
    3. Microsoft Azure へのアクセスを認証するには、対応するフィールドにストレージアカウントとストレージアクセスキーを入力します。Next をクリックします。

      Microsoft ストレージアカウントの詳細 は、Settings → Access Key menu list で確認できます。

    4. アップロードするイメージファイルに使用する イメージ名 と、イメージのプッシュ先のイメージファイルに使用する Blob のストレージコンテナーを入力します。Next をクリックします。
    5. 指定した情報を確認し、Finish をクリックします。

      必要に応じて、戻る をクリックして、誤った情報を変更できます。

  3. イメージ作成プロセスが開始されると、右上に小さなポップアップが表示され、次のメッセージが表示されます。Image creation has been added to the queue.

    イメージプロセスの作成が完了したら、イメージを作成した Blueprint をクリックします。images タブで、作成したイメージの イメージビルドの完了 ステータスを確認できます。

  4. Microsoft Azure Cloud にプッシュしたイメージにアクセスするには、Microsoft Azure Portal にアクセスします。
  5. 検索バーで Images と入力して、Services の下にある最初のエントリーを選択します。Image Dashboard にリダイレクトされます。
  6. Add をクリックします。Create an Image ダッシュボードにリダイレクトされます。

    以下の情報を追加します。

    1. 名前:新しいイメージの名前を選択します。
    2. リソースグループ:リソースグループ を選択します。
    3. 場所:ストレージアカウントに割り当てられたリージョンと一致する 場所 を選択します。それ以外の場合は、Blob を選択できません。
    4. OS タイプ:オペレーティングシステムの種類を Linux に設定します。
    5. VM Generation:仮想マシンの生成は Gen 1 に設定したままにします。
    6. Storage Blob:Storage blob input の右側にある 参照 をクリックします。ダイアログを使用して、先ほどアップロードしたイメージを見つけます。

      その他のフィールドはデフォルトのままにしておきます。

  7. 作成 をクリックしてイメージを作成します。イメージが作成されたら、右上隅に Successfully created image というメッセージが表示されます。
  8. Refresh をクリックして、新しく作成したイメージを表示し、開きます。
  9. + Create VM をクリックします。Create a virtual machine ダッシュボードにリダイレクトされます。
  10. Basic タブの Project Details で、SubscriptionResource Group がすでに事前設定されています。

    新しい Resource Group を作成する場合:

    1. Create new をクリックします。

      ポップアップで、リソースグループ名 のコンテナーの作成が求められます。

    2. 名前を入力して OK をクリックします。

      事前に設定された リソースグループ をそのまま使用する場合は、以下を行います。

  11. インスタンスの詳細 で、次のように入力します。

    1. Virtual machine name
    2. Region
    3. イメージ:作成したイメージがデフォルトで事前に選択されています。
    4. サイズ:必要に応じて仮想マシンのサイズを選択します。

      残りのフィールドはデフォルトのままにします。

  12. Administrator account に、以下の情報を入力します。

    1. username: アカウント管理者の名前。
    2. SSH Public Key source: ドロップダウンメニューから、Generate new key pair を選択します。

      既存のキーペアを使用するか、キーペアーを新規作成します。Image Builder を使用して、既存の公開鍵でイメージにユーザーを追加します。詳細は、SSH 鍵を持つユーザーアカウントの作成 を参照してください。

    3. key pair name: キーペアの名前を挿入します。
  13. 受信ポートのルール で、各フィールドの値を選択します。

    1. Public inbound ports:Allow selected ports.
    2. Select inbound ports:デフォルト設定 SSH (22) を使用します。
  14. Review + Create をクリックします。Review + create タブにリダイレクトされ、検証が正常に終了した旨の確認メッセージが表示されます。
  15. 詳細を確認して Create をクリックします。

    オプションで Previous をクリックして、以前に選択したオプションを修正できます。

  16. 新しい鍵ペアを生成する ウィンドウが開きます。Download private key and create resources をクリックします。

    yourKey.pem として鍵ファイルを保存します。

  17. デプロイメントが完了したら、Go to resource をクリックします。
  18. 実際の仮想マシンの詳細を含む新規ウィンドウに、リダイレクトされます。ページの右上にあるパブリック IP アドレスを選択してクリップボードにコピーします。

次に、仮想マシンとの SSH 接続を作成して、仮想マシンに接続します。

  1. 端末を開きます。
  2. プロンプトで、VM への SSH 接続を開きます。IP アドレスは、仮想マシンの IP アドレスに、.pem へのパスは、キーファイルのダウンロード先のパスに置き換えます。

    # ssh -i ./Downloads/yourKey.pem azureuser@10.111.12.123
  3. 接続を続行するには確定する必要があります。続行するには yes と入力します。

上記の作業の結果、Microsoft Azure Storage Blob にプッシュした出力イメージをプロビジョニングする準備が整いました。

7.5.10. OpenStack への QCOW2 イメージのアップロード

Image Builder ツールを使用すると、OpenStack クラウドデプロイメントにアップロードしてそこでインスタンスを開始するのに適した、カスタマイズされた .qcow2 イメージを作成できます。

警告

Image Builder を OpenStack イメージタイプで使用して作成する一般的な QCOW2 イメージタイプの出力フォーマットを間違えないでください。これも QCOW2 フォーマットですが、OpenStack に固有の変更がさらに含まれています。

前提条件

  • ブループリントを作成している。
  • Image Builder を使用して QCOW2 イメージを作成しました。詳細は、

手順

  1. QCOW2 イメージの作成を開始します。

    # composer-cli compose start blueprint_name openstack
  2. ビルドの状態を確認します。

    # composer-cli compose status

    イメージのビルドが完了したら、イメージをダウンロードできます。

  3. QCOW2 イメージをダウンロードします。

    # composer-cli compose image UUID
  4. OpenStack ダッシュボードにアクセスし、+Create Image をクリックします。
  5. 左側のメニューで、Admin タブを選択します。

    1. System Panel から Image をクリックします。

      Create An Image ウィザードが開きます。

  6. Create An Image ウィザードで、以下を行います。

    1. イメージの名前を入力します。
    2. Browse をクリックして QCOW2 イメージをアップロードします。
    3. Format ドロップダウンリストから、QCOW2 - QEMU Emulator を選択します。
    4. Create Image をクリックします。

      composer openstack upload image

  7. 左側のメニューで Project タブを選択します。

    1. Compute メニューから Instances を選択します。
    2. Launch Instance ボタンをクリックします。

      インスタンスの Launch Instance が開きます。

    3. Details ページで、インスタンスの名前を入力します。Next をクリックします。
    4. Source ページで、アップロードしたイメージの名前を選択します。Next をクリックします。
    5. Flavor ページで、ニーズに最適なマシンリソースを選択します。Launch をクリックします。

      composer openstack start instance

  8. イメージから任意のメカニズム (CLI または OpenStack Web UI) を使用して、イメージインスタンスを実行できます。秘密鍵を使用して、SSH 経由で、作成されたインスタンスにアクセスします。cloud-user としてログインします。

7.5.11. カスタマイズされた RHEL イメージを Alibaba にアップロードする準備

カスタマイズされた RHEL イメージを Alibaba Cloud にデプロイするには、まずカスタマイズされたイメージを検証する必要があります。Alibaba Cloud は、イメージを使用する前に特定の要件を満たすようにカスタムイメージを要求するため、イメージが正常に起動するように特別な設定が必要になります。

注記

Image Builder は、Alibaba の要件に準拠するイメージを生成します。ただし、Red Hat は、Alibaba image_check ツール を使用して、イメージのフォーマット準拠を確認することも推奨します。

前提条件

  • Image Builder を使用して Alibaba イメージを作成しておく。

手順

  1. Alibaba image_check ツール を使用して、チェックするイメージを含むシステムに接続します。
  2. image_check ツールをダウンロードします。

    $ curl -O http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/73848/cn_zh/1557459863884/image_check
  3. イメージのコンプライアンスツールのファイルパーミッションを変更します。

    # chmod +x image_check
  4. 次のコマンドを実行して、イメージコンプライアンスツールのチェックを起動します。

    # ./image_check

    このツールは、システム設定を検証し、画面に表示されるレポートを生成します。image_check ツールは、イメージのコンプライアンスツールが実行しているフォルダーにこのレポートを保存します。

トラブルシューティング

いずれかの 検出項目 が失敗した場合は、ターミナルの指示に従って修正してください。リンクを参照してください。Detection items section.

関連情報

7.5.12. カスタマイズされた RHEL イメージを Alibaba にアップロードする

Image Builder を使用して作成したカスタマイズされた AMI イメージを Object Storage Service (OSS) にアップロードできます。

前提条件

手順

  1. OSS コンソール にログインします。
  2. 左側のバケットメニューで、イメージをアップロードするバケットを選択します。
  3. 右上のメニューで、Files タブをクリックします。
  4. Upload をクリックします。右側のダイアログウィンドウが開きます。以下を設定します。

    • アップロード先:これを選択すると、現在 のディレクトリーまたは 指定した ディレクトリーにファイルをアップロードします。
    • ファイル ACL:アップロードしたファイルのパーミッションのタイプを選択します。
  5. Upload をクリックします。
  6. アップロードするイメージを選択します。
  7. Open をクリックします。

その結果、カスタマイズされた AMI イメージが OSS コンソールにアップロードされます。

7.5.13. イメージの Alibaba へのインポート

Image Builder を使用して作成したカスタマイズされた Alibaba RHEL イメージを Elastic Cloud Console (ECS) にインポートするには、次の手順に従います。

前提条件

手順

  1. ECS コンソール にログインします。

    1. 左側のメニューで、images をクリックします。
    2. 右上にある Import Image をクリックします。ダイアログウィンドウが開きます。
    3. イメージが含まれる正しいリージョンを設定していることを確認します。以下の情報を入力します。

      1. OSS Object Address:OSS Object Address の取得方法を参照してください。
      2. Image Name
      3. オペレーティングシステム
      4. System Disk Size
      5. システムアーキテクチャー
      6. プラットフォーム:Red Hat
    4. 必要に応じて、以下の情報を指定します。

      1. Image Format - アップロードしたイメージの形式に応じて qcow2 または ami
      2. Image Description
      3. Add Images of Data Disks

        アドレスは、OSS 管理コンソールで確認できます。左側のメニューで必要なバケットを選択した後:

  2. Files セクションを選択します。
  3. 適切なイメージの右側にある Details リンクをクリックします。

    画面右側にウィンドウが表示され、イメージの詳細が表示されます。OSS オブジェクトアドレスは URL ボックスにあります。

  4. OK をクリックします。

    注記

    インポートプロセスの時間は、イメージのサイズによって異なります。

カスタマイズされたイメージが ECS コンソールにインポートされます。

7.5.14. Alibaba を使用してカスタマイズされた RHEL イメージのインスタンスを作成する

Alibaba ECS Console を使用して、カスタマイズされた RHEL イメージのインスタンスを作成できます。

前提条件

  • OSS をアクティベートして、カスタムイメージをアップロードしている。
  • イメージを ECS コンソールに正常にインポートしている。Alibaba へのイメージのインポート を参照してください。

手順

  1. ECS コンソール にログインします。
  2. 左側のメニューで、インスタンス を選択します。
  3. 右上隅にある インスタンスの作成 をクリックします。新しいウィンドウにリダイレクトされます。
  4. 必要な情報をすべて完了します。詳細は、Creating an instance by using the wizard を参照してください。
  5. Create Instance をクリックして、順番を確認します。

    注記

    サブスクリプションによっては、Create Instance ではなく Create Order が表示されます。

その結果、アクティブなインスタンスを Alibaba ECS Console からデプロイする準備が整いました。