本部署說明如何部署並連線到 Compute Engine 虛擬機器 (VM),此 VM 已為在 Linux 作業系統上安裝 SAP Adaptive Server Enterprise (ASE) 準備就緒。
本指南中的操作說明使用 Cloud Deployment Manager 部署及設定 VM、Linux 作業系統和 SAP ASE 所需的磁碟區。
如要使用 Terraform 自動化部署 Linux 系統中 Google CloudSAP ASE 的資源,請參閱 Terraform:在 Linux 上為 SAP ASE 自動部署 VM。
如要瞭解如何規劃部署,請參閱 SAP ASE 規劃指南。
必要條件
如果您希望 SAP 工作負載能遵循資料落地、存取權控管、支援人員或法規規定執行,就必須建立必要的 Assured Workloads 資料夾。詳情請參閱「SAP on Google Cloud的符合性和主權控管措施」。
如果您還沒有啟用計費功能的 Google Cloud 專案,則必須先建立一個,再為 SAP ASE 的安裝作業部署 VM。
建立專案:
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
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.
-
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
- 在 Google Cloud 控制台中,前往「VPC networks」(虛擬私有雲網路) 頁面。
- 按一下「建立虛擬私有雲網路」。
- 輸入網路的名稱。
名稱必須遵循命名慣例。虛擬私有雲網路會使用 Compute Engine 命名慣例。
- 在 [Subnet creation mode] (子網路建立模式) 中,選擇 [Custom]。
- 在「New subnet」(新子網路) 部分,指定子網路的以下設定參數:
- 輸入子網路的「名稱」。
- 在「區域」中,選取要建立子網路的 Compute Engine 區域。
- 針對「IP 堆疊類型」,請選取「IPv4 (單一堆疊)」,然後以 CIDR 格式輸入 IP 位址範圍,例如
10.1.0.0/24
。這是子網路的主要 IPv4 範圍。如果您打算新增多個子網路,請為網路中的每個子網路指派不重疊的 CIDR IP 範圍。請注意,每個子網路及其內部 IP 範圍都會對應至單一地區。
- 按一下「完成」。
- 如要新增其他子網路,請按一下「Add subnet」(新增子網路),然後重複上述步驟。建立網路後,您可以新增更多子網路。
- 按一下 [建立]。
- 前往 Cloud Shell。
- 如要在自訂子網路模式中建立新的網路,請執行:
gcloud compute networks create NETWORK_NAME --subnet-mode custom
請將
NETWORK_NAME
替換為新網路的名稱。名稱必須遵循命名慣例。虛擬私有雲網路會使用 Compute Engine 命名慣例。指定
--subnet-mode custom
以避免使用預設的自動模式,不然系統會自動在每個 Compute Engine 地區建立子網路。詳情請參閱「子網路建立模式」。 - 建立子網路,並指定地區和 IP 範圍。
gcloud compute networks subnets create SUBNETWORK_NAME \ --network NETWORK_NAME --region REGION --range RANGE
更改下列內容:
SUBNETWORK_NAME
:新子網路的名稱NETWORK_NAME
:您在上一個步驟中建立的網路名稱REGION
:您要建立子網路的地區 如果您使用具備 SAP NetWeaver 的 SAP ASE,請使用支援 SAP NetWeaver的地區。RANGE
:以 CIDR 格式指定的 IP 位址範圍,例如10.1.0.0/24
如果您打算新增多個子網路,請為網路中的每個子網路指派不重疊的 CIDR IP 範圍。請注意,每個子網路及其內部 IP 範圍都會對應至單一地區。
- (選用) 重複上述步驟以新增其他子網路。
- 用戶端連線的 ASE 網路接聽程式。預設的 ASE 通訊埠號碼為
5000
。 - SAP ASE Cockpit 需要的通訊埠。如需 ASE Cockpit 所使用的通訊埠清單,請參閱 SAP Help Portal 中的 SAP ASE Cockpit 說明文件。
- 列於所有 SAP 產品的 TCP/IP 中的預設 SAP 通訊埠。
- 從電腦或公司網路環境到 Compute Engine VM 執行個體的連線。如果不確定要使用哪一個 IP 位址,請詢問貴公司的網路管理員。
- SAP HANA 子網路中 VM 之間的通訊,包括 SAP HANA 擴充系統中節點之間的通訊,或 3 層架構中資料庫伺服器和應用程式伺服器之間的通訊。您可以建立防火牆規則,允許來自子網路的流量,藉此啟用 VM 之間的通訊。
- 連往 VM 執行個體的 SSH 連線,包括瀏覽器中的 SSH。
- 使用 Linux 第三方工具連到 VM 的連線。請建立防火牆規則以允許工具透過防火牆存取。
在 Google Cloud 控制台中,前往「VPC Network」(虛擬私有雲網路) 「Firewall」(防火牆) 頁面。
按一下頁面頂端的 [Create firewall rule] (建立防火牆規則)。
- 在「Network」(網路) 欄位中,選取您 VM 所在的網路。
- 在「Targets」欄位中,指定此規則適用的 Google Cloud資源。例如,指定「All instances in the network」(網路中的所有執行個體),或者,如要將規則限制於 Google Cloud上的特定執行個體,請在「Specified target tags」(指定的目標標記) 中輸入標記。
- 在「Source filter」(來源篩選器) 欄位中選取下列其中一項:
- 「IP ranges」(IP 範圍) - 允許來自特定 IP 位址連入的流量。請在「Source IP ranges」(來源 IP 範圍) 欄位中指定 IP 位址的範圍。
- 「Subnets」(子網路) - 允許來自特定子網路的連入流量。請在隨後的「Subnets」(子網路) 欄位中指定子網路名稱。您可以使用這個選項允許 3 層或向外擴充設定中 VM 之間的存取作業。
- 在「Protocols and ports」(通訊協定和通訊埠) 區段中,選取「Specified protocols and ports」(指定的通訊協定和通訊埠),然後輸入
tcp:PORT_NUMBER
。
按一下 [Create] (建立) 以建立您的防火牆規則。
開啟 Cloud Shell。
在 Cloud Shell 中輸入以下指令,將
template.yaml
設定檔範本下載到您的工作目錄:wget https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_ase/template.yaml
或者,您也可以重新命名
template.yaml
檔案,藉此識別其定義的設定。在 Cloud Shell 程式碼編輯器中開啟
template.yaml
檔案。如要開啟 Cloud Shell 程式碼編輯器,請按一下 Cloud Shell 終端機視窗右上角的鉛筆圖示。
在
template.yaml
檔案中,使用安裝的值來取代括號及其內容,即可更新下列屬性值。屬性 資料類型 說明 type
字串 指定在部署期間要使用的 Deployment Manager 範本位置、類型和版本。
YAML 檔案包含兩個
type
規格,其中一個已註解掉。預設啟用的type
規格會將範本版本指定為latest
。註解掉的type
規格會指定具有時間戳記的特定範本版本。如果您需要所有部署都使用相同的範本版本,請使用包含時間戳記的
type
規格。instanceName
字串 您要安裝 SAP ASE 的 VM 執行個體名稱。名稱不得超過 13 個半形字元,且應使用小寫英文字母、數字或連字號。 instanceType
字串 您要安裝 SAP ASE 的 Compute Engine 虛擬機器類型。如果您在相同 VM 上執行具備 SAP NetWeaver 的 SAP ASE,請選擇包含足夠 CPU 和記憶體以支援兩種系統的機器類型。請參閱 SAP NetWeaver 規劃指南。 zone
字串 您要部署 SAP ASE 的區域。這個區域必須位於您為子網路選取的地區內。 subnetwork
字串 您在先前步驟中建立的子網路名稱。如果您要部署共用虛擬私人雲端,請將這個值指定為 SHARED_VPC_PROJECT/SUBNETWORK
。例如:myproject/network1
。linuxImage
字串 您要用於 SAP ASE 的 Linux 作業系統映像檔或映像檔系列的名稱。如要指定映像檔系列,請在系列名稱加上 family/
前置字串。例如family/rhel-7
或family/sles-12-sp2-sap
。如要使用特定圖片,請只輸入圖片名稱。如需可用的映像檔系列清單,請參閱 Cloud Console 中的「映像檔」頁面。linuxImageProject
字串 您要使用的映像檔所屬的 Google Cloud 專案。這個專案可能是您自己的專案或 Google Cloud 映像檔專案,例如 rhel-sap-cloud
或suse-sap-cloud
。如需 Google Cloud 映像檔專案清單,請參閱 Compute Engine 說明文件中的「映像檔」頁面。aseSID
字串 資料庫執行個體 ID。 asesidSize
整數 /sybase/DBSID
的大小 (以 GB 為單位),這是資料庫執行個體的根目錄。在已部署的 VM 中,這個磁碟區為ASE
。asediagSize
整數 /sybase/DBSID/sapdiag
的大小,保存 SAPTOOLS 的診斷資料表空間。asesaptempSize
整數 /sybase/DBSID/saptmp
的大小,保存資料庫暫存的資料表空間。asesapdataSize
整數 /sybase/DBSID/sapdata
的大小,保存資料庫資料檔案。aselogSize
整數 /sybase/DBSIDlogdir
的大小,保存資料庫交易記錄。asebackupSize
整數 /sybasebackup
磁碟區的大小。如果設為0
或省略這個屬性,則不會建立任何磁碟。asesapdataSSD
布林值 資料硬碟的 SSD 切換。如果設定為 true
,資料磁碟就是 SSD。aselogSSD
布林值 記錄磁碟的 SSD 切換。如果設定為 true
,則記錄磁碟為 SSD。usrsapSize
整數 如果您要安裝 SAP ASE 以便在相同 VM 執行個體上執行 SAP NetWeaver,則此欄位為必填欄位。 sapmntSize
整數 如果您要安裝 SAP ASE 以便在相同 VM 執行個體上執行 SAP NetWeaver,則此欄位為必填欄位。 swapSize
整數 如果您要安裝 SAP ASE 以便在相同 VM 執行個體上執行 SAP NetWeaver,則此欄位為必填欄位。 以下設定檔會建立設為執行 SAP ASE 資料庫伺服器與 SAP NetWeaver 的 VM,並且引導 Deployment Manager 部署執行 SLES 12 SP2 作業系統的
n1-standard-16
VM。這個 VM 包含執行具備 SAP NetWeaver 的 SAP ASE 時需要的所有目錄。resources: - name: sap_ase type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_ase/sap_ase.py # # By default, this configuration file uses the latest release of the deployment # scripts for SAP on Google Cloud. To fix your deployments to a specific release # of the scripts, comment out the type property above and uncomment the type property below. # # type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/202103310846/dm-templates/sap_ase/sap_ase.py # properties: instanceName: ex-vm-ase-lin instanceType: n1-standard-16 zone: us-central1-f subnetwork: example-sub-network linuxImage: family/sles-12-sp2-sap linuxImageProject: suse-sap-cloud aseSID: AS1 asesidSize: 10 asediagSize: 15 asesaptempSize: 20 asesapdataSize: 50 aselogSize: 30 asebackupSize: 100 asesapdataSSD: Yes aselogSSD: Yes usrsapSize: 15 sapmntSize: 15 swapSize: 24
建立 VM 執行個體:
gcloud deployment-manager deployments create DEPLOYMENT_NAME --config TEMPLATE_NAME.yaml
上述指令會叫用 Deployment Manager,依據
template.yaml
檔案中的規格部署 VM。此程序可能需要幾分鐘才能完成。如要查看部署的進度,請按照下一節的步驟操作。在 Google Cloud 控制台中開啟 Cloud Logging,監控安裝進度及檢查錯誤。
篩選記錄:
記錄檔探索工具
在「Logs Explorer」頁面中,前往「查詢」窗格。
在「Resource」下拉式選單中,選取「Global」,然後點選「Add」。
如果找不到「Global」選項,請在查詢編輯器中輸入以下查詢:
resource.type="global" "Deployment"
點選「執行查詢」
舊版記錄檢視器
- 在「Legacy Logs Viewer」頁面中,從基本選取器選單中選取「Global」做為記錄資源。
分析篩選過的記錄:
- 如果顯示
"--- Finished"
,表示部署程序已完成,您可以繼續進行下一個步驟。 如果畫面顯示配額錯誤:
在 IAM 和管理員「Quotas」(配額) 頁面上,增加 SAP ASE 規劃指南中所列出不符 SAP ASE 規定的任何配額。
在 Deployment Manager「Deployments」(部署) 頁面上,刪除部署以清除安裝失敗的 VM 與永久磁碟。
重新執行部署。
- 如果顯示
SAP ASE 系統部署完成且無發生錯誤後,使用 SSH 連線到 VM。您可以在 Compute Engine 的「VM instances」(VM 執行個體) 頁面上,按一下 VM 執行個體的 [SSH] 按鈕,或透過您偏好的方法啟用 SSH。
切換到超級使用者。
sudo su -
在命令提示字元中輸入
df -h
。請確認看到類似以下畫面的輸出內容,例如//sybase/DBSID/sapdata
目錄。請輸入下列指令,確認已建立更換目錄:
cat /proc/meminfo | grep Swap
您會看到像是下面範例的結果:
- 建立與以 Linux 為基礎的 VM 的 SSH 連線。
- 從 SAP 下載或複製 SAP ASE 安裝媒體到您的 VM。
- 準備 SAP ASE SySAM 授權檔案或授權伺服器以便用於安裝。
- 安裝 SAP ASE 資料庫。如需指引,請參閱 Linux 適用的 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
- 雲端服務供應商:
- 使用最新的修補程式更新 SAP ASE 軟體 (如果有的話)。
- 安裝任何額外的元件。
- 設定並備份新的 SAP ASE 資料庫。
設定 gcloud
指令環境
以下操作說明使用 Cloud Shell 輸入 gcloud
指令,以部署或設定 Google Cloud 資源。您可以透過瀏覽器的Google Cloud 主控台存取 Cloud Shell。
您每次啟動 Cloud Shell 時,Cloud Shell 都會在 GCP 佈建的 VM 上執行。 Google Cloud 第一次使用 Cloud Shell 時,Google Cloud 也會為您建立永久的 $HOME
目錄,此目錄會在您每次開啟 Cloud Shell 時復原。
您佈建的 VM 含有最新版 Google Cloud CLI。因此,您在 Cloud Shell 中使用的 gcloud
指令與您在本機安裝的 gcloud CLI 執行個體中使用的指令相同。
如果您已安裝 gcloud CLI,即可從本機電腦發出此操作說明使用的 gcloud
指令。但是,如果您已在本機安裝 gcloud CLI,請務必確保您使用的是最新版的 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 也沒關係。
如要設定網路:
控制台
gcloud
設定 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 政策,您可能需要區隔或限制資料庫主機的連線,這些功能可以透過建立防火牆規則來完成。
根據您的情境,您可以建立防火牆規則,允許下列項目存取:
建立防火牆規則的步驟如下:
主控台
gcloud
使用下列指令建立防火牆規則:
$
gcloud compute firewall-rules create FIREWALL_NAME
--direction=INGRESS --priority=1000 \
--network=NETWORK_NAME --action=ALLOW --rules=PROTOCOL:PORT \
--source-ranges IP_RANGE --target-tags=NETWORK_TAGS
使用 Deployment Manager 部署 SAP ASE 的 Linux VM
以下操作說明是透過 Deployment Manager 來使用 Linux 部署 VM 執行個體,以及 SAP ASE 需要的所有永久磁碟。您將在 Deployment Manager 設定檔案範本中定義安裝的值。
Deployment Manager 會將您針對 SAP ASE 系統建立的所有資源視為單一實體,稱為「部署」。您可以在 Google Cloud 主控台的「Deployments」(部署作業) 頁面上,查看 Google Cloud 專案的所有部署作業。
以下操作說明使用的是 Cloud Shell,但您也可以改為在本機終端機中使用 Google Cloud CLI。
驗證部署作業
如要驗證部署作業,請查看 Cloud Logging 中的部署記錄,並檢查 VM 的設定。
檢查記錄
檢查 VM 的設定
如有任何驗證步驟指出安裝失敗,請採取以下步驟:
安裝資料庫
作業系統現在已設定完成,可以安裝 SAP ASE 資料庫:
如要在 VM 上安裝 SAP ASE:
驗證 Google Cloud的 Agent for SAP 安裝狀態
部署 VM 並安裝 SAP 系統後,請確認Google Cloud的 SAP 代理程式是否正常運作。
確認 Google Cloud的 Agent for SAP 是否正在執行
如要確認代理程式是否正在執行,請按照下列步驟操作:
如果代理程式未執行,請重新啟動代理程式。
確認 SAP Host Agent 正在接收指標
如要確認Google Cloud的 Agent for SAP 是否收集基礎架構指標,並正確傳送至 SAP Host Agent,請按照下列步驟操作:
執行部署後工作
使用 SAP ASE 執行個體之前,建議您執行下列部署後步驟:
如需其他部署後指南,請參閱 Linux 適用的 SAP ASE 安裝及升級指南。
疑難排解
本章節提供有關如何修正一般問題的資訊。
連線到 VM 的疑難排解
如果您在透過 SSH 連線到 VM 時出現問題,請確認您已經建立防火牆規則,以在使用的 Google Cloud網路開啟通訊埠 22
。
如為其他可能的問題,請參閱透過瀏覽器使用 SSH 的已知問題。