Mengotomatiskan deployment SAP di Google Cloud dengan Deployment Manager

Anda dapat mengotomatiskan deployment infrastruktur Google Cloud menggunakan Cloud Deployment Manager, sebuah layanan yang mengotomatiskan pembuatan dan pengelolaan resource Google Cloud.

Untuk solusi SAP tertentu dan database pendukung, seperti SAP HANA, Google Cloud menyediakan template konfigurasi Cloud Deployment Manager yang telah ditetapkan yang dapat Anda gunakan untuk men-deploy infrastruktur Google Cloud yang memenuhi persyaratan dan praktik terbaik dukungan SAP singkat ini.

Solusi SAP yang didukung

Google Cloud menyediakan konfigurasi Cloud Deployment Manager untuk solusi SAP berikut:

Yang di-deploy oleh template

Semua template Deployment Manager yang disediakan Google Cloud untuk deployment SAP mengonfigurasi atau men-deploy elemen berikut:

  • Satu atau beberapa virtual machine (VM) Compute Engine
  • OS image yang Anda tentukan
  • Satu atau beberapa persistent disk
  • Secara opsional, akun layanan Identity and Access Management (IAM) yang Anda tentukan untuk digunakan oleh VM
  • Google Cloud API yang diperlukan oleh deployment SAP
  • Tag jaringan untuk setiap instance VM (opsional)
  • Alamat IP publik untuk setiap instance VM (opsional)
  • Versi terbaru Agen Google Cloud untuk SAP

Untuk SAP HANA, template Deployment Manager juga men-deploy:

  • Volume penyimpanan untuk /hana/shared dan /hanabackup
  • Secara opsional, sistem SAP HANA itu sendiri
  • Untuk sistem penyebaran skala SAP HANA dengan failover otomatis host, host master, hingga 15 host pekerja, dan hingga 3 host standby
  • Untuk sistem peningkatan skala SAP HANA, cluster ketersediaan tinggi Linux

Untuk SAP NetWeaver, template Deployment Manager juga men-deploy:

  • Volume penyimpanan untuk /sapmnt, /usr/sap, dan volume swap

File Deployment Manager untuk setiap deployment SAP

Setiap konfigurasi Deployment Manager yang telah ditetapkan untuk SAP berisi kumpulan file berikut:

  • File konfigurasi YAML, template.yaml
  • File template Python, deployment-type.py, seperti sap_hana.py, sap_hana_scaleout.py,, atau sap_nw.py.
  • File skema Python, deployment-type.py.schema, seperti sap_hana.py.schema, sap_hana_scaleout.py.schema,, atau sap_nw.py.schema.
  • Minimal satu skrip shell, startup.sh atau startup.ps1

Anda menentukan properti resource Google Cloud di file konfigurasi template.yaml.

Menyelesaikan file konfigurasi template.yaml

File konfigurasi template.yaml yang disediakan untuk deployment SAP sesuai dengan standar yang ditentukan oleh Deployment Manager.

File konfigurasi yang disediakan untuk SAP mencakup definisi resource utama, diikuti dengan bagian komentar yang berisi properti lanjutan yang jarang digunakan. Contoh berikut adalah kutipan dari file template.yaml untuk SAP HANA:

resources:
- name: sap_hana
  type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_hana/sap_hana.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/202103111102/dm-templates/sap_hana/sap_hana.py
  #
  properties:
    instanceName: [VM_NAME]
    instanceType: [MACHINE_TYPE]
    zone: [ZONE]
    subnetwork: [SUBNETWORK]
    linuxImage: family/[IMAGE_FAMILY]
    linuxImageProject: [IMAGE_PROJECT]
    sap_hana_deployment_bucket: [MEDIA_BUCKET]
    sap_hana_sid: [SID]
    sap_hana_instance_number: [INSTANCE_NUMBER]
    sap_hana_sidadm_password: [PASSWORD]
    sap_hana_system_password: [PASSWORD]
    sap_hana_scaleout_nodes: [NUMBER_OF_WORKER_NODES]
    #
    # --- Advanced Options ---
    # The following advanced options are not usually needed. To use an advanced option, remove
    # the comment indicator, #, before the parameter name and specify an appropriate value.
    #
    # networkTag: [TAG]
    #    Adds network tags to your instance. This is useful if you do routing or define
    #    firewall rules by tags. By default, no tags are added to your VM. Multiple tags
    #    can be assigned by separating them with commas
    #
     ...

Untuk menggunakan properti lanjutan, hapus karakter komentar, #, dan tentukan nilai untuk properti.

Untuk mengetahui informasi selengkapnya tentang file konfigurasi, lihat Dasar-Dasar Deployment Manager.

Pembuatan versi template

Anda dapat mengontrol versi template Deployment Manager yang digunakan deployment SAP dengan menentukan stempel waktu versi di properti type dalam file konfigurasi YAML.

Secara default, ketika Anda mendownload file konfigurasi template.yaml baru, properti type akan menentukan latest sebagai versi, yang berarti deployment Anda selalu menggunakan template Deployment Manager versi terbaru yang tersedia.

Dalam komentar yang mengikuti properti type, terdapat spesifikasi properti type alternatif yang menyertakan stempel waktu versi terbaru yang tersedia pada saat Anda mendownload file template.yaml. Contoh:

resources:
- name: sap_hana
  type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_hana/sap_hana.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/202103111102/dm-templates/sap_hana/sap_hana.py
  #
  properties:
  ...

Jika Anda memerlukan semua deployment untuk menggunakan versi template yang sama, ganti spesifikasi properti type yang menyertakan latest dengan spesifikasi properti type yang menyertakan stempel waktu. Misalnya:

resources:
- name: sap_hana
  type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/202103111102/dm-templates/sap_hana/sap_hana.py
  properties:
  ...

Jika stempel waktu ditentukan, semua deployment akan menggunakan versi template Deployment Manager yang sesuai dengan stempel waktu yang ditentukan.

Anda dapat melihat versi template Deployment Manager yang digunakan untuk deployment SAP dalam konsol Google Cloud dengan mengklik nama deployment di halaman Deployment lalu mengeklik TAMPILAN konfigurasi yang diperluas di bagian Properti deployment. Stempel waktu versi muncul setelah startup-script di bagian metadata, seperti yang ditunjukkan pada contoh berikut:

metadata:
  items:
  - key: startup-script
    value: curl -s https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/202103111102/dm-templates/sap_hana/startup.sh
      | bash -s https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/202103111102/dm-templates

Men-deploy beberapa resource dengan satu file konfigurasi

Anda dapat men-deploy beberapa resource menggunakan satu file konfigurasi dengan menambahkan lebih banyak definisi resource ke file.

Untuk deployment SAP, salin bagian -name, type, dan properties: dari resource yang telah ditetapkan dan tempel di bawah untuk membuat definisi resource baru.

Dalam setiap definisi resource, pastikan untuk menentukan nilai unik untuk item berikut:

  • name
  • instanceName

Menjalankan deployment

Anda memulai deployment dengan menjalankan perintah berikut:

gcloud deployment-manager deployments create [DEPLOYMENT-NAME] --config [TEMPLATE-NAME].yaml

Jika Anda ingin melihat pratinjau hasil deployment sebelum benar-benar men-deploy resource Google Cloud apa pun, tambahkan tanda --preview ke perintah.

Saat Anda memulai deployment, Deployment Manager akan memvalidasi spesifikasi dalam file template.yaml berdasarkan definisi yang dimuat dalam file deployment-type.py.schema. Jika validasi berhasil, Deployment Manager akan membuat resource Google Cloud menggunakan definisi resource dalam file template.yaml dan deployment-type.py.

Setelah pemrosesan Deployment Manager selesai, di Cloud Shell, Deployment Manager akan menampilkan COMPLETED untuk setiap resource yang dibuat dan meneruskan kontrol ke skrip shell.

Skrip shell mengonfigurasi resource yang di-deploy lebih lanjut dan mencatat progresnya di Cloud Logging. Deployment SAP tidak akan selesai sampai skrip shell menyelesaikan pemrosesannya.

Deployment Manager juga membuat entri di halaman Deployment di konsol Google Cloud. Di sana, Anda dapat menemukan detail tambahan tentang deployment.

Penyesuaian template lanjutan

Selain menambahkan definisi VM atau perubahan kecil lainnya dalam file konfigurasi YAML, jika Anda adalah pengguna tingkat lanjut, Anda dapat menyesuaikan template Deployment Manager yang disediakan Google Cloud dengan cara lain, tetapi terdapat beberapa berisiko saat melakukannya.

Jika mengubah template, Anda bertanggung jawab atas template yang dimodifikasi, termasuk memastikan bahwa template tersebut sudah yang terbaru dan Deployment Manager dapat memprosesnya. Anda juga bertanggung jawab untuk memastikan bahwa infrastruktur Google Cloud dan sistem SAP yang di-deploy oleh template yang dimodifikasi memenuhi persyaratan dukungan SAP dan Google Cloud, termasuk persyaratan SAP.

Modifikasi pada template Deployment Manager juga mempersulit Google Cloud untuk mendukung deployment Anda. Para spesialis SAP di Cloud Customer Care sudah memahami template yang tidak dimodifikasi dan konfigurasi yang mereka deploy, tetapi tidak terbiasa dengan penyesuaian unik Anda. Jika Anda memerlukan dukungan dari Google Cloud untuk deployment atau konfigurasi yang menggunakan template yang disesuaikan, bersiaplah untuk menjelaskan penyesuaian Anda dan menunggu lebih lama hingga kasus dukungan diselesaikan.

Sebelum mengubah template Deployment Manager yang disediakan oleh Google Cloud untuk SAP, pastikan Anda memiliki tim teknis dengan keahlian yang sesuai untuk memberikan saran terkait perubahan, lalu evaluasi dampak perubahan tersebut terhadap kinerja sistem Anda, dan untuk membantu memecahkan masalah yang mungkin timbul kemudian. Jika Anda tidak memiliki tim tersebut, partner implementasi atau Layanan Profesional Google Cloud memiliki spesialis yang dapat membantu.

Untuk melakukan perubahan, Anda perlu memahami:

  • Persyaratan dukungan SAP yang ditentukan dalam dokumentasi SAP dan Catatan SAP yang berlaku untuk produk SAP Anda.
  • Deployment Manager dan cara bekerja dengan deployment, konfigurasi, dan template. Lihat dokumentasi Deployment Manager.
  • Bergantung pada jenis perubahan yang Anda buat, bahasa skrip Python atau shell.

Jenis penyesuaian lanjutan

Perubahan yang dianggap sebagai penyesuaian lanjutan mencakup:

  • Pemrosesan atau tindakan kustom dalam skrip pasca-deployment. Ini adalah metode yang direkomendasikan untuk menyertakan penyesuaian lanjutan dalam deployment Anda.
  • Penggunaan jenis sistem operasi selain versi yang didukung Red Hat Enterprise Linux untuk SAP atau SUSE Linux Enterprise Server untuk SAP.
  • Modifikasi pada skrip backend yang disediakan sebagai bagian dari template:
    • Skrip shell (bash atau powershell).
    • File skema dan konfigurasi dinamis Python.
  • Untuk deployment Ketersediaan Tinggi:
    • Penyesuaian setelan konfigurasi Alat pacu jantung. Jika Anda mendapati fungsi tertentu tidak ada, harap berikan masukan di halaman dokumentasi.
    • Perubahan pada template default untuk deployment Scale-out HANA dengan node standby.

Apa pun jenis perubahan yang Anda buat, pastikan perubahan tersebut menghasilkan sistem SAP yang berada dalam cakupan dukungan yang ditetapkan oleh dokumentasi produk SAP dan Catatan SAP yang berlaku untuk sistem Anda.

File template yang dapat Anda sesuaikan

Google Cloud merekomendasikan agar Anda membatasi penyesuaian pada file konfigurasi .yaml, meskipun Anda juga dapat mengubah file Deployment Manager lainnya, selama sistem SAP yang dihasilkan memenuhi persyaratan dukungan SAP.

File yang perlu diubah bergantung pada jenis perubahan yang perlu Anda buat.

Guna menyertakan pemeriksaan validasi tambahan untuk nilai properti yang spesifik untuk lingkungan, Anda dapat menambahkan definisi properti ke file deployment-type.py.schema.

Dalam file deployment-type.py, Anda dapat melakukan perubahan seperti:

  • Menambahkan kalkulasi tambahan pada nilai dalam file konfigurasi, seperti rentang IP atau ukuran disk. Perhatikan bahwa mengubah ukuran disk, terutama untuk SAP HANA, dapat mengakibatkan konfigurasi yang tidak memenuhi persyaratan dukungan SAP.
  • Menambahkan metadata instance VM tambahan.
  • Sesuaikan nama disk.

Mendownload file template

Untuk mendownload file, Anda dapat menggunakan perintah berikut setelah mengganti teks miring merah dengan nilai untuk template yang Anda butuhkan:

wget https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/template-directory/file-name.py
wget https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/template-directory/file-name.py.schema
wget https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/template-directory/startup.sh
wget https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/template-directory/template.yaml

Misalnya, jika Anda perlu mendownload file template untuk deployment peningkatan skala SAP HANA, gunakan perintah berikut:

wget https://storage.cloud.google.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_hana/sap_hana.py
wget https://storage.cloud.google.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_hana/sap_hana.py.schema
wget https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_hana/startup.sh
wget https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_hana/template.yaml

Menggunakan file template yang diubah

Setelah selesai memodifikasi file template, upload file ke bucket Cloud Storage atau server web dan perbarui URL di template.yaml serta file lainnya ke lokasi file.

Skrip pasca-deployment

Anda dapat menggunakan skrip pasca-deployment untuk melakukan tindakan tambahan, seperti memicu penginstalan aplikasi SAP NetWeaver, agen pemantauan, dan sebagainya.

Skrip pasca-deployment adalah cara yang direkomendasikan untuk menyesuaikan deployment Anda karena skrip tersebut mendapatkan kontrol hanya setelah infrastruktur Google Cloud dikonfigurasi sesuai dengan persyaratan dukungan SAP.

Agar dapat menampilkan pesan status untuk skrip pasca-deployment, Anda perlu membuat kode skrip untuk menulis pesan ke log. Untuk mengetahui informasi selengkapnya, lihat dokumentasi Cloud Logging.

Status skrip pasca-deployment tidak disertakan dalam pesan yang ditulis Deployment Manager ke Cloud Shell atau sesi shell Google Cloud CLI lokal.

Mendapatkan dukungan template Deployment Manager untuk SAP

Jika Anda memerlukan bantuan untuk menyelesaikan masalah dengan template Deployment Manager untuk SAP, kumpulkan informasi diagnostik yang diperlukan, lalu hubungi Cloud Customer Care. Untuk daftar informasi diagnostik yang diperlukan, lihat Template Deployment Manager untuk informasi diagnostik SAP.