Nama Template
ACS-SAP-SAPAutoScaling
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 }}'