最終確認: 2026年5月
AZ-120 試験の対象となる AWS サービスを、プレーンな Terraform を使用して構築します。1 ブロックずつ、それぞれ試験ドメインに関連付けられています。同じコードが OpenTofu でも動作します。
このラボを終えるまでに、標準のTerraformを使用して、Azure SAPリファレンスアーキテクチャの基盤をプロビジョニングします。これには、アプリとDBサブネットを持つVNet、SAP <-> HANAトラフィックの低遅延のために共同配置されたリソースを固定する近接配置グループ、アプリケーション層のフォールトドメイン用可用性セット、HANAのストレージ要件を満たすプレミアムSSDマネージドディスクの形状、そしてSAPホスト名用のプライベートDNSゾーンが含まれます。
SAP認定の大型VM(Mv2 / Eシリーズ、簡単に月額1000ドル以上)は意図的にプロビジョニングしません。この基盤が構築されれば、SAP VMは適切なサイズに設定された標準の azurerm_linux_virtual_machine リソースを介して、可用性セット + 近接配置グループ + ディスク形状に組み込まれます。
これらのスニペットを単一の main.tf にドロップし、terraform init を実行した後、terraform apply をステップバイステップで実行してください。
>= 1.5 または OpenTofu >= 1.6。az login)。ラボの基盤は基本的に無料です(VMなし)。
ディスクのみでアイドル状態の場合、月額約20ドルかかります。実際にSAP認定VMをデプロイした場合(Mv2シリーズは2~12 TB RAM、Eシリーズは64+ GB RAM)、VMあたり月額1,000ドル~15,000ドルを見込んでください。実際のAzure予算コミットメントに署名していない限り、ラボサブスクリプションにSAP VMをプロビジョニングしないでください。
標準的なAzureの開始部分です。AZ-120では、SAP認定済みで、必要なMシリーズVMをサポートするリージョンを選択することが求められます — eastus2、westeurope、northeurope が最も安全な選択肢です。
terraform {
required_version = ">= 1.5"
required_providers {
azurerm = { source = "hashicorp/azurerm", version = "~> 4.0" }
}
}
provider "azurerm" {
features {}
}
locals {
tags = {
Project = "certlabpro-az-120"
ManagedBy = "terraform"
Workload = "SAP"
}
}
resource "azurerm_resource_group" "main" {
name = "certlabpro-az-120-rg"
location = "eastus2"
tags = local.tags
}Azure上のSAPアーキテクチャでは、アプリケーションサーバー(中程度のCPU、控えめなメモリ)とHANAデータベース(非常に大きなメモリ)を別個のサブネットに分離します。通常、DB層にはより厳格なNSGが適用されます。AZ-120ではこの層の分離が問われます。アプリサブネットはSAPサービスをユーザー(またはロードバランサー)に公開し、DBサブネットは内部専用で、アプリ層からのみアクセス可能です。
/16 VNetから app および db サブネットを切り出します。NSGはこのラボの範囲外です(追加するのは簡単でしょう — AZ-104のステップ2と同じパターンです)。
resource "azurerm_virtual_network" "sap" {
name = "vnet-sap"
resource_group_name = azurerm_resource_group.main.name
location = azurerm_resource_group.main.location
address_space = ["10.0.0.0/16"]
tags = local.tags
}
resource "azurerm_subnet" "app" {
name = "app"
resource_group_name = azurerm_resource_group.main.name
virtual_network_name = azurerm_virtual_network.sap.name
address_prefixes = ["10.0.1.0/24"]
}
resource "azurerm_subnet" "db" {
name = "db"
resource_group_name = azurerm_resource_group.main.name
virtual_network_name = azurerm_virtual_network.sap.name
address_prefixes = ["10.0.2.0/24"]
}近接配置グループ (PPG) は、SAPアプリケーションサーバーとHANA間の超低遅延を実現するための、AZ-120の「SAPをサポートするインフラストラクチャの設計と実装」における回答です。PPGで共同配置されたVMは同じデータセンター(文字通り同じラック)に配置され、VM間レイテンシが1ミリ秒未満となり、SAPのHANA-アプリ間通信に必要です。
可用性セット は、単一のデータセンター内でフォールトドメイン(個別の電源/ネットワークレール)をまたいでVMをグループ化します。この組み合わせ — レイテンシ用のPPGとフォールトトレランス用の可用性セット — は、SAPアプリケーション層のAZ-120リファレンス形状です。(ゾーン可用性の場合、Azureは現在、PPG + ゾーンを介してすべてのVMを同じ可用性ゾーンに配置することもサポートしており、これはよりモダンなパターンです。)
resource "azurerm_proximity_placement_group" "sap" {
name = "ppg-sap"
resource_group_name = azurerm_resource_group.main.name
location = azurerm_resource_group.main.location
tags = local.tags
}
resource "azurerm_availability_set" "app" {
name = "avset-sap-app"
resource_group_name = azurerm_resource_group.main.name
location = azurerm_resource_group.main.location
platform_fault_domain_count = 2 # max for the region
platform_update_domain_count = 5
proximity_placement_group_id = azurerm_proximity_placement_group.sap.id
managed = true
tags = local.tags
}HANAのストレージは、実稼働ワークロード向けにプレミアムSSD以上(Pシリーズティア)を必要とします。SAP認定のIOPSとスループット仕様は、HANAデータ/ログ用にP30以上のディスクを前提としています。AZ-120の「SAPをサポートするインフラストラクチャの設計と実装」では、ディスク層の選択が継続的なコストとパフォーマンスのトレードオフとしてテストされます。
P10 (128 GB) マネージドディスクを形状のデモンストレーションとしてプロビジョニングします — 小さくて安価ですが、本番HANAディスクが使用するのと同じ Premium_LRS ストレージアカウントタイプです。VMへのアタッチは別のステップであり(ここでは範囲外です)。本番HANAの場合、SAPが要求するスループットのために、P30 / P40ディスクを使用し、LVMを介して複数のディスクをストライプ化します。
resource "azurerm_managed_disk" "hana_data_shape" {
name = "disk-hana-data-shape"
resource_group_name = azurerm_resource_group.main.name
location = azurerm_resource_group.main.location
storage_account_type = "Premium_LRS" # SAP-certified storage tier
create_option = "Empty"
disk_size_gb = 128 # P10 size — demonstration only; production HANA uses P30+
tags = local.tags
}SAPのインストールは、安定した予測可能なホスト名(sapha01、sapha02、sapdb01)に大きく依存しています。SAPHostAgentとHANA System Replicationの両方が一貫したホスト名解決を必要とします。AZ-120の「Azureコンピューティングおよびストレージソリューションの設計と実装」では、手動での /etc/hosts 編集なしでVNet内ホスト名の安定性を実現するソリューションとしてプライベートDNSがテストされます。
SAPゾーンを作成し、registration_enabled = true を設定してステップ2のVNetにリンクすることで、SAP VMがホスト名を自動登録するようにします。この最後のピースが配置されると、基盤が完成します。階層化されたサブネットを持つVNet、共同配置を固定するPPG、フォールトトレランス用の可用性セット、HANAストレージ用のプレミアムディスク形状、ホスト名の安定性用のプライベートDNSです。SAP VMは、標準の azurerm_linux_virtual_machine リソースを介してこの基盤にデプロイされます。
resource "azurerm_private_dns_zone" "sap" {
name = "sap.internal"
resource_group_name = azurerm_resource_group.main.name
tags = local.tags
}
resource "azurerm_private_dns_zone_virtual_network_link" "sap" {
name = "sap-vnet-link"
resource_group_name = azurerm_resource_group.main.name
private_dns_zone_name = azurerm_private_dns_zone.sap.name
virtual_network_id = azurerm_virtual_network.sap.id
registration_enabled = true
tags = local.tags
}terraform destroy ですべてが削除されます。プレミアムマネージドディスク(月額20ドル)は、24時間年中無休で課金される唯一の項目です — 速やかに削除してください。PPGと可用性セットはメタデータのみであり、即座に削除されます。レコードのないプライベートDNSゾーンはきれいに削除されます。
AZ-120は、このラボでは扱いきれないSAP固有の側面をカバーしています。具体的には、実際のSAP VM(HANA用のMv2シリーズはそれぞれ月額5,000ドル~15,000ドル、アプリサーバー用のEシリーズ)、HANAラージインスタンス(Azure管理ハードウェア上のベアメタルHANA)、Azure上のSAP HA + DR(ASCS/ERS Pacemakerクラスター)、Azure NetApp Files(/hana/shared用のプレミアムティアNFS)、ハイブリッド接続用のExpressRoute、クロスリージョンDR用のAzure Site Recovery、SAP HANA用のAzure Backup、SAPソリューション用Azure Monitor(SAP固有の監視アドオン)、およびAzure Center for SAP Solutions (ACSS) のプロビジョニング自動化です。
SAP固有のVM SKUはラボサブスクリプションにとって費用が高すぎるため、インフラストラクチャの基盤に限定しています。上記の基盤(VNet、PPG、可用性セット、プレミアムディスク、プライベートDNS)は、すべてのAZ-120リファレンスアーキテクチャが開始するまさにそのものです — あなたのSAP VMはこの基盤に組み込まれます。
SAP VM固有のパターンについては、この認定ページにある 閲覧、プレイブック、および Editorial セクションを参照してください。