第16章 Microsoft Azure Resource Manager でのクラウドインスタンスのプロビジョニング

Red Hat Satellite は、新規仮想マシンの作成、電源管理の状態の制御など、Microsoft Azure Resource Manager と対話できます。Azure ホストの作成では、イメージベースのプロビジョニングのみがサポートされます。

Azure Resource Manager の概念の詳細は、Azure Resource Manager documentation を参照してください。

Satellite では Azure Government はサポート対象ではないので注意してください。

前提条件

  • Red Hat Enterprise Linux の同期済みのコンテンツリポジトリー。詳細は、『コンテンツ管理ガイド』の「Red Hat リポジトリーの同期」を参照してください。
  • ホスト登録用のアクティベーションキー。詳細は、『コンテンツ管理ガイド』の「アクティベーションキーの作成」を参照してください。
  • Azure Active Directory アプリケーション作成に適したパーミッションがあることを確認します。詳細は、『Microsoft identity platform (Azure Active Directory for developers) 』ドキュメントの「Check Azure AD permissions」を参照してください。
  • Azure Active Directory アプリケーションとサービスのプリンシパルを作成して設定し、アプリケーションまたは client ID、ディレクトリーまたは tenant ID、およびクライアントシークレットを取得する必要があります。詳細は、『Microsoft identity platform (Azure Active Directory for developers) 』ドキュメントの「Use the portal to create an Azure AD application and service principal that can access resources」を参照してください。
  • オプション: Azure ホストで Puppet を使用するには、管理 > 設定 > Puppet に移動して、証明書での UUID の使用 設定を有効にして、Puppet が一貫性のある Puppet 証明書 ID を使用するように設定します。
  • ニーズに合わせて finish または user_data プロビジョニングテンプレートと使用するオペレーティングシステムを関連付けます。プロビジョニングテンプレートに関する詳細は、「プロビジョニングテンプレート」を参照してください。
  • オプション: 仮想マシンで静的なプライベート IP アドレスを使用する場合には、Azure サブネットのアドレスと一致するように、ネットワークアドレス フィールドで、Satellite のサブネットを作成してください。

16.1. Microsoft Azure Resource Manager 接続の Satellite Server への追加

以下の手順を使用して Satellite で Microsoft Azure Resource Manager をコンピュートリソースとして追加します。使用する Azure Resource Manager のリージョンごとに、別のコンピュートリソースを追加する必要があります。

手順

  1. Satellite Web UI で インフラストラクチャー > コンピュートリソース に移動して、コンピュートリソースの作成 をクリックします。
  2. 名前 フィールドには、コンピュートリソースの名前を入力します。
  3. プロバイダー の一覧から Azure リソースマネージャー を選択します。
  4. オプション: 説明 フィールドに、リソースの説明を入力します。
  5. Client ID フィールドでアプリケーションか、クライアント ID を入力します。
  6. クライアントシークレット フィールドに、クライアントシークレットを入力します。
  7. サブスクリプション ID フィールドに、サブスクリプション ID を入力します。
  8. Tenant ID フィールドで、ディレクトリーまたは テナント ID を入力します。
  9. Azure リージョン リストから、使用する Azure リージョンを選択します。
  10. 送信 をクリックします。

CLI をご利用の場合

  • hammer compute-resource create コマンドを使用して Satellite に Azure コンピュートリソースを追加します。--region オプションの値には、小文字を使用する必要があり、特殊文字を含めることはできません。

    # hammer compute-resource create --name azure_cr_name \
    --provider azurerm \
    --tenant tenant-id \
    --app-ident client-id \
    --secret-key client-secret \
    --sub-id subscription-id \
    --region 'region'

16.2. Microsoft Azure Resource Manager イメージの Satellite Server への追加

イメージベースのプロビジョニングを使用してホストを作成するには、アクセスの情報およびイメージの場所など、イメージの情報を Satellite Server に追加する必要があります。

手順

  1. Satellite Web UI で、インフラストラクチャー > コンピュートリソース に移動し、Microsoft Azure Resource Manager 接続の名前をクリックします。
  2. イメージの作成 をクリックします。
  3. 名前 フィールドに、イメージの名前を入力します。
  4. オペレーティングシステム リストから、イメージのベースオペレーティングシステムを選択します。
  5. アーキテクチャー リストから、オペレーティングシステムのアーキテクチャーを選択します。
  6. ユーザー名 フィールドには、イメージにアクセスするための SSH ユーザー名を入力します。root ユーザーは使用できません。
  7. オプション: パスワード フィールドに認証に使用するパスワードを入力します。
  8. Marketplace Image URN フィールドに、RedHat:RHEL:7-RAW:latest など、Marketplace URN を入力します。詳細は、「Find Linux VM images in the Azure Marketplace with the Azure CLI」を参照してください。
  9. オプション: イメージで cloud-init データなどのユーザーデータ入力をサポートさせるには、ユーザーデータ チェックボックスを選択します。
  10. 送信 をクリックしてイメージの詳細を保存します。

CLI をご利用の場合

  • hammer compute-resource image create コマンドを使用してイメージを作成します。イメージに入力するユーザー名は、このイメージでホストを作成する時に使用したものと同じでなければなりません。--password オプションは、イメージの作成には任意です。root ユーザーは使用できません。

    # hammer compute-resource image create \
    --name Azure_image_name \
    --compute-resource azure_cr_name \
    --uuid 'RedHat:RHEL:7-RAW:latest' \
    --username 'azure_username' \
    --user-data no

16.3. Microsoft Azure Resource Manager の詳細のコンピューティングプロファイルへの追加

この手順を使用して、Azure ハードウェア設定をコンピューティングプロファイルに追加します。このコンピューティングプロファイルを使用して Azure でホストを作成すると、これらの設定が自動的に入力されます。

手順

  1. Satellite Web UI で、インフラストラクチャー > コンピュートプロファイル に移動します。
  2. コンピュートプロファイルウィンドウで、既存のコンピュートプロファイル名をクリックするか、Create Compute Profile をクリックするか、Name を入力して Submit をクリックします。
  3. Azureコンピューティングリソースの名前をクリックします。
  4. リソースグループ リストから、プロビジョニングするリソースグループを選択します。
  5. VM サイズ リストからプロビジョニングする仮想マシンのサイズを選択します。
  6. プラットフォーム リストから Linux を選択します。Satellite は、Microsoft オペレーティングシステムを実行する仮想マシンのプロビジョニングはサポートしません。
  7. Username フィールドに、認証に使用するユーザー名を入力します。コンピュートプロファイルに入力するユーザー名は、イメージの作成時に使用したのと同じものでなければなりません。
  8. ユーザーを認証するには、以下のオプションのいずれかを使用します。

    • パスワードを使用した認証は、パスワード フィールドにパスワードを入力します。
    • SSH キーを使用した認証は、SSH Key フィールドに SSH キーを入力します。
  9. オプションl: 仮想マシンに、プレミアム仮想マシンディスクを使用させる場合には、プレミアム OS ディスク のチェックボックスを選択します。
  10. OS ディスクのキャッシュ リスからディスクのキャッシュ設定を選択します。
  11. オプション: カスタムスクリプトコマンド フィールドに、仮想マシンのプロビジョニング時に仮想マシンで実行するコマンドを入力します。
  12. オプション: プロビジョニングの完了時にカスタムスクリプトを実行する場合には、コンマ区切りのファイルの URI フィールドに、使用するコンマ区切りのファイルの URI を入力します。Red Hat Satellite はファイルを /var/lib/waagent/custom-script/download/0/ ディレクトリーにダウンロードし、スクリプトの実行には sudo の特権が必要であるため、スクリプトには、最初に sudo を含める必要があります。
  13. インターフェースの追加 をクリックします。
  14. Azure サブネット リストからプロビジョニングする Azure サブネットを選択します。
  15. パブリック IP リストからパブリック IP 設定を選択します。
  16. オプション: 静的なプライベート IP を仮想マシンに使用させるには、静的なプライベート IP のチェックボックスを選択します。
  17. 送信 をクリックします。

CLI をご利用の場合

  1. Azure Resource Manager のコンピュートリソースで使用するコンピュートプロファイルを作成します。

    # hammer compute-profile create --name compute_profile_name
  2. コンピュートプロファイルに Azure の情報を追加します。ユーザー名 の設定では、イメージへのアクセスに使用する SSH ユーザー名を入力します。コンピュートプロファイルに入力するユーザー名は、イメージの作成時に使用するものと同じである必要があります。

    # hammer compute-profile values create \
    --compute-profile "compute_profile_name" \
    --compute-resource azure_cr_name \
    --compute-attributes="resource_group=resource_group,vm_size=Standard_B1s,username=azure_user,password=azure_password,platform=Linux,script_command=touch /var/tmp/text.txt" \
    --interface="compute_public_ip=Dynamic,compute_network=mysubnetID,compute_private_ip=false"

    オプション: プロビジョニング後に仮想マシンでスクリプトを実行する場合には、以下の設定を指定します。

    • 直接スクリプトを入力するには、script_command 設定で、プロビジョニングした仮想マシンで実行するコマンドを入力します。
    • script_uris 設定を使用して URI からスクリプトを実行するには、使用するコンマ区切りのファイルの URI を入力します。Red Hat Satellite はファイルを /var/lib/waagent/custom-script/download/0/ ディレクトリーにダウンロードし、スクリプトの実行には sudo の特権が必要であるため、スクリプトには、最初に sudo を含める必要があります。

16.4. Microsoft Azure Resource Manager でのイメージベースのホスト作成

Satellite では、Microsoft Azure Resource Manager プロビジョニングを使用して、既存のイメージからホストを作成できます。この新しいホストエントリーで、Microsoft Azure Resource Manager サーバーが、新規ボリュームのベースとして既存のイメージを使用して、仮想マシンを作成するようにトリガーします。

手順

  1. Satellite Web UI で、ホスト > ホストの作成 に移動します。
  2. 名前 フィールドには、ホストの名前を入力します。
  3. 組織 および ロケーション タブをクリックして、プロビジョニングのコンテキストが現在のコンテキストに自動的に設定されていることを確認します。
  4. ホストグループ リストから、フォームの生成に使用するホストグループを選択します。
  5. デプロイ先 リストから、Microsoft Azure Resource Manager 接続を選択します。
  6. コンピュートプロファイル リストから、仮想マシンの設定を自動的に投入するために使用するプロファイルを選択します。
  7. インターフェース タブをクリックして、ホストのインターフェースで 編集 をクリックします。
  8. 特に以下の項目など、フィールドに自動的に入力されていることを確認します。

    • ホスト タブの 名前DNS 名 になります。
    • MAC アドレス フィールドは空白です。Microsoft Azure Resource Manager サーバーは、プロビジョニング中に MAC アドレスをホストに割り当てます。
    • Azure サブネット フィールドに必要な Azure サブネットの情報が入力されていること。
    • ホストの最初のインターフェースで Managed (管理)Primary、および Provision オプションが自動的に選択されていること。選択されていない場合は、選択してください。
  9. オプション: 静的なプライベート IP アドレスを使用する場合には、IPv4 サブネット リストから Azure サブネットのアドレスと一致するように、ネットワークアドレス フィールドで、Satellite のサブネットを作成してください。IPv4 Address フィールドで、Azure サブネット範囲内の IPv4 アドレスを入力します。
  10. オペレーティングシステム タブをクリックして、全フィールドに値が自動的に含まれていることを確認します。
  11. Root パスワード フィールドに、認証に使用する root パスワードを入力します。
  12. プロビジョニングテンプレート解決 をクリックし、新規ホストから使用する適切なプロビジョニングテンプレートを特定できることを確認します。
  13. 仮想マシン タブをクリックして、これらの設定には、ホストグループおよびコンピュートプロファイルからの情報が入力されていることを確認し、必要に応じて変更してください。
  14. パラメーター タブをクリックして、存在するパラメーターでアクティベーションキーが提供されていることを確認します。提供されていない場合には、アクティベーションキーを追加します。
  15. 送信 をクリックしてホストエントリーを保存します。

CLI をご利用の場合

  • --provision-method image を指定して hammer host create コマンドでホストを作成します。以下の例の値は、環境似合った値に置き換えます。

    # hammer host create \
    --name="Azure_VM" \
    --organization "Your_Organization" \
    --location "Your_Location" \
    --compute-resource azure_cr_name \
    --compute-profile "compute_profile_name" \
    --provision-method 'image' \
    --image Azure_image_name \
    --domain domain_name \
    --architecture x86_64 \
    --operatingsystem "operating_system_name"

このコンピュートリソースに対する他のホスト作成パラメーターの情報は、hammer host create --help コマンドを入力します。