全部产品
Search
文档中心

CloudOps Orchestration Service:ACS-SAP-SAPAutoScaling

更新时间:Jun 28, 2025

Nama Template

ACS-SAP-SAPAutoScaling

Eksekusi Sekarang

Deskripsi Template

Membuat grup penskalaan otomatis berdasarkan server aplikasi utama (PAS) dari sistem Systems, Applications, and Products (SAP) yang ada untuk secara otomatis atau manual menambahkan Instance Elastic Compute Service (ECS) dan menerapkannya sebagai server aplikasi tambahan (AAS). AAS secara otomatis bergabung dengan grup logon SAP (SMLG).

Jenis Template

Otomatis

Pemilik

Alibaba Cloud

Parameter Input

Parameter

Deskripsi

Tipe

Diperlukan

Nilai Default

Batas

PASInstanceId

ID instance PAS.

Json

Ya

RootPassword

Kata sandi pengguna root.

String

Ya

Ekspresi reguler untuk verifikasi string: ^{{oos-secret:.*$

SAPSID

ID sistem (SID) dari sistem SAP.

String

Ya

Username

Nama pengguna sistem SAP.

String

Ya

UserPassword

Kata sandi pengguna sistem SAP.

String

Ya

Ekspresi reguler untuk verifikasi string: ^{{oos-secret:.*$

ClientNumber

SAP CLIENT

String

Ya

AASCount

Jumlah AAS yang dapat ditambahkan.

Angka

Ya

KeyPairName

Nama pasangan kunci.

String

Ya

UsrsapDiskSize

Ukuran file system /usr/sap.

String

Ya

SwapDiskSize

Ukuran swap.

String

Ya

AASInstanceId

ID instance AAS.

Json

Tidak

{'Type': 'ResourceIds', 'ResourceIds': [''], 'RegionId': '{{ ACS::RegionId }}'}

ClassName

Nama SMLG.

String

Tidak

SPACE

CpuTargetValue

Utilisasi CPU rata-rata yang diharapkan.

String

Tidak

80

Cooldown

Interval waktu minimum yang harus berlalu sebelum operasi penskalaan lainnya dapat dilakukan, dalam detik.

Angka

Tidak

300

Parameter Output

Parameter

Deskripsi

Tipe

ScalingGroupId

String

Kebijakan izin yang diperlukan untuk menjalankan template

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "ecs:DescribeInstances"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "ros:CreateStack",
                "ros:GetStack"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

Referensi

Untuk informasi lebih lanjut, lihat ACS-SAP-SAPAutoScaling di GitHub.Kelola Tugas Berbasis Peristiwa

Isi Template

FormatVersion: OOS-2019-06-01
Description:
  en: ''
  name-en: ACS-SAP-SAPAutoScaling
Parameters:
  PASInstanceId:
    Type: Json
    AssociationProperty: Targets
    AssociationPropertyMetadata:
      ResourceType: 'ALIYUN::ECS::Instance'
    Description:
      en: Silakan pilih ECS tempat sistem SAP AS ABAP PAS yang ada berada
    Label:
      en: PASInstanceId
  AASInstanceId:
    Type: Json
    AssociationProperty: Targets
    AssociationPropertyMetadata:
      ResourceType: 'ALIYUN::ECS::Instance'
    Description:
      en: Silakan pilih ECS tempat sistem SAP AS ABAP AAS yang ada berada. Beban CPU dari instance yang dipilih juga akan digunakan untuk menghitung rata-rata penggunaan CPU. Jika tidak ada AAS lain, atau AAS yang ada dan PAS berada di instance ECS yang sama, Anda tidak perlu memilih
    Label:
      en: AASInstanceId
    Default: 
      Type: ResourceIds
      ResourceIds:
        - ""
      RegionId: '{{ ACS::RegionId }}'
  RootPassword:
    Type: String
      en: Kata sandi pengguna root dari instance tempat PAS berada. Untuk memastikan keamanan data, hanya fungsi parameter enkripsi dari gudang parameter yang didukung. Silakan klik tombol di sebelah kanan kotak input untuk membuat dan memilih parameter enkripsi. Untuk detail lebih lanjut, silakan lihat <a href='https://www.alibabacloud.com/help/en/oos/getting-started/manage-encryption-parameters' target='_blank'>Buat parameter enkripsi</a> dan <a href='https://www.alibabacloud.com/help/en/oos/getting-started/use-encryption-parameters-for-template-executions' target='_blank'>Gunakan parameter enkripsi</a>
    Label:
      en: RootPassword
    AllowedPattern: '^\{\{oos-secret:.*$'
  SAPSID:
    Type: String
    Label:
      en: SAPSID
  Username:
    Type: String
    Description:
      en: Nama pengguna login SAP GUI sistem SAP AS ABAP
    Label:
      en: Username
  UserPassword:
    Type: String
    Description:
      en: Kata sandi login pengguna SAP GUI, untuk memastikan keamanan data, hanya mendukung fungsi parameter enkripsi dari gudang parameter. Silakan klik tombol di sebelah kanan kotak input untuk membuat dan memilih parameter enkripsi. Untuk detail lebih lanjut, silakan lihat <a href='https://www.alibabacloud.com/help/en/oos/getting-started/manage-encryption-parameters' target='_blank'>Buat parameter enkripsi</a> dan <a href='https://www.alibabacloud.com/help/en/oos/getting-started/use-encryption-parameters-for-template-executions' target='_blank'>Gunakan parameter enkripsi</a>
    Label:
      en: UserPassword
    AllowedPattern: '^\{\{oos-secret:.*$'
  ClientNumber:
    Type: String
    Description:
      en: Login Client SAP GUI, seperti 800, 600
    Label:
      zh-cn: SAP CLIENT
      en: ClientNumber
  ClassName:
    Type: String
    Description:
      en: Nama grup login SMLG. AAS yang diperluas akan secara otomatis ditambahkan ke grup login SMLG. Jika tidak diisi, akan secara otomatis ditambahkan ke grup default 'SPACE'. Jika grup SMLG tidak disetel, tidak wajib untuk diisi. Untuk mempermudah dan fleksibel menyesuaikan grup yang AAS gabung, disarankan Anda menggunakan <a href='https://www.alibabacloud.com/help/en/oos/getting-started/use-encryption-parameters-for-template-executions' target='_blank'>parameter enkripsi</a>
    Label:
      en: ClassName
    Default: 'SPACE'
  AASCount:
    Type: Number
    Label:
      en: AASCount
    MinValue: 1
    MaxValue: 2000
  CpuTargetValue:
    Type: String
    Description:
      en: Penggunaan CPU rata-rata yang diharapkan dari ECS tempat PAS dan AAS berada. Rata-rata penggunaan CPU = (instance ECS tempat PAS berada + instance ECS tempat AAS ditambahkan + instance ECS tempat AAS diperluas secara otomatis) jumlah total utilisasi CPU / jumlah total core CPU di semua instance x100 %. Penggunaan CPU rata-rata aktual dihitung setiap menit. Ketika nilai aktual melebihi nilai yang diharapkan tiga kali berturut-turut, tindakan ekspansi AAS otomatis akan dipicu. Jika Anda perlu menyesuaikan periode statistik dan jumlah pemicu, silakan klik <a href='https://ess.console.aliyun.com/#/v3/welcome' target='_blank'>konsol penskalaan elastis setelah eksekusi selesai.</a>Tambahkan tugas alarm yang sesuai. Untuk detailnya, silakan lihat <a href='https://www.alibabacloud.com/help/en/auto-scaling/user-guide/manage-event-triggered-tasks' target='_blank'>Buat tugas alarm</a>
    Label:
      en: CpuTargetValue
    Default: 80
  Cooldown:
    Type: Number
    Description:
      en: Interval untuk memicu ekspansi otomatis AAS, dalam detik. Misalnya, jika interval yang ditentukan adalah 300 detik, dalam 300 detik setelah memperluas AAS, meskipun penggunaan CPU rata-rata melebihi 'penggunaan CPU rata-rata yang diharapkan', tindakan ekspansi tidak akan dipicu lagi
    Label:
      en: Cooldown
    Default: 300
    MinValue: 0
    MaxValue: 86400
  KeyPairName:
    Type: String
    Description: 
      en: Nama pasangan kunci yang terikat pada instance ECS tempat AAS diperluas berada. Digunakan untuk masuk ke instance ECS. Harap daftarkan terlebih dahulu di <a href='https://ecs.console.alibabacloud.com/#/keyPair/region/' target ='_blank'>Konsol Pasangan Kunci</a>Buat dan kelola pasangan kunci
    Label:
      en: KeyPairName
  UsrsapDiskSize:
    Type: String
    Description:
      en: Ukuran file system '/usr/sap' dari instance ECS tempat AAS diperluas berada, dalam GB
    Label:
      en: UsrsapDiskSize
  SwapDiskSize:
    Type: String
    Description:
      en: Ukuran partisi swap dari instance ECS tempat AAS diperluas berada, dalam GB
    Label:
      en: SwapDiskSize
Tasks:
  - Name: getPASInstance
    Action: 'ACS::SelectTargets'
    Properties:
      ResourceType: 'ALIYUN::ECS::Instance'
      Filters:
        - '{{ PASInstanceId }}'
    Outputs:
      PASInstanceId:
        ValueSelector: 'Instances.Instance[0].InstanceId'
        Type: String
      VSwitchId:
        ValueSelector: 'Instances.Instance[0].VpcAttributes.VSwitchId'
        Type: String
      PASIP:
        ValueSelector: 'Instances.Instance[0].VpcAttributes.PrivateIpAddress.IpAddress[0]'
        Type: String
  - Name: getAASInstance
    Action: 'ACS::SelectTargets'
    Properties:
      ResourceType: 'ALIYUN::ECS::Instance'
      Filters:
        - '{{ AASInstanceId }}'
    Outputs:
      AASInstanceId:
        ValueSelector: 'Instances.Instance[].InstanceId'
        Type: List
  - Name: createStack
    Action: 'ACS::ExecuteAPI'
    Description:
      en: 'Buat grup penskalaan, aturan penskalaan, konfigurasi penskalaan, dan panggilan balik siklus hidup.'
    Properties:
      Service: ROS
      API: CreateStack
      Parameters:
        StackName: 'AutoScaling-{{ACS::ExecutionId}}'
        TimeoutInMinutes: 10
        DisableRollback: true
        Parameters:
          - ParameterKey: ClassName
            ParameterValue: '{{ ClassName }}'
          - ParameterKey: ClientNumber
            ParameterValue: '{{ ClientNumber }}'
          - ParameterKey: UserPassword
            ParameterValue: '{{ UserPassword }}'
          - ParameterKey: Username
            ParameterValue: '{{ Username }}'
          - ParameterKey: SAPSID
            ParameterValue: '{{ SAPSID }}'
          - ParameterKey: PASInstanceId
            ParameterValue: '{{ getPASInstance.PASInstanceId }}'
          - ParameterKey: ExistingAASInstances
            ParameterValue: 
              'Fn::If':
                - 'Fn::Equals':
                  - []
                  - '{{ getAASInstance.AASInstanceId }}'
                - '[]'
                - 'Fn::Jq':
                  - First
                  - 'tostring'
                  - '{{ getAASInstance.AASInstanceId }}'
          - ParameterKey: RootPassword
            ParameterValue: '{{ RootPassword }}'
          - ParameterKey: PASIP
            ParameterValue: '{{ getPASInstance.PASIP }}'
          - ParameterKey: VSwitchId
            ParameterValue: '{{ getPASInstance.VSwitchId }}'
          - ParameterKey: AASCount
            ParameterValue: '{{ AASCount }}'
          - ParameterKey: Cooldown
            ParameterValue: '{{ Cooldown }}'
          - ParameterKey: CpuTargetValue
            ParameterValue: '{{ CpuTargetValue }}'
          - ParameterKey: UsrsapDiskSize
            ParameterValue: '{{ UsrsapDiskSize }}'
          - ParameterKey: SwapDiskSize
            ParameterValue: '{{ SwapDiskSize }}'
          - ParameterKey: KeyPairName
            ParameterValue: '{{ KeyPairName }}'
        TemplateURL: 'http://ros-template.cn-hangzhou.oss.aliyun-inc.com/S4HANA_Auto_Scaling.json'
    Outputs:
      StackId:
        Type: String
        ValueSelector: StackId
  - Name: untilStackReady
    Action: 'ACS::WaitFor'
    Description:
      en: Tunggu status tumpukan hingga CREATE_COMPLETE
    Retries: 10
    Properties:
      Service: ROS
      API: GetStack
      Parameters:
        StackId: '{{createStack.StackId}}'
      DesiredValues:
        - CREATE_COMPLETE
      StopRetryValues:
        - CREATE_FAILED
        - CHECK_FAILED
        - ROLLBACK_FAILED
        - ROLLBACK_COMPLETE
        - CREATE_ROLLBACK_COMPLETE
        - CREATE_ROLLBACK_FAILED
      PropertySelector: Status
    Outputs:
      ScalingGroupId:
        Type: String
        ValueSelector: '.Outputs[] | select(.OutputKey == "ScalingGroupId") | .OutputValue'
Outputs:
  ScalingGroupId:
    Type: String
    Value: '{{ untilStackReady.ScalingGroupId }}'