次の方法で共有


コントロール プレーンを構成する

SAP Deployment Automation Framework のコントロール プレーンは、次のコンポーネントで構成されます。

  • デプロイヤー
  • SAP ライブラリ

コントロール プレーンを示す図。

デプロイヤー

配置者は、SAP Deployment Automation Framework の実行エンジンです。 これは、Terraform および Ansible コマンドの実行に使用される構成済みの仮想マシン (VM) です。 Azure DevOps を使用する場合、デプロイ元はセルフホステッド エージェントです。

デプロイツールの構成は、Terraform tfvars 変数ファイルで実行されます。

Deployer に既存のリソース グループを使用する場合は、デプロイ元の tfvars ファイルの resource_group_arm_id パラメーターを使用して、リソース グループの Azure リソース ID を指定します。 パラメーターが定義されていない場合、リソース グループは既定の名前付けを使用して作成されます。 既定の名前は、 resource_group_name パラメーターを使用して変更できます。

Terraform パラメーター

次の表に、Terraform パラメーターを示します。 デプロイ スクリプトを使用していない場合は、これらのパラメーターを手動で入力する必要があります。

変数 説明 タイプ
tfstate_resource_id Terraform 状態ファイルを含む SAP ライブラリ内のストレージ アカウントの Azure リソース識別子 必須

環境パラメーター

次の表に、リソースの名前付けを定義するパラメーターを示します。

変数 説明 タイプ 注記
environment コントロール プレーンの識別子 (最大 5 文字)。 必須 たとえば、運用環境では PROD、非運用環境では NP です。
___location デプロイする Azure リージョン。 必須 小文字を使用します。
codename リソースに名前を付けるための追加コンポーネント。 オプション
name_override_file オーバーライド ファイルに名前を付けます。 オプション カスタムの名前付けに関するページをご覧ください。
place_delete_lock_on_resources キー リソースに削除ロックを設定します。 オプション

リソースグループ

次の表に、リソース グループを定義するパラメーターを示します。

変数 説明 タイプ
resourcegroup_name 作成するリソース グループの名前 オプション
resourcegroup_arm_id 既存のリソース グループの Azure リソース識別子 オプション
resourcegroup_tags リソース グループに関連付けるタグ オプション

ネットワーク パラメーター

オートメーションフレームワークでは、仮想ネットワークとサブネットの作成 (グリーン フィールド) および既存の仮想ネットワークと既存のサブネットの使用 (ブラウン フィールド) の両方をサポートし、グリーン フィールドとブラウン フィールドを組み合わせることもできます:

  • グリーン フィールド シナリオ: 仮想ネットワーク アドレス空間とサブネット アドレス プレフィックスを指定する必要があります。
  • ブラウン フィールド シナリオ: 仮想ネットワークとサブネットの Azure リソース識別子を指定する必要があります。

仮想ネットワーク アドレス空間の推奨される CIDR は /27 で、32 個の IP アドレスの領域を使用できます。 CIDR 値 /28 では、16 個の IP アドレスのみが許可されます。 Azure Firewall を含める場合は、CIDR 値 /25 を使用します。これは、Azure Firewall には /26 の範囲が必要であるためです。

管理サブネットに推奨される CIDR 値は /28 で、16 個の IP アドレスを許可します。 ファイアウォール サブネットに推奨される CIDR 値は /26 で、64 個の IP アドレスを許可します。

次の表に、ネットワーク パラメーターを示します。

変数 説明 タイプ 注記
management_network_name デプロイを行う仮想ネットワークの名前 オプション グリーン フィールドのデプロイ用
management_network_logical_name ネットワークの論理名 (DEV-WEEU-MGMT01-INFRASTRUCTURE) 必須
management_network_arm_id 仮想ネットワークの Azure リソース識別子 オプション ブラウン フィールドのデプロイ用
management_network_address_space 仮想ネットワークのアドレス範囲 必須 グリーン フィールドのデプロイ用
management_subnet_name サブネットの名前 オプション
management_subnet_address_prefix サブネットのアドレス範囲 必須 グリーン フィールドのデプロイ用
management_subnet_arm_id サブネットの Azure リソース識別子 必須 ブラウン フィールドのデプロイ用
management_subnet_nsg_name ネットワーク セキュリティ グループの名前 オプション
management_subnet_nsg_arm_id ネットワーク セキュリティ グループの Azure リソース識別子 必須 ブラウン フィールドのデプロイ用
management_subnet_nsg_allowed_ips Azure Firewall に追加できる IP アドレスの範囲 オプション
management_firewall_subnet_arm_id Azure Firewall サブネットの Azure リソース識別子 必須 ブラウン フィールドのデプロイ用
management_firewall_subnet_address_prefix サブネットのアドレス範囲 必須 グリーン フィールドのデプロイ用
management_bastion_subnet_arm_id Azure Bastion サブネットの Azure リソース識別子 必須 ブラウン フィールドのデプロイ用
management_bastion_subnet_address_prefix サブネットのアドレス範囲 必須 グリーン フィールドのデプロイ用
webapp_subnet_arm_id Web アプリ サブネットの Azure リソース識別子 必須 ブラウン フィールドのデプロイ用
webapp_subnet_address_prefix サブネットのアドレス範囲 必須 グリーン フィールドのデプロイ用
use_private_endpoint プライベート エンドポイントを使用する。 オプション
use_service_endpoint サブネットにサービス エンドポイントを使用します。 オプション

Web アプリに既存のサブネットを使用する場合、デプロイするリソース グループと同じリージョン内のサブネットを空にし、Microsoft.Web/serverFarms に委任する必要があります。

Deployer 仮想マシンのパラメーター

次の表に、デプロイ元 VM に関連するパラメーターを示します。

変数 説明 タイプ
deployer_size 使用する VM SKU を定義します(既定値: Standard_D4ds_v4 オプション
deployer_count 配置者の数を定義します オプション
deployer_image 使用する VM イメージを定義します。既定値: Ubuntu 22.04 オプション
plan VM イメージに関連付けられているプランを定義します オプション
deployer_disk_type ディスクの種類を定義します。既定値: Premium_LRS オプション
deployer_use_DHCP Azure サブネットで提供される IP アドレスを使用する必要があるかどうかを制御します (動的) true オプション
deployer_private_ip_address 使用するプライベート IP アドレスを定義します オプション
deployer_enable_public_ip デプロイ元にパブリック IP があるかどうかを定義します。 オプション
auto_configure_deployer デプロイ元が必要なソフトウェア (Terraform と Ansible) で構成されているかどうかを定義します オプション
add_system_assigned_identity 展開者にシステム ID が割り当てられているかどうかを定義します オプション

VM イメージは、次の構造を使用して定義されます。

xxx_vm_image  = {
  os_type         = ""
  source_image_id = ""
  publisher       = "Canonical"
  offer           = "0001-com-ubuntu-server-jammy"
  sku             = "22_04-lts"
  version         = "latest"
  type            = "marketplace"
}

型は marketplace/marketplace_with_plan/customできます。 marketplace_with_plan種類のイメージを使用するには、対象のイメージがサブスクリプションで少なくとも 1 回使用されている必要があります。 最初の使用では、ユーザーにライセンス条項への同意を求めるメッセージが表示され、自動化によって承認される手段はありません。

認証パラメーター

このセクションでは、VM 認証の定義に使用されるパラメーターを定義します。

変数 説明 タイプ
deployer_vm_authentication_type 配置者の既定の認証を定義します オプション
deployer_authentication_username 管理者アカウントの名前 オプション
deployer_authentication_password 管理者パスワード オプション
deployer_authentication_path_to_public_key 認証に使用される公開キーへのパス オプション
deployer_authentication_path_to_private_key 認証に使用される秘密キーへのパス オプション
use_spn 定義されている場合、展開はサービス プリンシパルを使用して実行されます。それ以外の場合は MSI オプション

Key Vault パラメーター

このセクションでは、Azure Key Vault 情報の定義に使用されるパラメーターを定義します。

変数 説明 タイプ
user_keyvault_id ユーザー キー コンテナーの Azure リソース識別子。 オプション
spn_keyvault_id デプロイ資格情報を含むキー コンテナーの Azure リソース識別子。 オプション
deployer_private_key_secret_name デプロイ元の秘密キーのキー コンテナー シークレット名。 オプション
deployer_public_key_secret_name デプロイ元の公開キーのキー コンテナーシークレット名。 オプション
deployer_username_secret_name デプロイ元のユーザー名のキー コンテナーシークレット名。 オプション
deployer_password_secret_name デプロイ元のパスワードのキー コンテナー シークレット名。 オプション
additional_users_to_add_to_keyvault_policies デプロイ キー コンテナーのアクセス ポリシーに追加するユーザー オブジェクト ID の一覧。 オプション
set_secret_expiry キー ボールト シークレットの有効期限を 12 か月に設定します。 オプション
soft_delete_retention_days アイテムをソフト削除期間中に保持する日数。 オプション
deployer_assign_subscription_permissions サブスクリプションのアクセス許可の割り当てを制御します。 オプション

DNS サポート

変数 説明 タイプ
dns_label プライベート DNS ゾーンの DNS 名。 オプション
use_custom_dns_a_registration AZURE ネイティブの場合は false に設定された、DNS 用の外部システムを使用します。 オプション
management_dns_subscription_id プライベート DNS ゾーンを含むサブスクリプションのサブスクリプション ID。 オプション
management_dns_resourcegroup_name プライベート DNS ゾーンを含むリソース グループ。 オプション

その他のパラメーター

変数 説明 タイプ 注記
firewall_deployment Azure ファイアウォールをデプロイするかどうかを制御するブール型フラグ。 オプション
bastion_deployment Azure Bastion ホストをデプロイするかどうかを制御するブール型フラグ。 オプション
bastion_sku デプロイする Azure Bastion ホストの SKU (Basic/Standard)。 オプション
enable_purge_control_for_keyvaults キー コンテナーで消去コントロールが有効かどうかを制御するブール値フラグ。 オプション テストデプロイにのみ使用します。
enable_firewall_for_keyvaults_and_storage 選択したサブネットへのアクセスを制限します。 オプション
Agent_IP エージェントの IP アドレス。 オプション
add_Agent_IP エージェント IP がキー コンテナーとストレージ アカウントのファイアウォールに追加されるかどうかを制御します オプション

Web アプリのパラメーター

変数 説明 タイプ 注記
use_webapp Web アプリをデプロイする必要があるかどうかを示すブール値。 オプション
app_service_SKU_name App Service プランの SKU。 オプション
app_registration_app_id Web アプリに使用するアプリ登録 ID。 オプション
webapp_client_secret App Service プランの SKU。 オプション Key Vault に永続化されます

配置者のパラメーター ファイルの例 (必須パラメーターのみ)

# The environment value is a mandatory field, it is used for partitioning the environments, for example (PROD and NP)
environment="MGMT"

# The ___location/region value is a mandatory field, it is used to control where the resources are deployed
___location="westeurope"

# management_network_address_space is the address space for management virtual network
management_network_address_space="10.10.20.0/25"

# management_subnet_address_prefix is the address prefix for the management subnet
management_subnet_address_prefix="10.10.20.64/28"

# management_firewall_subnet_address_prefix is the address prefix for the firewall subnet
management_firewall_subnet_address_prefix="10.10.20.0/26"

# management_bastion_subnet_address_prefix is a mandatory parameter if bastion is deployed and if the subnets are not defined in the workload or if existing subnets are not used
management_bastion_subnet_address_prefix = "10.10.20.128/26"

deployer_enable_public_ip=false

firewall_deployment=true

bastion_deployment=true

SAP ライブラリ

SAP ライブラリは、Terraform 状態ファイルの永続ストレージと、コントロール プレーン用にダウンロードされた SAP インストール メディアを提供します。

SAP ライブラリの構成は、Terraform tfvars 変数ファイルで実行されます。

SAP ライブラリに既存のリソース グループを使用する場合は、デプロイ元の tfvars ファイルの resource_group_arm_id パラメーターを使用して、リソース グループの Azure リソース ID を指定します。 パラメーターが定義されていない場合、リソース グループは既定の名前付けを使用して作成されます。 既定の名前は、 resource_group_name パラメーターを使用して変更できます。

Terraform パラメーター

次の表に、Terraform パラメーターを示します。 デプロイ スクリプトまたは Azure Pipelines を使用していない場合は、これらのパラメーターを手動で入力する必要があります。

変数 説明 タイプ 注記
deployer_tfstate_key デプロイヤー用のステートファイル名 必須

環境パラメーター

次の表に、リソースの名前付けを定義するパラメーターを示します。

変数 説明 タイプ 注記
environment コントロール プレーンの識別子 (最大 5 文字) 必須 たとえば、運用環境では PROD、非運用環境では NP です。
___location デプロイする Azure リージョン 必須 小文字を使用します。
name_override_file 名前オーバーライド ファイル オプション カスタムの名前付けに関するページをご覧ください。

リソースグループ

次の表に、リソース グループを定義するパラメーターを示します。

変数 説明 タイプ
resourcegroup_name 作成するリソース グループの名前 オプション
resourcegroup_arm_id 既存のリソース グループの Azure リソース識別子 オプション
resourcegroup_tags リソース グループに関連付けるタグ オプション

SAP インストール メディア ストレージ アカウント

変数 説明 タイプ
library_sapmedia_arm_id Azure リソース識別子 オプション

「Terraformのリモート状態管理ストレージアカウント」

変数 説明 タイプ
library_terraform_state_arm_id Azure リソース識別子 オプション

DNS サポート

変数 説明 タイプ
dns_label プライベート DNS ゾーンの DNS 名。 オプション
use_custom_dns_a_registration 既存のプライベート DNS ゾーンを使用します。 オプション
management_dns_subscription_id プライベート DNS ゾーンを含むサブスクリプションのサブスクリプション ID。 オプション
management_dns_resourcegroup_name プライベート DNS ゾーンを含むリソース グループ。 オプション

追加のパラメーター

変数 説明 タイプ
use_private_endpoint プライベート エンドポイントを使用する。 オプション
use_service_endpoint サブネットにサービス エンドポイントを使用します。 オプション
enable_firewall_for_keyvaults_and_storage 選択したサブネットへのアクセスを制限します。 オプション
subnets_to_add_to_firewall_for_keyvaults_and_storage キー コンテナーとストレージ アカウントへのアクセスを必要とするサブネット。 オプション

SAP ライブラリのパラメーター ファイルの例 (必須パラメーターのみ)

# The environment value is a mandatory field, it is used for partitioning the environments, for example (PROD and NP)
environment = "MGMT"

# The ___location/region value is a mandatory field, it is used to control where the resources are deployed
___location = "westeurope"

次のステップ