7.5. Image Builder を使用したクラウドイメージの準備とアップロード
Image Builder は、さまざまなクラウドプラットフォームですぐに使用できるカスタムシステムイメージを作成できます。カスタマイズした RHEL システムイメージをクラウドで使用するには、各出力タイプを使用して Image Builder でシステムイメージを作成し、イメージをアップロードするようにシステムを設定し、クラウドアカウントへイメージをアップロードします。RHEL Web コンソールの image builder
アプリケーションを介して、カスタマイズされたイメージクラウドをプッシュできます。これは、AWS や Microsoft Azure クラウドなど、サポートされているサービスプロバイダーのサブセットで利用できます。イメージを AWS クラウド AMI にプッシュする および VHD イメージを Microsoft Azure クラウドにプッシュするを 参照してください。
7.5.1. AWS AMI イメージのアップロードの準備
AWS AMI イメージをアップロードする前に、イメージをアップロードするためのシステムを設定する必要があります。
前提条件
- AWS IAM アカウントマネージャー にアクセスキー ID を設定している。
- 書き込み可能な S3 バケット を準備している。
手順
Python 3 および
pip
ツールをインストールします。# yum install python3 # yum install python3-pip
pip で
AWS コマンドラインツール
をインストールします。# pip3 install awscli
以下のコマンドを実行してプロファイルを設定します。ターミナルで、認証情報、リージョン、および出力形式を指定するように求められます。
$ aws configure AWS Access Key ID [None]: AWS Secret Access Key [None]: Default region name [None]: Default output format [None]:
バケット名を定義し、以下のコマンドを使用してバケットを作成します。
$ BUCKET=bucketname $ aws s3 mb s3://$BUCKET
bucketname は、バケット名に置き換えます。この名前は、グローバルで一意となるように指定する必要があります。上記で、バケットが作成されます。
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 サービスプロバイダーに直接プッシュできます。
手順
テキストエディターを使用して、次の内容の設定ファイルを作成します。
provider = "aws" [settings] accessKeyID = "AWS_ACCESS_KEY_ID" secretAccessKey = "AWS_SECRET_ACCESS_KEY" bucket = "AWS_BUCKET" region = "AWS_REGION" key = "IMAGE_KEY"
フィールドの値を
accessKeyID
、secretAccessKey
、bucket
、およびregion
の認証情報に置き換えます。IMAGE_KEY
値は、EC2 にアップロードされる VM イメージの名前です。- ファイルを CONFIGURATION-FILE.toml として保存し、テキストエディターを閉じます。
Compose を起動します。
# composer-cli compose start BLUEPRINT-NAME IMAGE-TYPE IMAGE_KEY CONFIGURATION-FILE.toml
以下を置き換えます。
- BLUEPRINT-NAME は作成したブループリントの名前です。
-
IMAGE-TYPEと
ami
イメージタイプ。 - EC2 にアップロードする VM イメージの名前を含む IMAGE_KEY。
クラウドプロバイダーの設定ファイルの名前を持つ CONFIGURATION-FILE.toml。
注記カスタマイズイメージを送信するバケットの正しい IAM 設定が必要です。イメージをアップロードする前にバケットにポリシーを設定しておく必要があります。
イメージビルドのステータスを確認し、AWS にアップロードします。
# composer-cli compose status
イメージのアップロードプロセスが完了すると、FINISHED ステータスが表示されます。
検証
イメージのアップロードが成功したことを確認するには、以下を行います。
-
メニューで EC2 にアクセスし、AWS コンソールで正しいリージョンを選択します。イメージが正常にアップロードされたことを示すには、イメージが
available
ステータスになっている必要があります。 - ダッシュボードでイメージを選択し、 をクリックします。
7.5.3. イメージの AWS Cloud AMI へのプッシュ
作成した出力イメージを Amazon AWS Cloud AMI サービスプロバイダーに直接プッシュできます。
前提条件
-
root
またはwheel
グループでシステムにアクセスできる。 - ブラウザーで、RHEL Web コンソールの Image Builder インターフェイスを開いている。
- ブループリントを作成している。Web コンソールインターフェイスで Image Builder のブループリントの作成 を参照してください。
- AWS IAM アカウントマネージャーにアクセスキー ID を設定している。
- 書き込み可能な S3 バケット を準備している。
手順
- ブループリント名 をクリックします。
- タブを選択します。
ポップアップウィンドウが開きます。
-
Type ドロップダウンメニューから、
Amazon Machine Image Disk (.raw)
を選択します。 - Upload to AWS チェックボックスをチェックして、イメージを AWS Cloud にアップロードし、 をクリックします。
AWS へのアクセスを認証するには、対応するフィールドに A
AWS access key ID
およびAWS secret access key
と入力します。 をクリックします。注記新規アクセスキー ID を作成する場合にのみ、AWS シークレットアクセスキーを表示できます。秘密鍵が分からない場合は、新しいアクセスキー ID を生成します。
-
Image name
フィールドにイメージ名を、Amazon S3 bucket name
フィールドに Amazon バケット名を入力して、カスタマイズイメージを追加するバケットのAWS region
フィールドを入力します。 をクリックします。 情報を確認し、
をクリックします。必要に応じて、
をクリックして、誤った情報を変更できます。注記カスタマイズイメージを送信するバケットの正しい IAM 設定が必要です。この手順では IAM のインポートとエクスポートを使用するため、バケットにイメージをアップロードする前にバケットに ポリシー を設定する必要があります。詳細は、IAM ユーザーの必要なパーミッション を参照してください。
-
Type ドロップダウンメニューから、
右上の小さなポップアップで、保存の進行状況が通知されます。また、イメージの作成、イメージ作成の進捗、およびそれ以降の AWS Cloud にアップロードに関する情報も通知されます。
プロセスが完了すると、Image build complete のステータスが表示されます。
-
メニューで Service→EC2 をクリックし、AWS コンソールで 正しいリージョン を選択します。イメージのステータスは、アップロードされていることを示す
Available
でなければなりません。 - ダッシュボードでイメージを選択し、 をクリックします。
- 新しいウィンドウが開きます。イメージを開始するために必要なリソースに応じて、インスタンスタイプを選択します。 をクリックします。
- インスタンスの開始の詳細を確認します。変更が必要な場合は、各セクションを編集できます。 をクリックします。
インスタンスを起動する前に、インスタンスにアクセスするための公開鍵を選択します。
既存のキーペアを使用するか、キーペアーを新規作成します。
Image Builder
を使用して、既存の公開鍵でイメージにユーザーを追加します。詳細は SSH キーを使用したユーザーアカウントの作成 を参照してください。次の手順に従って、EC2 で新規キーペアを作成し、新規インスタンスにアタッチします。
- ドロップダウンメニューリストから、Create a new key pair を選択します。
- 新しいキーペアに名前を入力します。新しいキーペアが生成されます。
- Download Key Pair をクリックして、新しいキーペアをローカルシステムに保存します。
次に、
をクリックしてインスタンスを起動できます。Initializing と表示されるインスタンスのステータスを確認できます。
- インスタンスのステータスが running になると、 ボタンが有効になります。
- 優先する接続方法として スタンドアロン SSH クライアント を選択し、ターミナルを開きます。
秘密鍵を保存する場所で、SSH が機能するために鍵が公開されていることを確認してください。これには、以下のコマンドを実行します。
$ chmod 400 <your-instance-name.pem>_
パブリック DNS を使用してインスタンスに接続します。
$ ssh -i "<_your-instance-name.pem_"> ec2-user@<_your-instance-IP-address_>
yes
と入力して、接続の続行を確定します。これで、SSH でインスタンスに接続されました。
検証
- SSH でインスタンスに接続している間にアクションが実行できるかどうかを確認します。
7.5.4. Microsoft Azure VHD イメージをアップロードする準備をしています
Image Builder を使用して、Microsoft Azure
クラウドにアップロードできる VHD イメージを準備できます。
前提条件
- 使用可能な Microsoft Azure リソースグループとストレージアカウントが必要です。
-
AZ CLI
ツールは特に python 2.7 に依存しているため、python2 がインストールされています。
手順
Microsoft リポジトリーキーをインポートします。
# rpm --import https://packages.microsoft.com/keys/microsoft.asc
ローカルの
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'
Microsoft Azure CLI をインストールします。
# yumdownloader azure-cli # rpm -ivh --nodeps azure-cli-2.0.64-1.el7.x86_64.rpm
注記Microsoft Azure CLI パッケージのダウンロードバージョンは、現在利用可能なバージョンによって異なる場合があります。
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 を開き、デバイスコードを入力して認証します。
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
上記コマンドの出力の
key1
の値を書き留め、それを環境変数に割り当てます。$ KEY1=value
ストレージコンテナーを作成します。
$ 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)
イメージタイプを使用します。手順
イメージを 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 ...
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 ...
-
CLI で、
検証
Microsoft Azure ポータル、または以下のようなコマンドを使用して、インスタンスを作成します。
$ az vm create --resource-group $GROUP --location eastus --name $VHD --image $VHD --admin-username azure-user --generate-ssh-keys - Running ...
-
秘密鍵を使用して、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
手順
-
.vmdk
イメージをダウンロードしたディレクトリーに移動します。 次の手順に従って、vSphere でイメージを起動します。
.vmdk
イメージを vSphere にインポートします。$ govc import.vmdk ./composer-api.vmdk foldername
電源をオンにせずに 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
仮想マシンの電源をオンにします。
govc vm.power -on vmname
仮想マシンの IP アドレスを取得します。
HOST=$(govc vm.ip vmname)
ブループリントで指定したユーザー名とパスワードで、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 バケットがあります。
手順
テキストエディターを使用して、次の内容で
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 での認証 をご覧ください。
-
追加のイメージ名とクラウドプロバイダープロファイルを使用して設定を作成します。
$ 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 設定が設定されている場合、次の優先順位で認証情報が使用されます。
-
設定ファイルで
composer-cli
コマンドで指定された認証情報。 -
osbuild-composer
ワーカー設定で設定された認証情報。 次のオプションを使用して認証方法を自動的に見つけようとする、
Google GCP SDK
ライブラリーからのアプリケーションのデフォルト認証情報:- GOOGLE_APPLICATION_CREDENTIALS 環境変数が設定されている場合、Application Default Credentials は、変数が指すファイルから認証情報を読み込んで使用しようとします。
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
イメージを作成するには、次の手順に従います。
前提条件
-
root
またはwheel
グループでシステムにアクセスできる。 - ブラウザーで、RHEL Web コンソールの Image Builder インターフェイスを開いている。
- ブループリントを作成している。Web コンソールインターフェイスで Image Builder のブループリントの作成 を参照してください。
- vSphere アカウント がある。
手順
- 作成したブループリントの タブをクリックします。
イメージタイプウィンドウが開きます。
Image type ウィンドウで、以下を実行します。
- ドロップダウンメニューから、Type を選択します。VMware VSphere (.vmdk).
- Upload to VMware チェックボックスをチェックして、イメージを vSphere にアップロードします。
- オプション: インスタンス化するイメージのサイズを設定します。最小のデフォルトサイズは 2 GB です。
- をクリックします。
Upload to VMware ウィンドウの Authentication の下に以下の情報を入力します。
- ユーザー名: vSphere アカウントのユーザー名。
- パスワード: vSphere アカウントのパスワード。
Upload to VMware ウィンドウの Destination の下に以下の情報を入力します。
- イメージ名: アップロードするイメージの名前。
- Host:イメージをアップロードする VMware vSphere の URL。
- Cluster:イメージをアップロードするクラスターの名前。
- Data center:イメージがアップロードされるデータセンターの名前。
- データストア: イメージをアップロードするデータストアの名前。
- Next をクリックします。
確認 ウィンドウで、イメージ作成の詳細を確認し、 をクリックします。
Image Builder は、RHEL vSphere イメージの Compose をキューに追加し、指定した vSphere インスタンスのクラスターにイメージを作成してアップロードします。
注記イメージビルドおよびアップロードプロセスの完了には数分かかります。
プロセスが完了すると、Image build complete のステータスが表示されます。
検証
イメージステータスのアップロードが正常に完了したら、アップロードしたイメージから仮想マシン (VM) を作成し、ログインできます。これを行うには、以下を行います。
- VMware vSphere クライアントにアクセスします。
- 指定した vSphere インスタンスのクラスターでイメージを検索します。
アップロードしたイメージから新しい仮想マシンを作成できます。
- アップロードしたイメージを選択します。
- 選択したイメージを右クリックします。
New Virtual Machine
をクリックします。New Virtual Machine ウィンドウが開きます。
New Virtual Machine ウィンドウで、以下の詳細を指定します。
-
New Virtual Machine
を選択します。 - VM の名前とフォルダーを選択します。
- コンピューターリソースの選択: この操作の宛先コンピューターリソースを選択します
- ストレージを選択:たとえば、NFS-Node1 を選択します。
- 互換性を選択:イメージは BIOS のみである必要があります。
- ゲストオペレーティングシステムを選択します。たとえば、Linux および Red Hat Fedora (64-bit) を選択します。
- ハードウェアのカスタマイズ:VM を作成するとき、右上の デバイス設定 ボタンで、デフォルトの 新しいハードディスクを削除し、ドロップダウンを使用して 既存のハードディスクディスクイメージを選択します。
- 完了する準備ができました:詳細を確認し、Finish をクリックしてイメージを作成します。
-
VMs タブに移動します。
- リストから、作成した仮想マシンを選択します。
- パネルから Start ボタンをクリックします。仮想マシンイメージを読み込み中であることを示す新しいウィンドウが表示されます。
- ブループリント用に作成した認証情報を使用してログインします。
ブループリントに追加したパッケージがインストールされていることを確認できます。以下に例を示します。
$ rpm -qa | grep firefox
7.5.9. GUI イメージビルダーツールを使用して VHD イメージを Microsoft Azure クラウドにプッシュする
Image Builder を使用して .vhd
イメージを作成できます。次に、.vhd
イメージを Microsoft Azure クラウドサービスプロバイダーの Blob Storage にプッシュできます。
前提条件
- システムへの root アクセス権があります。
- ブラウザーで、RHEL Web コンソールの Image Builder インターフェイスを開いている。
- ブループリントを作成している。Web コンソールインターフェイスで Image Builder のブループリントの作成 を参照してください。
- Microsoft ストレージアカウント が作成されました。
- 書き込み可能な Blob Storage が準備されました。
手順
-
blueprint name
については、 タブをクリックします。 ポップアップウィンドウが開きます。
-
Type ドロップダウンメニューから、
Azure Disk Image(.vhd)
イメージを選択します。 - Upload to Microsoft Azure チェックボックスをチェックして、イメージを Microsoft Azure Cloud にアップロードし、 をクリックします。
Microsoft Azure へのアクセスを認証するには、対応するフィールドにストレージアカウントとストレージアクセスキーを入力します。
をクリックします。Microsoft ストレージアカウントの詳細 は、Settings
Access Key menu list で確認できます。 - アップロードするイメージファイルに使用する イメージ名 と、イメージのプッシュ先のイメージファイルに使用する Blob のストレージコンテナーを入力します。 をクリックします。
指定した情報を確認し、
をクリックします。必要に応じて、
をクリックして、誤った情報を変更できます。
-
Type ドロップダウンメニューから、
イメージ作成プロセスが開始されると、右上に小さなポップアップが表示され、次のメッセージが表示されます。
Image creation has been added to the queue
.イメージプロセスの作成が完了したら、イメージを作成した Blueprint をクリックします。
images
タブで、作成したイメージの イメージビルドの完了 ステータスを確認できます。- Microsoft Azure Cloud にプッシュしたイメージにアクセスするには、Microsoft Azure Portal にアクセスします。
- 検索バーで Images と入力して、Services の下にある最初のエントリーを選択します。Image Dashboard にリダイレクトされます。
Create an Image ダッシュボードにリダイレクトされます。
をクリックします。以下の情報を追加します。
- 名前:新しいイメージの名前を選択します。
- リソースグループ:リソースグループ を選択します。
- 場所:ストレージアカウントに割り当てられたリージョンと一致する 場所 を選択します。それ以外の場合は、Blob を選択できません。
-
OS タイプ
:オペレーティングシステムの種類を Linux に設定します。 - VM Generation:仮想マシンの生成は Gen 1 に設定したままにします。
Storage Blob:Storage blob input の右側にある 参照 をクリックします。ダイアログを使用して、先ほどアップロードしたイメージを見つけます。
その他のフィールドはデフォルトのままにしておきます。
- Successfully created image というメッセージが表示されます。 をクリックしてイメージを作成します。イメージが作成されたら、右上隅に
- をクリックして、新しく作成したイメージを表示し、開きます。
- Create a virtual machine ダッシュボードにリダイレクトされます。 をクリックします。
Basic
タブのProject Details
で、Subscription
とResource Group
がすでに事前設定されています。新しい
Resource Group
を作成する場合:ポップアップで、リソースグループ名 のコンテナーの作成が求められます。
名前を入力して
をクリックします。事前に設定された リソースグループ をそのまま使用する場合は、以下を行います。
インスタンスの詳細 で、次のように入力します。
- Virtual machine name
- Region
- イメージ:作成したイメージがデフォルトで事前に選択されています。
サイズ:必要に応じて仮想マシンのサイズを選択します。
残りのフィールドはデフォルトのままにします。
Administrator account に、以下の情報を入力します。
- username: アカウント管理者の名前。
SSH Public Key source: ドロップダウンメニューから、Generate new key pair を選択します。
既存のキーペアを使用するか、キーペアーを新規作成します。
Image Builder
を使用して、既存の公開鍵でイメージにユーザーを追加します。詳細は、SSH 鍵を持つユーザーアカウントの作成 を参照してください。- key pair name: キーペアの名前を挿入します。
受信ポートのルール で、各フィールドの値を選択します。
- Public inbound ports:Allow selected ports.
- Select inbound ports:デフォルト設定 SSH (22) を使用します。
- Review + create タブにリダイレクトされ、検証が正常に終了した旨の確認メッセージが表示されます。 をクリックします。
詳細を確認して
をクリックします。オプションで
をクリックして、以前に選択したオプションを修正できます。新しい鍵ペアを生成する ウィンドウが開きます。 をクリックします。
yourKey.pem として鍵ファイルを保存します。
- デプロイメントが完了したら、 をクリックします。
- 実際の仮想マシンの詳細を含む新規ウィンドウに、リダイレクトされます。ページの右上にあるパブリック IP アドレスを選択してクリップボードにコピーします。
次に、仮想マシンとの SSH 接続を作成して、仮想マシンに接続します。
- 端末を開きます。
プロンプトで、VM への SSH 接続を開きます。IP アドレスは、仮想マシンの IP アドレスに、.pem へのパスは、キーファイルのダウンロード先のパスに置き換えます。
# ssh -i ./Downloads/yourKey.pem azureuser@10.111.12.123
-
接続を続行するには確定する必要があります。続行するには
yes
と入力します。
上記の作業の結果、Microsoft Azure Storage Blob にプッシュした出力イメージをプロビジョニングする準備が整いました。
7.5.10. OpenStack への QCOW2 イメージのアップロード
Image Builder ツールを使用すると、OpenStack クラウドデプロイメントにアップロードしてそこでインスタンスを開始するのに適した、カスタマイズされた .qcow2
イメージを作成できます。
Image Builder を OpenStack イメージタイプで使用して作成する一般的な QCOW2
イメージタイプの出力フォーマットを間違えないでください。これも QCOW2 フォーマットですが、OpenStack に固有の変更がさらに含まれています。
前提条件
- ブループリントを作成している。
-
Image Builder を使用して
QCOW2
イメージを作成しました。詳細は、
手順
QCOW2
イメージの作成を開始します。# composer-cli compose start blueprint_name openstack
ビルドの状態を確認します。
# composer-cli compose status
イメージのビルドが完了したら、イメージをダウンロードできます。
QCOW2
イメージをダウンロードします。# composer-cli compose image UUID
- OpenStack ダッシュボードにアクセスし、 をクリックします。
左側のメニューで、
Admin
タブを選択します。System Panel
からImage
をクリックします。Create An Image
ウィザードが開きます。
Create An Image
ウィザードで、以下を行います。- イメージの名前を入力します。
-
Browse
をクリックしてQCOW2
イメージをアップロードします。 -
Format
ドロップダウンリストから、QCOW2 - QEMU Emulator
を選択します。
左側のメニューで
Project
タブを選択します。-
Compute
メニューからInstances
を選択します。 インスタンスの
Launch Instance
が開きます。-
Details
ページで、インスタンスの名前を入力します。 をクリックします。 -
Source
ページで、アップロードしたイメージの名前を選択します。 をクリックします。 Flavor
ページで、ニーズに最適なマシンリソースを選択します。 をクリックします。
-
-
イメージから任意のメカニズム (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 イメージを作成しておく。
手順
- Alibaba image_check ツール を使用して、チェックするイメージを含むシステムに接続します。
image_check ツールをダウンロードします。
$ curl -O http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/73848/cn_zh/1557459863884/image_check
イメージのコンプライアンスツールのファイルパーミッションを変更します。
# chmod +x image_check
次のコマンドを実行して、イメージコンプライアンスツールのチェックを起動します。
# ./image_check
このツールは、システム設定を検証し、画面に表示されるレポートを生成します。image_check ツールは、イメージのコンプライアンスツールが実行しているフォルダーにこのレポートを保存します。
トラブルシューティング
いずれかの 検出項目 が失敗した場合は、ターミナルの指示に従って修正してください。リンクを参照してください。Detection items section.
7.5.12. カスタマイズされた RHEL イメージを Alibaba にアップロードする
Image Builder を使用して作成したカスタマイズされた AMI
イメージを Object Storage Service (OSS) にアップロードできます。
前提条件
- Alibaba イメージのアップロードを設定している。Alibaba にイメージをアップロードするための準備 を参照してください。
-
Image Builder を使用して
ami
イメージを作成しました。 - バケットがある。Creating a bucket を参照してください。
- アクティブな Alibaba アカウント がある。
- OSS をアクティベートしている。
手順
- OSS コンソール にログインします。
- 左側のバケットメニューで、イメージをアップロードするバケットを選択します。
- 右上のメニューで、Files タブをクリックします。
- アップロード先:これを選択すると、現在 のディレクトリーまたは 指定した ディレクトリーにファイルをアップロードします。
- ファイル ACL:アップロードしたファイルのパーミッションのタイプを選択します。
- をクリックします。
- アップロードするイメージを選択します。
- をクリックします。
その結果、カスタマイズされた AMI
イメージが OSS コンソールにアップロードされます。
7.5.13. イメージの Alibaba へのインポート
Image Builder を使用して作成したカスタマイズされた Alibaba RHEL イメージを Elastic Cloud Console (ECS) にインポートするには、次の手順に従います。
前提条件
- Alibaba イメージのアップロードを設定している。Alibaba にイメージをアップロードするための準備 を参照してください。
-
Image Builder を使用して
ami
イメージを作成しました。 - バケットがある。Creating a bucket を参照してください。
- アクティブな Alibaba アカウント がある。
- OSS をアクティベートしている。
- イメージを OSS (Object Storage Service) にアップロードしている。Alibaba へのイメージのアップロード を参照してください。
手順
ECS コンソール にログインします。
- 左側のメニューで、 をクリックします。
- 右上にある をクリックします。ダイアログウィンドウが開きます。
イメージが含まれる正しいリージョンを設定していることを確認します。以下の情報を入力します。
-
OSS Object Address
:OSS Object Address の取得方法を参照してください。 -
Image Name
-
オペレーティングシステム
-
System Disk Size
-
システムアーキテクチャー
-
プラットフォーム
:Red Hat
-
必要に応じて、以下の情報を指定します。
-
Image Format
- アップロードしたイメージの形式に応じてqcow2
またはami
。 -
Image Description
Add Images of Data Disks
アドレスは、OSS 管理コンソールで確認できます。左側のメニューで必要なバケットを選択した後:
-
-
Files
セクションを選択します。 適切なイメージの右側にある Details リンクをクリックします。
画面右側にウィンドウが表示され、イメージの詳細が表示されます。
OSS
オブジェクトアドレスはURL
ボックスにあります。- 注記
インポートプロセスの時間は、イメージのサイズによって異なります。
カスタマイズされたイメージが ECS
コンソールにインポートされます。
7.5.14. Alibaba を使用してカスタマイズされた RHEL イメージのインスタンスを作成する
Alibaba ECS Console
を使用して、カスタマイズされた RHEL イメージのインスタンスを作成できます。
前提条件
- OSS をアクティベートして、カスタムイメージをアップロードしている。
- イメージを ECS コンソールに正常にインポートしている。Alibaba へのイメージのインポート を参照してください。
手順
- ECS コンソール にログインします。
- 左側のメニューで、インスタンス を選択します。
- 右上隅にある インスタンスの作成 をクリックします。新しいウィンドウにリダイレクトされます。
- 必要な情報をすべて完了します。詳細は、Creating an instance by using the wizard を参照してください。
Create Instance をクリックして、順番を確認します。
注記サブスクリプションによっては、Create Instance ではなく Create Order が表示されます。
その結果、アクティブなインスタンスを Alibaba ECS Console
からデプロイする準備が整いました。