12.2. VHD イメージを準備して Microsoft Azure にアップロードする
RHEL Image Builder を使用すると、カスタムイメージを作成し、そのイメージを手動または自動で Microsoft Azure クラウドにアップロードできます。
12.2.1. Microsoft Azure VHD イメージを手動でアップロードする準備
Microsoft Azure
クラウドに手動でアップロードできる VHD イメージを作成するには、RHEL Image Builder を使用できます。
前提条件
- Microsoft Azure リソースグループとストレージアカウントがある。
-
Python がインストールされている。
AZ CLI
ツールは Python に依存しています。
手順
Microsoft リポジトリーキーをインポートします。
# rpm --import https://packages.microsoft.com/keys/microsoft.asc
次の情報を使用して、ローカルの
azure-cli.repo
リポジトリーを作成します。azure-cli.repo
リポジトリーを/etc/yum.repos.d/
に保存します。[azure-cli] name=Azure CLI baseurl=https://packages.microsoft.com/yumrepos/vscode enabled=1 gpgcheck=1 gpgkey=https://packages.microsoft.com/keys/microsoft.asc
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) セッションを実行している場合、ログインページのリンクはブラウザーで開きません。この場合、リンクをブラウザーにコピーしてログインし、リモートセッションを認証できます。サインインするには、Web ブラウザーを使用してページ https://microsoft.com/devicelogin を開き、デバイスコードを入力して認証します。
Microsoft Azure のストレージアカウントのキーをリスト表示します。
$ az storage account keys list --resource-group <resource_group_name> --account-name <storage_account_name>
resource-group-name を Microsoft Azure リソースグループの名前に置き換え、storage-account-name を Microsoft Azure ストレージアカウントの名前に置き換えます。
注記次のコマンドを使用して、使用可能なリソースを一覧表示できます。
$ az resource list
上記のコマンドの出力にある値
key1
をメモします。ストレージコンテナーを作成します。
$ az storage container create --account-name <storage_account_name>\ --account-key <key1_value> --name <storage_account_name>
storage-account-name は、ストレージアカウント名に置き換えます。
関連情報
12.2.2. VHD イメージを Microsoft Azure クラウドに手動でアップロードする
カスタマイズした VHD イメージを作成したら、それを手動で Microsoft Azure クラウドにアップロードできます。
前提条件
- Microsoft Azure VHD イメージをアップロードするようにシステムを設定している。Microsoft Azure VHD イメージのアップロードの準備 を参照してください。
RHEL Image Builder で Microsoft Azure VHD イメージを作成している。
-
GUI で、
Azure Disk Image (.vhd)
イメージタイプを使用します。 -
CLI で、
vhd
出力タイプを使用します。
-
GUI で、
手順
イメージを Microsoft Azure にプッシュし、そこからインスタンスを作成します。
$ az storage blob upload --account-name <_account_name_> --container-name <_container_name_> --file <_image_-disk.vhd> --name <_image_-disk.vhd> --type page ...
Microsoft Azure Blob ストレージへのアップロードが完了したら、そこから Microsoft Azure イメージを作成します。
$ az image create --resource-group <_resource_group_name_> --name <_image_>-disk.vhd --os-type linux --location <_location_> --source https://$<_account_name_>.blob.core.windows.net/<_container_name_>/<_image_>-disk.vhd - Running ...
注記RHEL Image Builder で作成するイメージは、V1 = BIOS と V2 = UEFI の両方のインスタンスタイプをサポートするハイブリッドイメージを生成するため、
--hyper-v-generation
引数を指定できます。デフォルトのインスタンスタイプは V1 です。
検証
Microsoft Azure ポータル、または以下のようなコマンドを使用して、インスタンスを作成します。
$ az vm create --resource-group <_resource_group_name_> --location <_location_> --name <_vm_name_> --image <_image_>-disk.vhd --admin-username azure-user --generate-ssh-keys - Running ...
-
秘密鍵を使用して、SSH 経由で、作成されたインスタンスにアクセスします。
azure-user
としてログインします。このユーザー名は前の手順で設定したものです。
関連情報
-
Composing an image for the
.vhd
format fails (Red Hat ナレッジベース)
12.2.3. VHD イメージを作成して Microsoft Azure クラウドに自動的にアップロードする
RHEL Image Builder を使用して .vhd
イメージを作成すると、Microsoft Azure クラウドサービスプロバイダーの Blob Storage に自動的にアップロードされます。
前提条件
- システムへの root アクセス権があります。
- RHEL Web コンソールの RHEL Image Builder インターフェイスにアクセスできる。
- ブループリントを作成している。Web コンソールインターフェイスでの RHEL Image Builder ブループリントの作成 を参照してください。
- Microsoft ストレージアカウント が作成されました。
- 書き込み可能な Blob Storage が準備されました。
手順
- RHEL Image Builder ダッシュボードで、使用するブループリントを選択します。
- タブをクリックします。
.vhd
イメージを作成します。Create image ウィザードが開きます。
-
Type ドロップダウンメニューリストから
Microsoft Azure (.vhd)
を選択します。 - イメージを Microsoft Azure クラウドにアップロードするには、Upload to Azure チェックボックスをオンします。
- Image Size を入力し、 をクリックします。
-
Type ドロップダウンメニューリストから
Upload to Azure ページで、次の情報を入力します。
認証ページで、次のように入力します。
- Storage account の名前。これは、Microsoft Azure portal の Storage account ページにあります。
- Storage access key: これは、Access Key ストレージページにあります。
- をクリックします。
Authentication ページで、次のように入力します。
- イメージ名
- Storage container。これは、イメージのアップロード先の Blob コンテナーです。Microsoft Azure portal の Blob service セクションにあります。
- をクリックします。
Review ページで をクリックします。RHEL Image Builder が起動し、アップロードプロセスが開始します。
Microsoft Azure Cloud にプッシュしたイメージにアクセスします。
- Microsoft Azure ポータル にアクセスします。
- 検索バーに "storage account" と入力し、リストから Storage accounts をクリックします。
- 検索バーに "Images" と入力し、Services の下にある最初のエントリーを選択します。Image Dashboard にリダイレクトされます。
- ナビゲーションパネルで、Containers をクリックします。
-
作成したコンテナーを見つけます。コンテナー内には、RHEL Image Builder を使用して作成およびプッシュした
.vhd
ファイルがあります。
検証
仮想マシンイメージを作成して起動できることを確認します。
- 検索バーに images account と入力し、リストから Images をクリックします。
- をクリックします。
- ドロップダウンリストから、前に使用したリソースグループを選択します。
- イメージの名前を入力します。
- OS type で Linux を選択します。
- VM generation で Gen 2 を選択します。
- Storage Blob で をクリックし、VHD ファイルに到達するまでストレージアカウントとコンテナーをクリックします。
- ページの最後にある Select をクリックします。
- Account Type を選択します (例: Standard SSD)。
- をクリックし、 をクリックします。イメージが作成されるまでしばらく待機します。
仮想マシンを起動するには、次の手順に従います。
- をクリックします。
- ヘッダーのメニューバーから をクリックします。
- 仮想マシンの名前を入力します。
- Size セクションと Administrator account セクションに入力します。
デプロイメントが完了したら、仮想マシン名をクリックしてインスタンスのパブリック IP アドレスを取得し、SSH を使用して接続します。
- ターミナルを開いて SSH 接続を作成し、仮想マシンに接続します。
12.2.4. VMDK イメージのアップロードと vSphere での RHEL 仮想マシンの作成
RHEL Image Builder を使用すると、カスタマイズした VMware vSphere システムイメージを Open virtualization format (.ova
) または Virtual disk (.vmdk
) 形式で作成できます。これらのイメージを VMware vSphere クライアントにアップロードできます。govc import.vmdk
CLI ツールを使用して、.vmdk
または .ova
イメージを VMware vSphere にアップロードできます。作成した vmdk
には、インストール済みの cloud-init
パッケージが含まれています。このパッケージを使用して、たとえばユーザーデータを使用してユーザーをプロビジョニングできます。
VMware vSphere GUI を使用した vmdk
イメージのアップロードはサポートされていません。
前提条件
- ユーザー名とパスワードをカスタマイズしたブループリントを作成している。
-
RHEL Image Builder を使用して VMware vSphere イメージを
.ova
または.vmdk
形式で作成し、ホストシステムにダウンロードしている。 -
govc
CLI ツールをインストールして設定し、import.vmdk
コマンドが使用可能である。
手順
GOVC 環境変数を使用して、ユーザー環境で次の値を設定します。
GOVC_URL GOVC_DATACENTER GOVC_FOLDER GOVC_DATASTORE GOVC_RESOURCE_POOL GOVC_NETWORK
- VMware vSphere イメージをダウンロードしたディレクトリーに移動します。
次の手順に従って、vSphere で VMware vSphere イメージを起動します。
VMware vSphere イメージを vSphere にインポートします。
$ govc import.vmdk ./composer-api.vmdk foldername
.ova
形式の場合:$ govc import.ova ./composer-api.ova 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
.ova
形式の場合は、行-firmware=efi -disk=”foldername/composer-api.vmdk” \
を `-firmware=efi -disk=”foldername/composer-api.ova” \ に置き換えます。仮想マシンの電源をオンにします。
govc vm.power -on vmname
仮想マシンの IP アドレスを取得します。
govc vm.ip vmname
ブループリントで指定したユーザー名とパスワードで、SSH を使用して、仮想マシンにログインします。
$ ssh admin@<_ip_address_of_the_vm_>
注記govc datastore.upload
コマンドを使用してローカルホストから宛先に.vmdk
イメージをコピーしても、コピーして作成したイメージを使用することはできません。vSphere GUI にはimport.vmdk
コマンドを使用するオプションがないため、vSphere GUI は直接アップロードをサポートしません。そのため、.vmdk
イメージを vSphere GUI から使用することはできません。
12.2.5. Image Builder GUI を使用して VMDK イメージを作成し、vSphere に自動的にアップロードする
RHEL Image Builder GUI ツールを使用して VMware イメージをビルドし、そのイメージを vSphere インスタンスに直接自動的にプッシュできます。これにより、イメージファイルをダウンロードして手動でプッシュする必要がなくなります。作成した vmdk
には、インストール済みの cloud-init
パッケージが含まれています。このパッケージを使用して、たとえばユーザーデータを使用してユーザーをプロビジョニングできます。RHEL Image Builder を使用して .vmdk
イメージをビルドし、vSphere インスタンスサービスプロバイダーに直接プッシュするには、次の手順に従います。
前提条件
-
root
またはweldr
グループのメンバーである。 - ブラウザーで https://localhost:9090/RHEL Image Builder を開いている。
- ブループリントを作成している。Web コンソールインターフェイスでの RHEL Image Builder ブループリントの作成 を参照してください。
- vSphere アカウント がある。
手順
- 作成したブループリントの タブをクリックします。
イメージタイプウィンドウが開きます。
Image type ウィンドウで、以下を実行します。
- ドロップダウンメニューからタイプ (VMware vSphere (.vmdk)) を選択します。
- Upload to VMware チェックボックスをチェックして、イメージを vSphere にアップロードします。
- 必要に応じて、インスタンス化するイメージのサイズを設定します。最小のデフォルトサイズは 2 GB です。
- をクリックします。
Upload to VMware ウィンドウの Authentication の下に以下の情報を入力します。
- ユーザー名: vSphere アカウントのユーザー名。
- パスワード: vSphere アカウントのパスワード。
Upload to VMware ウィンドウの Destination の下に、イメージのアップロード先に関する以下の情報を入力します。
- Image name: イメージの名前。
- Host: VMware vSphere の URL。
- Cluster: クラスターの名前。
- Data center: データセンターの名前。
- Data store: データストアの名前。
- Next をクリックします。
確認 ウィンドウで、イメージ作成の詳細を確認し、 をクリックします。
RHEL 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
を選択します。 - 仮想マシンの名前とフォルダーを選択します。
- コンピューターリソースの選択: この操作の宛先コンピューターリソースを選択します
- ストレージの選択: たとえば NFS-Node1 を選択します。
- 互換性の選択: イメージは BIOS 専用でなければなりません。
- ゲストオペレーティングシステムを選択します。たとえば、Linux および Red Hat Fedora (64-bit) を選択します。
- ハードウェアのカスタマイズ: 仮想マシンを作成する場合は、右上の Device Configuration ボタンでデフォルトの New Hard Disk を削除し、ドロップダウンを使用して Existing Hard Disk ディスクイメージを選択します。
- 準備完了: 詳細を確認し、Finish をクリックしてイメージを作成します。
-
VMs タブに移動します。
- リストから、作成した仮想マシンを選択します。
- パネルから Start ボタンをクリックします。仮想マシンイメージを読み込み中であることを示す新しいウィンドウが表示されます。
- ブループリント用に作成した認証情報を使用してログインします。
ブループリントに追加したパッケージがインストールされていることを確認できます。以下に例を示します。
$ rpm -qa | grep firefox