SAP ソリューション用 Azure VM 拡張機能の新しいバージョン

前提条件

Note

一般的なサポートに関する声明: Azure Extension for SAP のサポートは、SAP のサポート チャネルを通じて提供されます。 SAP ソリューション用 Azure VM 拡張機能に関するサポートが必要な場合は、SAP サポートでサポート ケースを開いてください

Note

Azure Extension for SAP の標準バージョンと新しいバージョンを切り替える前に、必ず VM 拡張機能をアンインストールしてください。

Note

VM 拡張機能には 2 つのバージョンがあります。 この記事では、新しいバージョンの SAP 用 Azure VM 拡張機能について説明します。 標準バージョンのインストール方法に関するガイダンスについては、「SAP ソリューション用 Azure VM 拡張機能の標準バージョン」を参照してください。

  • 必ず SAP Host Agent 7.21 PL 47 以上を使用してください。
  • 拡張機能が有効になっている仮想マシンが management.azure.com にアクセスできることを確認します。

Azure PowerShell コマンドレットのデプロイ

Azure PowerShell モジュールのインストールに関する記事で説明されている手順に従ってください

PowerShell コマンドレットの更新プログラムがあるかどうかをこまめに確認してください。通常は毎月更新されます。 こちらの記事で説明されている手順に従ってください。 SAP Note 1928533 または 2015553 に特に記載されていない限り、最新バージョンの Azure PowerShell コマンドレットを使用することをお勧めします。

コンピューターにインストールされている Azure PowerShell コマンドレットのバージョンを確認するには、次の PowerShell コマンドを実行します。

(Get-Module Az.Compute).Version

Azure CLI のデプロイ

記事「Azure CLI のインストール」で説明されている手順に従ってください

Azure CLI の更新プログラムがあるかどうかをこまめに確認してください。通常は毎月更新されます。

コンピューターにインストールされている Azure CLI のバージョンを確認するには、次のコマンドを実行します。

az --version

PowerShell を使用して SAP ソリューション用 Azure VM 拡張機能を構成する

SAP 用の新しい VM 拡張機能では、VM の監視と構成のデータにアクセスするために、VM に割り当てられたマネージド ID が使用されます。 PowerShell を使用して新しい Azure Extension for SAP をインストールするには、まずそのような ID を VM に割り当ててから、その VM で使用されているすべてのリソース (ディスクやネットワーク インターフェイスなど) に対するアクセス権をその ID に付与する必要があります。

Note

次の手順では、リソース グループまたは個々のリソース (仮想マシン、データ ディスク、ネットワーク インターフェイス) に対する所有者特権が必要です。

  1. 必ず SAP Host Agent 7.21 PL 47 以上を使用してください。

  2. 必ず標準バージョンの SAP 用 VM 拡張機能をアンインストールしてください。 同じ仮想マシンに両方のバージョンの SAP 用 VM 拡張機能をインストールすることはサポートされていません。

  3. 最新バージョンの Azure PowerShell コマンドレット (4.3.0 以上) がインストールされていることを確認します。 詳細については、「Azure PowerShell コマンドレットのデプロイ」をご覧ください。

  4. 次の PowerShell コマンドレットを実行します。 使用可能な環境の一覧を表示するには、コマンドレット Get-AzEnvironment を実行します。 グローバル Azure を使う場合の環境は AzureCloud です。 21Vianet によって運営される Microsoft Azure の場合、AzureChinaCloud を選びます。

    VM Extension for SAP では、拡張機能が外部リソース (Azure Resource Manager API など) への接続に使用するプロキシの構成がサポートされています プロキシを設定するには、パラメーター -ProxyURI を使用してください。

    $env = Get-AzEnvironment -Name <name of the environment>
    Connect-AzAccount -Environment $env
    Set-AzContext -SubscriptionName <subscription name>
    
    Set-AzVMAEMExtension -ResourceGroupName <resource group name> -VMName <virtual machine name> -InstallNewExtension
    
  5. SAP Host Agent を再起動します

    SAP 用の VM 拡張機能を有効にした仮想マシンにログオンし、SAP Host Agent が既にインストールされていた場合は再起動します。 SAP Host Agent は、再起動されるまで VM 拡張機能を使用しません。 現在、それが起動された後、拡張機能がインストールされたことを検出することはできません。

Azure CLI を使用して SAP ソリューション用 Azure VM 拡張機能を構成する

SAP 用の新しい VM 拡張機能では、VM の監視と構成データにアクセスするために、VM に割り当てられたマネージド ID が使用されます。

Note

次の手順では、リソース グループまたは個々のリソース (仮想マシン、データ ディスクなど) に対する所有者特権が必要です。

  1. SAP Host Agent 7.21 PL 47 以降を使用していることを確認します。

  2. 現在のバージョンの SAP 用 VM 拡張機能をアンインストールしていることを確認します。 同じ VM に両方のバージョンの SAP 用 VM 拡張機能をインストールすることはできません。

  3. 最新バージョンである Azure CLI 2.0 (バージョン 2.19.1 以降) をインストールします。

  4. Azure アカウントでサインインします。

    az login
    
  5. Azure CLI AEM Extension をインストールします。 バージョン 0.2.2 以降を使用していることを確認してください。

    az extension add --name aem
    
  6. 新しい拡張機能の有効化:

    VM Extension for SAP では、拡張機能が外部リソース (Azure Resource Manager API など) への接続に使用するプロキシの構成がサポートされています プロキシを設定するには、パラメーター --proxy-uri を使用してください。

    az vm aem set -g <resource-group-name> -n <vm name> --install-new-extension
    
  7. SAP Host Agent を再起動します

    SAP 用の VM 拡張機能を有効にした仮想マシンにログオンし、SAP Host Agent が既にインストールされていた場合は再起動します。 SAP Host Agent は、再起動されるまで VM 拡張機能を使用しません。 現在、それが起動された後、拡張機能がインストールされたことを検出することはできません。

SAP ソリューション用 Azure VM 拡張機能を手動で構成する

Azure Resource Manager、Terraform、またはその他のツールを使用して、SAP 用 VM 拡張機能をデプロイする場合は、専用の PowerShell または Azure CLI コマンドを使用せずに、SAP 用 VM 拡張機能を手動でデプロイすることもできます。

SAP 用 VM 拡張機能をデプロイする前に、必ずユーザーまたはシステム割り当てマネージド ID を仮想マシンに割り当ててください。 詳細については、次のガイドを参照してください。

仮想マシンに ID を割り当てた後、VM にリソース グループまたは仮想マシンに関連付けられている個々のリソース (VM、ネットワーク インターフェイス、OS ディスク、データ ディスク) への読み取りアクセス権を VM に付与します。 組み込みの閲覧者ロールを使用して、これらのリソースへのアクセス権を付与することをお勧めします。 また、必要なリソースの読み取りアクセス権が既にある Microsoft Entra グループに VM ID を追加することで、このアクセスを許可することもできます。 必要なアクセス許可を既に持っているユーザー割り当て ID を使用する場合、SAP 用 VM 拡張機能をデプロイするときに所有者特権を持つ必要はなくなりました。

VM Extension for SAP を手動でデプロイする方法はさまざまです。 以降の章でいくつかの例を確認してください。

現在のところ、拡張機能では次の構成キーがサポートされています。 次の例では、msi_res_id が示されています。

  • msi_res_id: 拡張機能が VM とそのリソースに関する必要な情報を取得するために使用する必要があるユーザー割り当て ID の ID
  • proxy: 拡張機能がインターネットに接続するために使用する必要があるプロキシの URL (たとえば、仮想マシンとそのリソースに関する情報を取得するため)。

Azure PowerShell を使用して手動でデプロイする

次のコードには、4 つの例が含まれています。 システムまたはユーザー割り当て ID を使用して、Windows と Linux に拡張機能をデプロイする方法を示します。 この例でのリソース グループの名前、場所、VM 名は必ず置き換えてください。

# Windows VM - user assigned identity
Set-AzVMExtension -Publisher "Microsoft.AzureCAT.AzureEnhancedMonitoring" -ExtensionType "MonitorX64Windows" -ResourceGroupName "<rg name>" -VMName "<vm name>" `
   -Name "MonitorX64Windows" -TypeHandlerVersion "1.0" -Location "<location>" -SettingString '{"cfg":[{"key":"msi_res_id","value":"<user assigned resource id>"}]}'

# Windows VM - system assigned identity
Set-AzVMExtension -Publisher "Microsoft.AzureCAT.AzureEnhancedMonitoring" -ExtensionType "MonitorX64Windows" -ResourceGroupName "<rg name>" -VMName "<vm name>" `
   -Name "MonitorX64Windows" -TypeHandlerVersion "1.0" -Location "<location>" -SettingString '{"cfg":[]}'

# Linux VM - user assigned identity
Set-AzVMExtension -Publisher "Microsoft.AzureCAT.AzureEnhancedMonitoring" -ExtensionType "MonitorX64Linux" -ResourceGroupName "<rg name>" -VMName "<vm name>" `
   -Name "MonitorX64Linux" -TypeHandlerVersion "1.0" -Location "<location>" -SettingString '{"cfg":[{"key":"msi_res_id","value":"<user assigned resource id>"}]}'

# Linux VM - system assigned identity
Set-AzVMExtension -Publisher "Microsoft.AzureCAT.AzureEnhancedMonitoring" -ExtensionType "MonitorX64Linux" -ResourceGroupName "<rg name>" -VMName "<vm name>" `
   -Name "MonitorX64Linux" -TypeHandlerVersion "1.0" -Location "<location>" -SettingString '{"cfg":[]}'

Azure CLI を使用して手動でデプロイする

次のコードには、4 つの例が含まれています。 システムまたはユーザー割り当て ID を使用して、Windows と Linux に拡張機能をデプロイする方法を示します。 この例でのリソース グループの名前、場所、VM 名は必ず置き換えてください。

# Windows VM - user assigned identity
az vm extension set --publisher "Microsoft.AzureCAT.AzureEnhancedMonitoring" --name "MonitorX64Windows" --resource-group "<rg name>" --vm-name "<vm name>" \
   --extension-instance-name "MonitorX64Windows" --settings '{"cfg":[{"key":"msi_res_id","value":"<user assigned resource id>"}]}'

# Windows VM - system assigned identity
az vm extension set --publisher "Microsoft.AzureCAT.AzureEnhancedMonitoring" --name "MonitorX64Windows" --resource-group "<rg name>" --vm-name "<vm name>" \
   --extension-instance-name "MonitorX64Windows" --settings '{"cfg":[]}'
   
# Linux VM - user assigned identity
az vm extension set --publisher "Microsoft.AzureCAT.AzureEnhancedMonitoring" --name "MonitorX64Linux" --resource-group "<rg name>" --vm-name "<vm name>" \
   --extension-instance-name "MonitorX64Linux" --settings '{"cfg":[{"key":"msi_res_id","value":"<user assigned resource id>"}]}'

# Linux VM - system assigned identity
az vm extension set --publisher "Microsoft.AzureCAT.AzureEnhancedMonitoring" --name "MonitorX64Linux" --resource-group "<rg name>" --vm-name "<vm name>" \
   --extension-instance-name "MonitorX64Linux" --settings '{"cfg":[]}'

Terraform を使用して手動でデプロイする

次のマニフェストには、4 つの例が含まれています。 システムまたはユーザー割り当て ID を使用して、Windows と Linux に拡張機能をデプロイする方法を示します。 この例での VM の ID とユーザー割り当て ID の ID は必ず置き換えてください。


# Windows VM - user assigned identity

resource "azurerm_virtual_machine_extension" "example" {
  name                 = "MonitorX64Windows"
  virtual_machine_id   = "<vm id>"
  publisher            = "Microsoft.AzureCAT.AzureEnhancedMonitoring"
  type                 = "MonitorX64Windows"
  type_handler_version = "1.0"
  auto_upgrade_minor_version = true

  settings = <<SETTINGS
{
    "cfg":[
        {
            "key":"msi_res_id",
            "value":"<user assigned resource id>"
        }
    ]
}
SETTINGS
}

# Windows VM - system assigned identity

resource "azurerm_virtual_machine_extension" "example" {
  name                 = "MonitorX64Windows"
  virtual_machine_id   = "<vm id>"
  publisher            = "Microsoft.AzureCAT.AzureEnhancedMonitoring"
  type                 = "MonitorX64Windows"
  type_handler_version = "1.0"
  auto_upgrade_minor_version = true

  settings = <<SETTINGS
{
    "cfg":[
    ]
}
SETTINGS
}

# Linux VM - user assigned identity

resource "azurerm_virtual_machine_extension" "example" {
  name                 = "MonitorX64Linux"
  virtual_machine_id   = "<vm id>"
  publisher            = "Microsoft.AzureCAT.AzureEnhancedMonitoring"
  type                 = "MonitorX64Linux"
  type_handler_version = "1.0"
  auto_upgrade_minor_version = true

  settings = <<SETTINGS
{
    "cfg":[
        {
            "key":"msi_res_id",
            "value":"<user assigned resource id>"
        }
    ]
}
SETTINGS
}

# Linux VM - system assigned identity

resource "azurerm_virtual_machine_extension" "example" {
  name                 = "MonitorX64Linux"
  virtual_machine_id   = "<vm id>"
  publisher            = "Microsoft.AzureCAT.AzureEnhancedMonitoring"
  type                 = "MonitorX64Linux"
  type_handler_version = "1.0"
  auto_upgrade_minor_version = true

  settings = <<SETTINGS
{
    "cfg":[
    ]
}
SETTINGS
}

SAP 用 VM 拡張機能のバージョン

VM 拡張機能の自動更新を無効にする場合、または拡張機能の特定のバージョンをデプロイする場合は、Azure CLI または Azure PowerShell を使用して使用可能なバージョンを取得できます。

Azure PowerShell

# Windows
Get-AzVMExtensionImage -Location westeurope -PublisherName Microsoft.AzureCAT.AzureEnhancedMonitoring -Type MonitorX64Windows
# Linux
Get-AzVMExtensionImage -Location westeurope -PublisherName Microsoft.AzureCAT.AzureEnhancedMonitoring -Type MonitorX64Linux

Azure CLI

# Windows
az vm extension image list --location westeurope --publisher Microsoft.AzureCAT.AzureEnhancedMonitoring --name MonitorX64Windows
# Linux
az vm extension image list --location westeurope --publisher Microsoft.AzureCAT.AzureEnhancedMonitoring --name MonitorX64Linux

移行対応性チェック

このチェックでは、SAP アプリケーション内で表示されるすべてのパフォーマンス メトリックが、基になる Azure Extension for SAP によって提供されていることを確認します。

Windows VM での適合性チェックの実行

  1. Azure 仮想マシンにサインインします (管理者アカウントを使用する必要はありません)。
  2. Web ブラウザーを開き、http://127.0.0.1:11812/azure4sap/metrics に移動します。
  3. ブラウザーによって、仮想マシンの監視データを含む XML ファイルが表示またはダウンロードされるはずです。 そうでない場合は、Azure Extension for SAP がインストールされていることを確認してください。
  4. XML ファイルの内容を確認します。 http://127.0.0.1:11812/azure4sap/metrics でアクセスできる XML ファイルには、SAP 用に設定されたすべての Azure パフォーマンス カウンターが含まれています。 また、Azure Extension for SAP の状態の概要と正常性インジケーターも含まれています。
  5. Provider Health Description 要素の値を確認します。 値が [OK] ではない場合は、「正常性チェック」の章の手順に従います。

Linux VM での適合性チェックの実行

  1. SSH を使用して Azure 仮想マシンに接続します。
  2. 次のコマンドの出力を確認します
    curl http://127.0.0.1:11812/azure4sap/metrics
    
    予測される結果: 仮想マシン、そのディスク、およびネットワーク インターフェイスの監視情報を含む XML ドキュメントが返されます。

前のチェックが失敗した場合は、次の追加チェックを実行します。

  1. waagent がインストールされ、有効になっていることを確認します。

    a. sudo ls -al /var/lib/waagent/ を実行します。

    予測される結果: waagent ディレクトリの内容を一覧表示します。

    b. ps -ax | grep waagent を実行します。

    予測される結果: python /usr/sbin/waagent -daemon のような 1 つのエントリを表示します。

  2. Azure Extension for SAP がインストールされ、実行されていることを確認します。

    a. sudo sh -c 'ls -al /var/lib/waagent/Microsoft.AzureCAT.AzureEnhancedMonitoring.MonitorX64Linux-*/' を実行します。

    予測される結果: Azure Extension for SAP ディレクトリの内容が一覧表示されます。

    b. ps -ax | grep AzureEnhanced を実行します。

    予測される結果: /var/lib/waagent/Microsoft.AzureCAT.AzureEnhancedMonitoring.MonitorX64Linux-1.0.0.82/AzureEnhancedMonitoring -monitor のような 1 つのエントリを表示します。

  3. SAP Note 1031096 の説明に従って SAP Host Agent をインストールし、saposcol の出力を確認します。

    a. /usr/sap/hostctrl/exe/saposcol -d を実行します。

    b. dump ccm を実行します。

    c. Virtualization_Configuration\Enhanced Monitoring Access メトリックが true であるかどうかを確認します。

既に SAP NetWeaver ABAP アプリケーション サーバーをインストール済みである場合は、トランザクション ST06 を開き、監視が有効になっているかどうかを確認します。

上記のチェックのいずれかが失敗した場合、また拡張機能を再デプロイする方法の詳細については、「Windows でのトラブルシューティング」または「Linux でのトラブルシューティング」をご覧ください。

正常性チェック

一部のインフラストラクチャ データが、「適合性チェック」で説明したテストで示されているように正しく提供されない場合は、この章に記載されている正常性チェックを実行して、Azure インフラストラクチャと Azure Extension for SAP が正しく構成されているかどうかを確認します。

PowerShell を使用した正常性チェック

  1. Azure PowerShell コマンドレットのデプロイ」で説明したように、Azure PowerShell コマンドレットの最新バージョンがインストールされていることを確認します。

  2. 次の PowerShell コマンドレットを実行します。 使用可能な環境のリストを表示するには、Get-AzEnvironment コマンドレットを実行します。 グローバル Azure を使う場合は、AzureCloud 環境を選びます。 21Vianet によって運営される Microsoft Azure の場合、AzureChinaCloud を選びます。

    $env = Get-AzEnvironment -Name <name of the environment>
    Connect-AzAccount -Environment $env
    Set-AzContext -SubscriptionName <subscription name>
    Test-AzVMAEMExtension -ResourceGroupName <resource group name> -VMName <virtual machine name>
    
  3. 選択した仮想マシンの構成がスクリプトによってテストされます。

正常性チェックのすべての結果が OK であることを確認します。 一部のチェックで [OK] が表示されない場合は、「Azure CLI を使用して SAP ソリューション用 Azure VM 拡張機能を構成する」または「PowerShell を使用して SAP ソリューション用 Azure VM 拡張機能を構成する」の説明に従って、更新コマンドレットを実行します。 「適合性チェック」とこの章で説明されているチェックを繰り返します。 チェックで一部またはすべてのカウンターの問題が引き続き見つかった場合は、「Linux でのトラブルシューティング」または「Windows でのトラブルシューティング」をご覧ください。

Azure CLI を使用した正常性チェック

Azure CLI を使用して SAP 用 Azure VM 拡張機能の正常性チェックを実行します。

  1. Azure CLI 2.0 をインストールします。 バージョン 2.19.1 以降を使用していることを確認します (最新バージョンを使用してください)。

  2. Azure アカウントでサインインします。

    az login
    
  3. Azure CLI AEM Extension をインストールします。 バージョン 0.2.2 以降を使用していることを確認してください。

    az extension add --name aem
    
  4. 拡張機能がインストールされていることを確認します。

    az vm aem verify -g <resource-group-name> -n <vm name> 
    

選択した仮想マシンの構成がスクリプトによってテストされます。

正常性チェックのすべての結果が OK であることを確認します。 一部のチェックで [OK] が表示されない場合は、「Azure CLI を使用して SAP ソリューション用 Azure VM 拡張機能を構成する」または「PowerShell を使用して SAP ソリューション用 Azure VM 拡張機能を構成する」の説明に従って、更新コマンドレットを実行します。 「適合性チェック」とこの章で説明されているチェックを繰り返します。 チェックで一部またはすべてのカウンターの問題が引き続き見つかった場合は、「Linux でのトラブルシューティング」または「Windows でのトラブルシューティング」をご覧ください。

Windows でのトラブルシューティング

Azure パフォーマンス カウンターまったく表示されない

Azure のパフォーマンス メトリックは、AzureEnhancedMonitoring プロセスによって収集されます。 VM でこのプロセスが実行されていない場合、パフォーマンス メトリックを収集することはできません。

Azure Extension for SAP のインストール ディレクトリが空である

問題

インストール ディレクトリ C:\Packages\Plugins\Microsoft.AzureCAT.AzureEnhancedMonitoring.MonitorX64Windows\<バージョン> が空です。

解決策

拡張機能がインストールされていません。 これがプロキシの問題 (前述) かどうかを確認します。 場合によっては、マシンを再起動するか、VM 拡張機能をもう一度インストールする必要があります。

一部の Azure パフォーマンス カウンターが見つからない

Azure のパフォーマンス メトリックは、AzureEnhancedMonitoring Windows プロセスによって収集されます。 このプロセスでは、複数のソースからデータが取得されます。 一部の構成データはローカルで収集され、一部のパフォーマンス メトリックは Azure Monitor から読み取られます。

SAP Note 1999351 を使用してトラブルシューティングを行っても問題が解決しない場合は、Windows では BC-OP-NT-AZR コンポーネント、Linux 仮想マシンでは BC-OP-LNX-AZR コンポーネントで、SAP カスタマー サポート メッセージを開きます。 ログ ファイル C:\Packages\Plugins\Microsoft.AzureCAT.AzureEnhancedMonitoring.MonitorX64Windows\<バージョン>\logapp.txt をインシデントに添付してください。

Linux でのトラブルシューティング

Azure パフォーマンス カウンターまったく表示されない

Azure のパフォーマンス メトリックは、デーモンによって収集されます。 デーモンが実行されていない場合、パフォーマンス メトリックを収集できません。

Azure Extension for SAP のインストール ディレクトリが空である

問題

/var/lib/waagent/ ディレクトリに、Azure Extension for SAP のサブディレクトリがありません。

解決策

拡張機能がインストールされていません。 これがプロキシの問題 (前述) かどうかを確認します。 場合によっては、マシンを再起動するか、VM 拡張機能をもう一度インストールする必要があります。

一部の Azure パフォーマンス カウンターが見つからない

Azure のパフォーマンス メトリックは、デーモンによって収集されます。デーモンは複数のソースからデータを取得します。 一部の構成データはローカルで収集され、一部のパフォーマンス メトリックは Azure Monitor から読み取られます。 既知の問題の最新のリストについては、SAP Note 1999351 を参照してください。この SAP Note には、Azure Extension for SAP に関するその他のトラブルシューティング情報が記載されています。 SAP Note 1999351 を使用してトラブルシューティングを行っても問題が解決しない場合は、「Azure Extension for SAP を構成する」の説明に従って、拡張機能をもう一度インストールしてください。 問題が解決しない場合は、Windows では BC-OP-NT-AZR コンポーネント、Linux 仮想マシンでは BC-OP-LNX-AZR コンポーネントで、SAP カスタマー サポート メッセージを開きます。 ログ ファイル /var/lib/waagent/Microsoft.AzureCAT.AzureEnhancedMonitoring.MonitorX64Linux-<バージョン>/logapp.txt をインシデントに添付してください。

Azure 拡張機能のエラー コード

エラー ID はすべて a-# の形式の一意のタグを含んでいます。ここで、# は数字です。 これにより、特定のエラーと考えられる解決策を迅速に検索できます。

エラー ID エラーの説明 解決策
a-0116 認証トークンなし 詳細情報:
拡張機能は、Azure Monitor で VM メトリックにアクセスするための認証トークンを取得できません。 VM メトリックを配信するには、VM 自体、VM に接続されているすべてのディスクとすべての NIC など、VM リソースへのアクセスが必要です。
解決方法:
VM マネージド ID を有効にして、VM リソース グループの閲覧者ロールを割り当ててください。 セットアップ スクリプトを使用すると、スクリプトによって割り当てが実行されます。 通常、VM マネージド ID を手動で有効にして割り当てる必要はありません。

次のステップ