本部署說明如何部署並連線到 Compute Engine 虛擬機器 (VM),此 VM 已為在 Linux 作業系統上安裝 SAP Adaptive Server Enterprise (ASE) 準備就緒。
本指南中的操作說明使用 Terraform 部署及設定 VM、Linux 作業系統和 SAP ASE 所需的磁碟區,並安裝Google Cloud的 SAP NetWeaver 監控代理程式。
如要瞭解如何規劃部署,請參閱 SAP ASE 規劃指南。如要瞭解自動化部署的相關資訊,請參閱「使用 Terraform 自動化部署 SAP 應用程式 Google Cloud 」。
必要條件
如要確保 SAP 工作負載的執行方式符合資料落地、存取權控管、支援人員或法規要求,請建立必要的 Assured Workloads 資料夾。詳情請參閱 SAP on Google Cloud的法規遵循和主權控制項。
如果您還沒有啟用計費功能的 Google Cloud 專案,則必須先建立一個,再為 SAP ASE 的安裝作業部署 VM。
建立專案
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
初始化設定:
gcloud init
檢查目前的 gcloud 設定:
gcloud config list
切換至所需 Google Cloud 專案。將
PROJECT_ID
改成您的 Google Cloud 專案 ID。gcloud config set project PROJECT_ID
設定預設區域。將
REGION
替換為Google Cloud 地區。gcloud config set compute/region REGION
設定預設可用區。將
ZONE
替換為Google Cloud 區域。gcloud config set compute/zone ZONE
建立新設定。將
NAME
替換為設定的名稱。gcloud config configurations create NAME
- 用戶端連線的 ASE 網路接聽程式。預設的 ASE 通訊埠號碼為
5000
。 - SAP ASE Cockpit 需要的通訊埠。如需 ASE Cockpit 所使用的通訊埠清單,請參閱 SAP Help Portal 中的 SAP ASE Cockpit 說明文件。
- 列於所有 SAP 產品的 TCP/IP 中的預設 SAP 通訊埠。
- 從電腦或公司網路環境到 Compute Engine VM 執行個體的連線。如果不確定要使用哪一個 IP 位址,請詢問貴公司的網路管理員。
- 通往 VM 執行個體的 SSH 連線,包含瀏覽器中的 SSH。
- 使用 Linux 第三方工具連到 VM 的連線。請建立防火牆規則以允許工具透過防火牆存取。
開啟 Cloud Shell。
在 Cloud Shell 中輸入以下指令,將
sap_ase.tf
設定檔下載到您的工作目錄:wget https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/sap_ase/terraform/sap_ase.tf
在 Cloud Shell 程式碼編輯器中開啟
sap_ase.tf
檔案。如要開啟 Cloud Shell 程式碼編輯器,請按一下「Open Editor」(開啟編輯器)。
在
sap_ase.tf
檔案中,使用安裝作業的值取代雙引號內的內容,即可更新下列引數值。大多數選用引數都有預設值。如果未指定選用引數,Terraform 設定會使用該引數的預設值 (如有)。
引數 資料類型 說明 source
字串 指定要在部署期間使用的 Terraform 模組位置和版本。
sap_ase.tf
設定檔包含source
引數的兩個例項:一個是有效例項,另一個則以註解形式納入。預設為有效的source
引數會將latest
指定為模組版本。第二個source
引數例項 (預設會由開頭的#
字元停用) 會指定時間戳記,用來識別模組版本。如要讓所有部署作業都使用相同模組版本,請從指定版本時間戳記的
source
引數中移除開頭的#
字元,並將其新增至指定latest
的source
引數。project_id
字串 指定要部署這個系統的 Google Cloud 專案 ID。例如: my-project-x
。zone
字串 指定要部署 SAP 系統的區域。這個區域必須位於您為子網路選取的地區內。
舉例來說,如果您的子網路部署在
us-central1
地區,則可以指定us-central1-a
等區域。machine_type
字串 指定要執行 SAP 系統的 Compute Engine 虛擬機器 (VM) 類型。如需自訂 VM 類型,請指定預先定義的 VM 類型,並將 vCPU 數量設為最接近所需數量但仍大於該數量的數值。部署完成後,修改 vCPU 數量和記憶體容量。 例如
n1-highmem-32
。subnetwork
字串 指定您在前一個步驟中建立的子網路名稱。如果您要部署共用虛擬私有雲,請將這個值指定為 SHARED_VPC_PROJECT_ID/SUBNETWORK
,例如:myproject/network1
。linux_image
字串 指定要部署 SAP 系統的 Linux 作業系統映像檔名稱。 例如 rhel-9-2-sap-ha
或sles-15-sp5-sap
。 如需可用的作業系統映像檔清單,請參閱 Google Cloud 控制台中的「Images」(映像檔) 頁面。linux_image_project
字串 指定包含您為 linux_image
引數指定的圖片的 Google Cloud 專案。這個專案可能是您自己的專案或 Google Cloud 映像檔專案。 如果是 Compute Engine 映像檔,請指定rhel-sap-cloud
或suse-sap-cloud
。 如要尋找作業系統的映像檔專案,請參閱作業系統詳細資料。instance_name
字串 指定主機 VM 執行個體的名稱。名稱可包含小寫英文字母、數字和連字號,工作站與待命主機的 VM 執行個體使用都使用含有 w
的相同名稱,並在名稱後面附加主機編號。ase_sid
字串 指定 SAP ASE 資料庫執行個體的 SID。此 ID 必須包含 3 個英數字元,並以字母開頭。所有字母都必須是大寫。例如 ED1
。ase_sid_size
整數 (選用步驟) 指定 /sybase/DBSID
磁碟區的大小 (以 GB 為單位),這是 SAP ASE 資料庫執行個體的根目錄。大小下限為 8 GB。預設值為8
。ase_diag_size
整數 (選用步驟) 指定 /sybase/DBSID/sapdiag
磁碟區的大小 (以 GB 為單位),這個磁碟區包含 SAPTOOLS 的診斷資料表空間。大小下限為 8 GB。預設值為8
。ase_sap_temp_size
整數 (選用步驟) 指定 /sybase/DBSID/saptmp
磁碟區的大小 (以 GB 為單位),這個磁碟區包含資料庫執行個體的暫時資料表空間。大小下限為 8 GB。預設值為8
。ase_sap_data_size
整數 (選用步驟) 指定 /sybase/DBSID/sapdata
磁碟區的大小 (以 GB 為單位),這個磁碟區會保存資料庫資料檔案。大小下限為 30 GB。預設值為30
。ase_sap_data_ssd
布林值 (選用步驟) 指定 true
,為/sybase/DBSID/sapdata
磁碟區佈建 SSD 永久磁碟。如果您指定false
,系統會佈建已平衡永久磁碟。預設值為true
。ase_log_size
整數 (選用步驟) 指定 /sybase/DBSID/logdir
磁碟區的大小 (以 GB 為單位),這個磁碟區包含資料庫交易記錄。大小下限為 8 GB。預設值為8
。ase_log_ssd
布林值 (選用步驟) 指定 true
,為/sybase/DBSID/logdir
磁碟區佈建 SSD 永久磁碟。如果您指定false
,系統就會佈建已平衡永久磁碟。預設值為true
。ase_backup_size
整數 (選用步驟) 指定 /sybasebackup
磁碟區的大小,單位為 GB。如未指定這個引數或將其值設為0
,系統就不會為/sybasebackup
磁碟區佈建任何磁碟。usr_sap_size
整數 如要在相同 VM 執行個體上執行 SAP ASE 和 SAP NetWeaver,請以 GB 為單位指定 /usr/sap
磁碟的大小。如未指定這個引數或將其值設為
0
,系統就不會為/usr/sap
磁碟區佈建磁碟。sap_mnt_size
整數 如要在相同 VM 執行個體上執行 SAP ASE 和 SAP NetWeaver,請以 GB 為單位指定 /sapmnt
磁碟的大小。如未指定這個引數或將其值設為
0
,系統就不會為/sapmnt
磁碟區佈建磁碟。swap_size
整數 如要在相同 VM 執行個體上執行 SAP ASE 和 SAP NetWeaver,請以 GB 為單位指定交換磁碟區的大小。 如果您未指定這個引數或將其值設為
0
,系統就不會為交換磁碟區佈建任何磁碟。network_tags
字串 (選用步驟) 指定一或多個以半形逗號分隔的網路標記,以供防火牆或轉送使用,並與 VM 執行個體建立關聯。 如果您指定
public_ip = false
但未指定網路標記,請務必提供其他能存取網際網路的方式。public_ip
布林值 (選用步驟) 指定是否要將公開 IP 位址加到您的 VM 執行個體。預設值為 true
。service_account
字串 (選用步驟) 指定使用者管理的服務帳戶電子郵件地址,供主機 VM 和在主機 VM 上執行的程式使用。例如: svc-acct-name@project-id.
。如果您指定這個引數但未提供值,或省略這個引數,安裝指令碼就會使用 Compute Engine 預設服務帳戶。詳情請參閱「針對 Google Cloud 中的 SAP 程式提供身分與存取權管理功能 Google Cloud」。
sap_deployment_debug
布林值 (選用步驟) 只有在 Cloud 客戶服務要求您為部署作業啟用偵錯功能時,才指定 true
,讓部署作業產生詳細的部署記錄。預設值為false
。reservation_name
字串 (選用步驟) 如要使用特定 Compute Engine VM 預留項目進行這項部署作業,請指定預留項目的名稱。根據預設,安裝指令碼會根據下列條件選取任何可用的 Compute Engine 預留項目。 無論您是否指定名稱,或安裝指令碼是否自動選取名稱,保留項目都必須設定下列項目,才能使用:
-
specificReservationRequired
選項設為true
,或在 Google Cloud 控制台中選取「Select specific reservation」(選取特定預留項目) 選項。 -
部分 Compute Engine 機器類型支援的 CPU 平台,不在機器類型的 SAP 認證範圍內。如果目標保留項目適用於下列任一機器類型,則保留項目必須指定最低 CPU 平台,如下所示:
n1-highmem-32
:Intel Broadwelln1-highmem-64
:Intel Broadwelln1-highmem-96
:Intel Skylakem1-megamem-96
:Intel Skylake
SAP 認證可在 Google Cloud 上使用的所有其他機器類型,其最低 CPU 平台均符合 SAP 最低 CPU 需求。
以下範例顯示已完成的設定檔,這個檔案會建立設為執行 SAP ASE 資料庫伺服器與 SAP NetWeaver 的 VM,設定檔會引導 Terraform 部署執行 SLES 15 SP3 作業系統的
n1-standard-16
VM。這個 VM 包含執行具備 SAP NetWeaver 的 SAP ASE 時需要的所有目錄。# #... module "sap_ase" { source = https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/sap_ase/sap_ase_module.zip # # By default, this source file uses the latest release of the terraform module # for SAP on Google Cloud. To fix your deployments to a specific release # of the module, comment out the source property above and uncomment the source property below. # # source = "https://storage.googleapis.com/cloudsapdeploy/terraform/YYYYMMDDHHMM/terraform/sap_ase/sap_ase_module.zip" # ... project_id = "example-project-123456" zone = "us-central1-f" machine_type = "n1-standard-16" subnetwork = "example-subnet-us-central1" linux_image = "sles-15-sp3-sap" linux_image_project = "suse-sap-cloud" # ... instance_name = "ex-vm-ase-lin" # ... ase_sid = "AS1" ase_sid_size = 10 ase_diag_size = 15 ase_sap_temp_size = 20 ase_sap_data_size = 50 ase_sap_data_ssd = true ase_log_size = 30 ase_log_ssd = true ase_backup_size = 100 # ... usr_sap_size = 15 sap_mnt_size = 15 swap_size = 24 # ... }
-
如要初始化目前的工作目錄,並下載 Google Cloud的 Terraform 供應商外掛程式和模組檔案,請執行下列指令:
terraform init
terraform init
指令會準備工作目錄,以供其他 Terraform 指令使用。如要強制重新整理工作目錄中的供應商外掛程式和設定檔,請指定
--upgrade
標記。如果省略--upgrade
標記,且您未在工作目錄中進行任何變更,即使source
網址中指定了latest
,Terraform 仍會使用本機快取副本。terraform init --upgrade
如要建立 Terraform 執行計畫,請執行下列步驟:
terraform plan
terraform plan
指令會顯示目前設定所需的變更。如果略過這個步驟,terraform apply
指令會自動建立新方案,並提示您核准。如要套用執行計畫,請按照下列步驟操作:
terraform apply
系統提示您核准動作時,請輸入
yes
。terraform
apply
指令會根據 Terraform 設定檔中定義的引數,設定 Google Cloud 基礎架構。這個程序可能需要幾分鐘。如要查看部署的進度,請按照下一節的步驟操作。VM 執行個體部署完成後,如果您需要 Compute Engine 儲存開機磁碟,以備於 VM 執行個體遭刪除時使用,請依下列步驟操作:
前往 Google Cloud 控制台的 Compute Engine「VM instances」(VM 執行個體) 頁面。
如要開啟 VM 執行個體的「VM instance details」(VM 執行個體詳細資料) 頁面,請按一下 VM 執行個體的名稱。
按一下 [編輯]。
在「開機磁碟」部分中,確認已為「刪除規則」選取「保留磁碟」選項。
按一下 [儲存]。
在 Google Cloud 控制台中開啟 Cloud Logging,監控安裝進度並檢查錯誤。
篩選記錄:
記錄檔探索工具
在「Logs Explorer」(記錄檔探索工具) 頁面中,前往「Query」(查詢) 窗格。
從「資源」下拉式選單選取「全域」,然後按一下「新增」。
如果沒有看到「Global」(通用) 選項,請在查詢編輯器中輸入下列查詢:
resource.type="global" "Deployment"
點選「執行查詢」
舊版記錄檢視器
- 在「舊版記錄檢視器」頁面中,從基本選取器選單選取「Global」(全域) 做為記錄資源。
分析已篩選的記錄檔:
- 如果顯示
"--- Finished"
,表示部署程序已完成,可繼續進行下一個步驟。 如果畫面顯示配額錯誤:
在 IAM 和管理員的「配額」頁面上,增加不符合 SAP ASE 規劃指南所列 SAP ASE 需求的任何配額。
開啟 Cloud Shell。
前往工作目錄並刪除部署,以清除安裝失敗的 VM 和永久磁碟:
terraform destroy
系統提示您核准動作時,請輸入
yes
。重新執行部署。
- 如果顯示
SAP ASE 系統部署完成且無發生錯誤後,使用 SSH 連線到 VM。在 Compute Engine 的「VM instances」(VM 執行個體) 頁面中,按一下 VM 執行個體的「SSH」SSH按鈕,或使用您偏好的 SSH 方法。
切換到超級使用者。
sudo su -
在命令提示字元中輸入
df -h
。確保畫面顯示類似以下內容的輸出,例如//sybase/DBSID/sapdata
目錄。Filesystem Size Used Avail Use% Mounted on devtmpfs 4.0M 8.0K 4.0M 1% /dev tmpfs 30G 0 30G 0% /dev/shm tmpfs 12G 18M 12G 1% /run tmpfs 4.0M 0 4.0M 0% /sys/fs/cgroup /dev/sda3 30G 4.3G 26G 15% / /dev/sda2 20M 2.9M 18M 15% /boot/efi tmpfs 5.9G 0 5.9G 0% /run/user/0 tmpfs 5.9G 0 5.9G 0% /run/user/1000 /dev/mapper/vg_asesid-vol 10G 43M 10G 1% /sybase/AS1 /dev/mapper/vg_asesapdata-vol 50G 84M 50G 1% /sybase/AS1/sapdata_1 /dev/mapper/vg_aselog-vol 30G 63M 30G 1% /sybase/AS1/saplog_1 /dev/mapper/vg_asesaptemp-vol 20G 53M 20G 1% /sybase/AS1/saptemp /dev/mapper/vg_asesapdiag-vol 15G 48M 15G 1% /sybase/AS1/sapdiag /dev/mapper/vg_asebackup-vol 100G 135M 100G 1% /sybasebackup /dev/mapper/vg_usrsap-vol 15G 48M 15G 1% /usr/sap /dev/mapper/vg_sapmnt-vol 15G 48M 15G 1% /sapmnt
請輸入下列指令,確認已建立更換目錄:
cat /proc/meminfo | grep Swap
您會看到像是下面範例的結果:
SwapCached: 0 kB SwapTotal: 25161724 kB SwapFree: 25161724 kB
解決所有錯誤,確保部署作業不會因相同原因再次失敗。如要瞭解如何檢查記錄或解決配額相關錯誤,請參閱「檢查記錄」。
開啟 Cloud Shell;如果您在本機工作站上安裝了 Google Cloud CLI,請開啟終端機。
前往包含您用於這項部署作業的 Terraform 設定檔的目錄。
執行下列指令,刪除部署作業中的所有資源:
terraform destroy
系統提示您核准動作時,請輸入
yes
。按照本指南稍早的指示,重試部署作業。
- 建立與 VM 的 SSH 連線。
- 從 SAP 下載或複製 SAP ASE 安裝媒體到您的 VM。
- 準備 SAP ASE SySAM 授權檔案或授權伺服器以便用於安裝。
- 安裝 SAP ASE 資料庫。
- 使用最新的修補程式更新 SAP ASE 軟體 (如果有的話)。
- 安裝任何額外的元件。
- 設定並備份新的 SAP ASE 資料庫執行個體。
建立與 Compute Engine 執行個體之間的 SSH 連線。
執行下列指令:
systemctl status google-cloud-sap-agent
如果代理程式正常運作,輸出內容會包含
active (running)
。例如:google-cloud-sap-agent.service - Google Cloud Agent for SAP Loaded: loaded (/usr/lib/systemd/system/google-cloud-sap-agent.service; enabled; vendor preset: disabled) Active: active (running) since Fri 2022-12-02 07:21:42 UTC; 4 days ago Main PID: 1337673 (google-cloud-sa) Tasks: 9 (limit: 100427) Memory: 22.4 M (max: 1.0G limit: 1.0G) CGroup: /system.slice/google-cloud-sap-agent.service └─1337673 /usr/bin/google-cloud-sap-agent
- 在 SAP 系統中,輸入交易
ST06
。 在「Overview」(總覽) 窗格中,查看以下欄位的可用性和內容,確認 SAP 和 Google 監控基礎架構已做好正確的端對端設定:
- 雲端服務供應商:
Google Cloud Platform
- Enhanced Monitoring Access:
TRUE
- Enhanced Monitoring Details (強化版監控功能詳細資料):
ACTIVE
- 雲端服務供應商:
設定 gcloud
指令環境
以下操作說明使用 Cloud Shell 輸入 gcloud
指令,以部署或設定 Google Cloud 資源。您可以透過瀏覽器的Google Cloud 控制台存取 Cloud Shell。
您每次啟動 Cloud Shell 時,Cloud Shell 都會在佈建的 VM 上執行。 Google Cloud 第一次使用 Cloud Shell 時,Google Cloud 也會為您建立永久的 $HOME
目錄,此目錄會在您每次開啟 Cloud Shell 時復原。
您佈建的 VM 含有最新版 Google Cloud CLI。因此,您在 Cloud Shell 中使用的 gcloud
指令與您在本機安裝的 gcloud CLI 執行個體中使用的指令相同。
如果您已安裝 gcloud CLI,即可從本機電腦發出此操作說明使用的 gcloud
指令。但是您必須確保安裝在本機的 gcloud CLI 是最新版本。
無論您使用 Cloud Shell 或 gcloud CLI,都可以設定並變更 gcloud
指令環境的屬性,並將其儲存為「設定」。「設定」是指鍵/值組合的集合,可影響 gcloud
指令的行為。
您透過這類設定可在 Cloud Shell 中採取的動作包括:
如要進一步瞭解如何使用設定,請參閱「管理 gcloud CLI 設定」一文。
建立網路
基於安全性考量,請建立新的網路。您可以新增防火牆規則或使用另一個存取權控管方法,藉此控管具有存取權的對象。
假如您的專案具有預設的虛擬私有雲端網路,請勿使用。請建立您自己專屬的虛擬私有雲網路,確保系統只套用您明確建立的防火牆規則。
在部署期間,Compute Engine 執行個體一般需要網際網路的存取權,以下載 Google Cloud適用於 SAP 的代理程式。如果您使用 Google Cloud提供的其中一種 SAP 認證 Linux 映像檔,運算執行個體也需要存取網際網路,才能註冊授權並存取 OS 供應商存放區。具有 NAT 閘道和 VM 網路標記的設定即可支援上述存取需求,即便目標運算執行個體沒有外部 IP。
如要為專案建立虛擬私有雲網路,請完成下列步驟:
設定 NAT 閘道
如果您需要建立一或多個沒有公開 IP 位址的 VM,則必須使用網路位址轉譯 (NAT) 讓 VM 存取網際網路。使用 Cloud NAT,這是一項 Google Cloud 分散式軟體定義管理服務,可讓 VM 將輸出封包傳送至網際網路,並接收任何相應的已建立輸入回應封包。或者,您也可以將個別 VM 設為 NAT 閘道。
如要為專案建立 Cloud NAT 執行個體,請參閱「使用 Cloud NAT」。
為專案設定 Cloud NAT 後,VM 執行個體就能在沒有公開 IP 位址的情況下安全存取網際網路。
新增防火牆規則
根據預設,「默示的防火牆規則」會封鎖從虛擬私有雲 (VPC) 網路之外連入的連線。如要允許連入的連線,請設定 VM 的防火牆規則。使用 VM 建立連入的連線後,系統會允許該連線上雙向的流量。
您也可以建立防火牆規則,允許外部存取指定的通訊埠,或限制相同網路上 VM 之間的存取。若使用 default
虛擬私人雲端網路類型,一些其他的預設規則也適用,例如 default-allow-internal
規則,允許相同網路中 VM 之間所有通訊埠的連線。
根據適用於環境的 IT 政策,您可能需要區隔或限制資料庫主機的連線,這些功能可以透過建立防火牆規則來完成。
根據您的情境,可建立防火牆規則以允許下列項目存取:
如要為專案建立防火牆規則,請參閱建立防火牆規則。
使用 Terraform 部署 SAP ASE 的 Linux VM
以下操作說明是透過 Terraform 來使用 Linux 部署 VM 執行個體,以及 SAP ASE 需要的所有永久磁碟。您將在sap_ase.tf
設定檔中定義安裝的值。 Google Cloud
以下操作說明中使用的是 Cloud Shell,但也可以依您的偏好改為使用本地終端機中的 Terraform。
驗證部署作業
如要驗證部署作業,請查看 Cloud Logging 中的部署記錄,並檢查 VM 的設定。
檢查記錄
檢查 VM 設定
清除並重試部署作業
如果前幾節的任何部署驗證步驟指出安裝失敗,您就必須完成下列步驟,還原部署並重試:
安裝資料庫
作業系統現在已設定完成,可以安裝 SAP ASE 資料庫執行個體。
如要在以 Linux 為基礎的 VM 上安裝 SAP ASE,請按照下列步驟操作:
如需其他安裝指南,請參閱 Linux 適用的 SAP ASE 安裝及升級指南。
執行部署後工作
使用 SAP ASE 執行個體之前,建議您執行下列部署後步驟:
如需其他部署後指南,請參閱 Linux 適用的 SAP ASE 安裝及升級指南。
驗證 Google Cloud的 Agent for SAP 安裝項目
將 VM 部署完成並安裝好 SAP 系統之後,請確認Google Cloud的 SAP 專用代理程式是否能正常運作。
確認 Google Cloud的 Agent for SAP 正在執行
如要確認代理程式是否正在執行,請按照下列步驟操作:
如果代理程式未執行,請重新啟動代理程式。
確認 SAP 主機代理程式正在接收指標
如要確認基礎架構指標是由Google Cloud's Agent for SAP 收集,並正確傳送至 SAP Host Agent,請按照下列步驟操作:
疑難排解
本章節提供有關如何修正一般問題的資訊。
連線到 VM 的疑難排解
如您在透過 SSH 連線到 VM 時出現問題,請確認您已經建立防火牆規則,以在使用的 VPC 網路開啟通訊埠 22
。
如為其他可能的問題,請參閱來自瀏覽器 SSH 的已知問題。
Google 監控代理程式疑難排解
如要排解 SAP NetWeaver 監控代理程式的問題,請參閱「疑難排解監控問題」。