bởi Marcel Törpe | vào ngày 22 tháng 12 năm 2023 |
AWS Launch Wizard cho SAP cho phép khách hàng tự động hóa việc triển khai các ứng dụng SAP như SAP S/4HANA. Nó cũng cung cấp cho khách hàng khả năng cá nhân hóa hệ thống SAP của họ với sự giúp đỡ của các kịch bản cấu hình trước/sau. Các kịch bản cấu hình trước triển khai chạy ngay sau khi các máy ảo được triển khai và các hoạt động cấu hình Launch Wizard cơ bản – như triển khai AWS CLI, Amazon CloudWatch và các đại lý AWS Systems Manager – được hoàn thành. Các kịch bản cấu hình sau triển khai chạy khi Launch Wizard hoàn thành các hoạt động cấu hình cụ thể cho ứng dụng SAP trên tất cả các máy ảo trong một triển khai.
Xây dựng trên các khả năng này, chúng tôi rất vui mừng giới thiệu một Repository GitHub mới awslabs/aws-sap-automation, nơi bạn có thể tìm thấy các kịch bản tự động hóa và cá nhân hóa được tùy chỉnh cho Launch Wizard! Những kịch bản này đã được kiểm tra và hoạt động với Launch Wizard khi triển khai các khối công việc SAP, và có thể được tận dụng như thế hoặc điều chỉnh để đáp ứng nhu cầu cá nhân của bạn.
AWS Systems Manager (SSM) cho phép khách hàng quản lý, cập nhật và vá các máy chủ và máy ảo (VM) trên AWS, on-premises và trên các đám mây khác từ một bảng điều khiển duy nhất ở tỷ lệ. Trước đó trong năm nay, chúng tôi đã công bố sự có sẵn chung của AWS Systems Manager cho SAP (SSM cho SAP), xây dựng nền tảng để giúp khách hàng quản lý và vận hành các ứng dụng SAP của họ trên AWS hiệu quả hơn. Gần đây, ngoài việc truy cập thông qua giao diện dòng lệnh (CLI), chúng tôi đã giới thiệu sự hỗ trợ cho các ứng dụng SAP như một phần của SSM Application Manager trong AWS Console. SSM Application Manager cụ thể cho phép bạn hiểu và khám phá cấu trúc tổ hợp của môi trường SAP của bạn cho máy chủ ứng dụng SAP NetWeaver ABAP và cơ sở dữ liệu SAP HANA, cũng như các phụ thuộc của chúng. Và phần tốt nhất: Điều này có sẵn cho bạn mà không tốn thêm chi phí.
Bây giờ hãy xem xét cách bạn có thể tự động đăng ký các hệ thống SAP triển khai thông qua Launch Wizard với SSM cho SAP bằng cách sử dụng các kịch bản cấu hình sau triển khai cho các triển khai mới và tài liệu SSM cho các triển khai hiện có.
Yêu cầu Tiên quyết
Để bắt đầu, đảm bảo rằng bạn hoàn thành các yêu cầu tiên quyết sau cho việc thiết lập (hoạt động một lần cho mỗi Tài khoản AWS):
- Trong bảng điều khiển AWS IAM, gắn AWS Managed Policy có tên AWSSystemsManagerForSAPFullAccess vào vai trò AmazonEC2RoleForLaunchWizard
- Trong AWS Launch Wizard cho SAP, đảm bảo rằng bạn đã có một triển khai SAP hiện tại hoặc kế hoạch cho một ngăn xếp triển khai mới. Lưu ý: Hiện tại, SSM cho SAP chỉ hỗ trợ các môi trường SAP HANA 2.0 single-node, SAP HANA 2.0 HA, SAP NetWeaver trên SAP ABAP 7.50 hoặc cao hơn!
Tùy chọn 1: Tự động Đăng ký
Lưu ý: Thay vì đăng ký hệ thống Launch Wizard của bạn bằng cách thủ công, chúng ta sẽ sử dụng một kịch bản, có sẵn trên GitHub. Nếu bạn muốn đăng ký hệ thống SAP của mình một cách thủ công, hãy tuân theo “Tùy chọn 2” thay vì vậy!
Để bắt đầu, điều hướng đến bảng điều khiển IAM của AWS và, một lần nữa, tạo và gắn IAM Policy được cung cấp vào vai trò AmazonEC2RoleForLaunchWizard (một hoạt động một lần cho mỗi Tài khoản AWS).
Triển khai Mới của Launch Wizard: Sử dụng các kịch bản cấu hình sau triển khai
Trong AWS Launch Wizard cho SAP, tiến hành Cấu hình mô hình triển khai. Trong phần Kịch bản cấu hình sau triển khai, chọn URL Amazon S3 sau làm vị trí kịch bản:
s3://aws-sap-automation/ssm_sap/run.sh
HTTP
Nhấp vào “Next” để hoàn thành việc đăng ký. Trong quá trình triển khai và sau triển khai, hãy đảm bảo kiểm tra Amazon CloudWatch Log stream tương ứng được gọi là */postDeploymentConfiguration:
Sau khi quá trình triển khai hoàn tất, bạn có thể tiếp tục đến phần “Verify your registration”.
Đối với các Triển khai Hiện có: Sử dụng Tài liệu SSM
Di chuyển đến AWS Systems Manager → Create document chọn Choose a name
Chọn một tên và sao chép và dán Content dưới YAML.
description: ”
schemaVersion: ‘2.2’
mainSteps:
– action: aws:runShellScript
name: ‘RunSSMforSAPRegistration’
inputs:
runCommand:
– aws s3 cp s3://aws-sap-automation/ssm_sap/run.sh ./ –region eu-central-1
– chmod +x run.sh
– ./run.sh
Để lưu, nhấn Create document.
Tiếp theo, định vị tài liệu của bạn và nhấn Run command. Chọn các phiên bản EC2 mục tiêu của bạn và nhấn Run.
Sau khi lệnh hoàn thành thành công, bạn có thể tiếp tục đến phần “Verify your registration”. Trong trường hợp lệnh thất bại, kiểm tra đầu ra/lỗi của lệnh trực tiếp để biết thêm thông tin!
Tùy chọn 2: Đăng ký thủ công
Tuân theo các bước sau đây để đăng ký hệ thống SAP của bạn thủ công, như đã được chỉ định trong Tài liệu AWS:
Bước 1: Thu thập các tham số hệ thống SAP của bạn
Thu thập và ghi lại các thông số sau từ việc triển khai Launch Wizard của bạn, như ví dụ được hiển thị trong AWS CloudFormation → LaunchWizard-<STACK_NAME>:
| Param | CloudFormation Tab | Key |
| EC2_INSTANCE_ID | Stack Resources | “SapSingleInstance” / “HanaSingleInstance” |
| SAP_HANA_INSTANCE_NR | Stack Parameters | “SAPInstanceNum“ |
| SAP_HANA_SID | Stack Parameters | “HANASID” |
| SAP_SID | Stack Parameters | ”SAPSID“ (if applicable) |
Nếu cần, bạn cũng có thể lấy MASTER_PASSWORD từ AWS Secrets Manager → Tham số Stack “HANAMasterPassKey” với Secret ARN.
Bước 2: Gắn thẻ cho Instance EC2
Trong bảng điều khiển EC2, xác định EC2_INSTANCE_ID của bạn và thêm thẻ sau để cho phép AWS Systems Manager cho SAP truy cập vào instance của bạn:
Key: SSMForSAPManaged
Value: True
Bước 3: Đăng ký thông tin đăng nhập trong AWS Secrets Manager
Trên trang AWS Secrets Manager, chọn Lưu một bí mật mới. Đối với Loại bí mật, chọn Loại bí mật khác và tạo các cặp key-value sau: username = SYSTEM và password = <MASTER_PASSWORD>. Chọn Tiếp theo và nhập tên bí mật ví dụ LaunchWizard-<STACK_NAME>-SSMSAP. Trong phần Quyền tài nguyên, chọn Chỉnh sửa quyền và dán chính sách sau – điều chỉnh tên Amazon Resource Name (ARN) của vai trò instance Amazon EC2, và thay thế các chỗ giữ chỗ <AWS_ACCOUNT_ID> và <EC2_INSTANCE_ID> bằng các thông tin tương ứng. Chọn Tiếp theo và sau đó, chọn Lưu.
{
“Version” : “2012-10-17”,
“Statement” : [{
“Effect” : “Allow”,
“Principal” : {
“AWS” : “arn:aws:sts::<AWS_ACCOUNT_ID>:assumed-role/AmazonEC2RoleForLaunchWizard/<EC2_INSTANCE_ID>”
},
“Action” : “secretsmanager:GetSecretValue”,
“Resource” : “*”
}]
}
JSON
Kết quả sẽ giống như sau:
Hãy kiểm tra tài liệu AWS tương ứng để biết thêm thông tin. Đảm bảo ghi lại tên bí mật của bạn, ví dụ: LaunchWizard-<STACK_NAME>-SSMSAP, trong các phần tiếp theo được gọi là HANA_SECRET_ID_SSM.
Bước 4: Đăng ký SAP HANA
Bắt đầu một instance AWS CloudShell (hoặc CLI/terminal) và thực thi lệnh sau. Đảm bảo thay thế các biến với cấu hình cụ thể của bạn. Lưu ý: application-id không được chứa bất kỳ ký tự đặc biệt nào:
aws ssm-sap register-application \
–application-id <STACK_NAME><SAP_HANA_SID> \
–application-type “HANA” \
–instances <EC2_INSTANCE_ID> \
–sap-instance-number <SAP_HANA_INSTANCE_NR> \
–sid <SAP_HANA_SID> \
–credentials ‘[{“DatabaseName”:”‘<SAP_HANA_SID>’/'<SAP_HANA_SID>’”,”CredentialType”:”ADMIN”,”SecretId”:”‘<HANA_SECRET_ID_SSM>’”},{“DatabaseName”:”‘<SAP_HANA_SID>’/SYSTEMDB”,”CredentialType”:”ADMIN”,”SecretId”:”‘<HANA_SECRET_ID_SSM>’”}]’
Bash
Sẽ tốn thời gian đến khi thành công:
Bạn có thể kiểm tra trạng thái đăng ký như sau:
aws ssm-sap get-application –application-id <STACK_NAME><SAP_HANA_SID>
Bash
Lưu ý: Thay vì sử dụng cách tiếp cận CLI/programmatic, bạn cũng có thể đăng ký thông qua bảng điều khiển AWS → AWS Systems Manager → Application Manager và nhấp vào Tạo ứng dụng và chọn Tải trọng Doanh nghiệp, như được hiển thị dưới đây.
Kiểm tra cũng hướng dẫn chi tiết liên quan.
Bước 5: Đăng ký Máy chủ ứng dụng SAP ABAP (nếu áp dụng)
Chạy lệnh sau để lấy ARN cơ sở dữ liệu HANA (Tenant DB), và thay thế các placeholder <STACK_NAME> và <SAP_HANA_SID> với thông tin tương ứng.
DB_ARN=$(aws ssm-sap list-databases –application-id <STACK_NAME><SAP_HANA_SID> –query “Databases[?DatabaseType==’TENANT’].Arn” –output text)
Bash
Tiếp theo, đăng ký máy chủ ứng dụng SAP ABAP. Một lần nữa, đừng quên thay thế các placeholder bằng các giá trị tương ứng của chúng.
aws ssm-sap register-application \
–application-id <STACK_NAME><SAP_SID> \
–application-type “SAP_ABAP” \
–instances <EC2_INSTANCE_ID> \
–sid <SAP_SID> \
–database-arn $DB_ARN
Bash
Kết quả đầu ra có thể giống như sau. Việc đăng ký có thể mất vài phút để hoàn thành!
Xác minh đăng ký của bạn
Xác minh trạng thái đăng ký trong AWS SSM → Quản lý Ứng dụng:
The SAP HANA registration, for example, should look as follows:
Bạn cũng có thể xác minh đăng ký từ dòng lệnh:
Đầu tiên, truy xuất ID Ứng dụng mong muốn:
aws ssm-sap list-applications
Bash
Tiếp theo, truy vấn thông tin thành phần:
MYCOMP=$(aws ssm-sap get-application –application-id <APP_ID> –output text –query “*.Components[0]”)
aws ssm-sap get-component –application-id <APP_ID> –component-id $MYCOMP
Bash
Đầu ra sẽ trông giống như sau:
Sửa lỗi:
Trong trường hợp đăng ký không thành công, hãy đảm bảo kiểm tra lịch sử lệnh chạy tại AWS Systems Manager → Lịch sử lệnh. Tìm tài liệu AWSSystemsManagerSAP-Discovery và nhấp vào Xem chi tiết để tìm hiểu thêm về nguyên nhân có thể gây ra lỗi.
Để lặp lại/làm lại đăng ký, chỉ cần hủy đăng ký như sau.
Nhận Id ứng dụng mong muốn:
aws ssm-sap list-applications
Bash
Tiếp theo, chạy dòng sau để hủy đăng ký ứng dụng:
aws ssm-sap deregister-application –application-id <APP_ID>
Bash
Sau khi đã làm sạch thành công, bạn có thể bắt đầu quá trình đăng ký lại từ đầu.
Bước Tiếp Theo
Chúng tôi đã hướng dẫn bạn cách đăng ký các triển khai của Launch Wizard với AWS Systems Manager cho SAP. Bây giờ bạn có thể sử dụng tích hợp AWS Backup để tự động sao lưu và khôi phục cơ sở dữ liệu SAP HANA. Hãy chờ đợi những cập nhật mới hơn trong lĩnh vực này!
- Hãy kiểm tra các tài nguyên sau để tìm hiểu thêm:
- AWS Systems Manager cho SAP
- Github awslabs/aws-sap-automation
- Tập lệnh cấu hình trước/sau của AWS Launch Wizard cho SAP