2.3.6. Microsoft Azure インストール
以下の手順を使用して、RHEL Atomic Host イメージを Microsoft Azure Cloud にアップロードし、そのイメージを仮想マシンとして実行します。RHEL サーバーシステムから実行する基本的な手順は次のとおりです。
- Azure CLI の インストール で説明されているように、Azure CLI ツール(az コマンド)を 取得します。
- Red Hat Atomic Host Download ページから Red Hat Atomic Cloud (qcow2)イメージを取得します。
- イメージを VHD 形式に変換します。
- Azure ログインアカウント を取得してログインします。
以下の Azure リソースを作成します(または既存のリソースを使用します)。
- ストレージアカウントの作成
- コンテナーを作成します。
- 仮想ネットワークおよびサブネットワークの作成
- Atomic VHD イメージをアップロードします。
- ゴールドイメージを作成します(オプション)。
- RHEL Atomic VM を起動します。
- Azure エージェントを仮想マシンに追加します(オプション)。
以下の例で使用されている以下のリソース名を、実際の設定に適したものに置き換えます。
リソース名 | 例 |
---|---|
Azure グループ | myazgroup |
Azure ストレージ | myatomicstorage |
Azure コンテナー | myatomiccontainer |
Azure 仮想ネットワーク | myazatomicnet01 |
Azure subnetwork | myazatomicsubnet01 |
Atomic イメージ | rhel-atomic-cloud-7.4.vhd |
Azure リージョン | southcentralus (ユーザーに適した地域を使用) |
Azure のアトミックイメージ | atomiccloud-74.vhd |
Azure ゴールドイメージグループ | myatomicgold |
Azure アカウントで、以下の手順を使用し、そのイメージを使用して Azure に Atomic 仮想マシンを作成します。
- Azure CLI ツールの取得: Install the Azure CLI の手順に従って az コマンドを取得します。
- Red Hat Atomic Host Download ページから Red Hat Atomic Cloud (qcow2)イメージを取得します。
以下のように、イメージを VHD 形式に変換します。
$ qemu-img convert -f qcow2 -o subformat=fixed,force_size -O vpc \ rhel-atomic-cloud-7.4.4-2.x86_64.qcow2 rhel-atomic-cloud-7.4.vhd
注記Azure では、VHD イメージを修正して調整する必要があります。ここで説明されているイメージは正常に動作するはずです。後のステップでイメージをアップロードして実行できない場合は、RHEL 仮想マシンイメージの VHD への変換 の説明に従って、そのアライメントを確認し、修正し ます。
Azure Cloud にログインします。
$ az login To sign in, use a web browser to open the page https://aka.ms/devicelogin and enter the code ABCDEFGH9 to authenticate. [ { "cloudName": "AzureCloud", ... "user": { "name": "joe@example.com", "type": "user" } } ]
ブラウザーからの指示に従い、ブラウザーウィンドウを閉じ、コマンドラインから続行します。
Azure グループリソースの作成:Azure グループがまだない場合には、以下のように作成します。
$ az group create --name myazgroup --location southcentralus { "id": "/subscriptions/xxxxxxxx-xxxx-xxxx.../resourceGroups/myazgroup", "location": "southcentralus", "managedBy": null, "name": "myazgroup", "properties": { "provisioningState": "Succeeded" }, "tags": null }
適切な Azure リージョンを選択します。Microsoft Azure リージョン を参照して利用可能なリージョンを表示し、以下を入力してリージョンを特定するために必要な名前を表示します。
$ az account list-locations -o table DisplayName Latitude Longitude Name ---------- ---------- ----------- ---------- ... South Central US 29.4167 -98.5 southcentralus ...
Azure ストレージアカウントの作成:グループの場合は、ストレージアカウントを作成し、southcentralus をリージョンに置き換え、SKU タイプ を選択します。
$ az storage account create -l southcentralus -n myatomicstorage \ -g myazgroup --sku Standard_LRS { "accessTier": null, "creationTime": "2018-01-23T16:14:51.478598+00:00", ... "id": "/subscriptions/xxxxxxxx-xxxx.../resourceGroups/myazgroup/providers/Microsoft.Storage/storageAccounts/myatomicstorage", "name": "myatomicstorage", ... "provisioningState": "Succeeded", "resourceGroup": "myazgroup", ...
ストレージアカウントの接続文字列を取得します。
$ az storage account show-connection-string -n myatomicstorage -g myazgroup { "connectionString": "DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=myatomicstorage;AccountKey=xxxxxxxx/xxxxx+xxx/w==" }
接続文字列をエクスポートします。接続文字列を AZURE_STORAGE_CONNECTION_STRING 変数にコピーアンドペーストします。
$ export AZURE_STORAGE_CONNECTION_STRING="DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=myatomicstorage;AccountKey=xxxxxxxx/xxxxx+xxx/w=="
ストレージコンテナーを作成します。
$ az storage container create -n myatomiccontainer { "created": true }
仮想ネットワークとサブネットワークを作成します。
$ az network vnet create -g myazgroup -n myazatomicnet01 \ --subnet-name myazatomicsubnet01 { "newVNet": { "addressSpace": { "addressPrefixes": [ "10.0.0.0/16" ... "id": "/subscriptions/xxxxxxxx-xxxx.../resourceGroups/myazgroup/providers/Microsoft.Network/virtualNetworks/myazatomicnet01", ...
Atomic VHD イメージをアップロードします。
$ az storage blob upload --account-name myatomicstorage \ --container-name myatomiccontainer --type page \ --file rhel-atomic-cloud-7.4.vhd --name myatomiccloud-74.vhd Finished[#####################] 100.0000% { "etag": "\"0x8D123456789ABCD\"", "lastModified": "2018-01-25T16:30:41+00:00" }
アップロードした VHD の URL を取得します。
$ az storage blob url -c myatomiccontainer -n myatomiccloud-74.vhd "https://myatomicstorage.blob.core.windows.net/myatomiccontainer/myatomiccloud-74.vhd"
ゴールド Azure カスタム Atomic イメージの新規リソースグループを作成します(オプション): このオプションの手順では、作成した永続以外のリソースとは別のゴールドイメージを維持します。新しいリソースグループは、vhd ファイルをアップロードしたのと同じリージョンに作成する必要があります。
$ az group create --name myatomicgold --location southcentralus { "id": "/subscriptions/xxxxxxxx-xxxx-.../resourceGroups/myatomicgold", "location": "southcentralus", "managedBy": null, "name": "myatomicgold", "properties": { "provisioningState": "Succeeded" }, "tags": null }
Azure 用のゴールドイメージを作成します。
$ az image create -n myrhelatomcloud74 -g myatomicgold -l southcentralus \ --source \ "https://myatomicstorage.blob.core.windows.net/myatomiccontainer/myatomiccloud-74.vhd" \ --os-type linux { "additionalProperties": {}, "id": "/subscriptions/xxxxxxxx-xxxx-.../resourceGroups/myatomicgold/providers/.../images/myrhelatomcloud74", ... "additionalProperties": {}, "blobUri": "https://myatomicstorage.blob.core.windows.net/myatomiccontainer/myatomiccloud-74.vhd", ... }
仮想マシンの作成:この例では、myatomic74vm-1 という名前の実行中の仮想マシンを作成します。(注記:cloud-init スクリプトを作成し、コマンドラインに追加して、このコマンドラインをさらに設定できます。例: --custom-data RHELCloudInit.yml詳細は、Cloud-Init Support を参照してください。)
$ az vm create -g myatomicgold -l southcentralus -n myatomic74vm-1 \ --size Standard_A2 --os-disk-name vm-1-osdisk \ --admin-username clouduser --generate-ssh-keys --image myrhelatomcloud74 { "fqdns": "", "id": "/subscriptions/xxxxxxxx-xxxx-.../resourceGroups/myatomicgold/providers/Microsoft.Compute/virtualMachines/myatomic74vm-1", "powerState": "VM running", "privateIpAddress": "10.0.0.5", "publicIpAddress": "49.82.154.297", "resourceGroup": "myatomicgold", "zones": "" }
仮想マシンにログインします。publicIpAddress (この偽のアドレスの49.82.154.297)をメモし、これを使用して仮想マシンにログインします。
$ ssh clouduser@49.82.154.297 The authenticity of host '49.82.154.297 (49.82.154.297)' can't be established. ECDSA key fingerprint is bd:fe:12:1b:3c:d3:e2:4c:9f:b5:4a:87:10:48:5d:92. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '49.82.154.297' (ECDSA) to the list of known hosts. [clouduser@myatomic74vm-1 ~]$
システムをサブスクライブする:Red Hat サブスクリプションアカウントを使用して、システムをサブスクライブして最新バージョンの Atomic に更新します。
$ sudo subscription-manager register Registering to: subscription.rhsm.redhat.com:443/subscription Username: yourusername Password: ******** The system has been registered with ID: e4da51cb-4b89-3c94-30b5-946e5c222e91 $ sudo subscription-manager subscribe --auto Installed Product Current Status: Product Name: Red Hat Enterprise Linux Atomic Host Status: Subscribed Product Name: Red Hat Enterprise Linux Server Status: Subscribed $ atomic host upgrade $ sudo reboot
Azure エージェントを追加します(オプション): Azure Web ポータルでさらに高度な Azure 機能および精度が必要な場合は、Azure エージェントを Atomic ホストに追加することを検討してください。これを実行するには、以下のように、必要なリポジトリーを有効にし、WALinuxAgent パッケージを追加し、プロビジョニングを無効にし、Azure エージェントが起動するように設定します。
$ ssh clouduser@41.89.184.287 [clouduser@myatomic74vm-1 ~]$ $ sudo subscription-manager repos --disable=* $ sudo subscription-manager repos --enable rhel-7-server-rpms \ --enable rhel-7-server-extras-rpms $ sudo rpm-ostree install WALinuxAgent $ sudo systemctl reboot $ sudo vi /etc/waagent.conf # Enable instance creation Provisioning.Enabled=n # Create and use swapfile on resource disk. ResourceDisk.EnableSwap=y # Size of the swapfile. ResourceDisk.SwapSizeMB=2048 <-- or choose different size $ sudo systemctl enable waagent $ sudo systemctl start waagent
これで Atomic 仮想マシンが実行され、Azure ダッシュボードからアクセスできるはずです。