BLOG
AWS에서 SAP를 실행하는 5,000 명 이상의 고객들은 다양한 SAP 릴리스 및 버전에서 SAP 워크로드를 실행합니다. 대부분 고객은 하나 이상의 응용 프로그램 서버와 데이터베이스로 구성된 SAP NetWeaver ABAP 기반 환경을 사용하고 있습니다. SAP 고객은 종종 SAP Solution Manager Focus Run 또는 Avantra 와 같은 타사 상용 솔루션을 사용하여 SAP 애플리케이션을 전체적으로 그리고 대규모로 모니터링합니다.
오늘 자 블로그 게시물에서는 Amazon CloudWatch 및 AWS Lambda를 기반으로 하는 대체 서버리스 방식을 공유합니다. 이 접근 방식을 통해 고객은 서버 또는 에이전트를 배포하거나 관리할 필요 없이 저렴한 비용으로 SAP ABAP 기반 환경을 효과적으로 모니터링할 수 있습니다. 이 솔루션은 AWS Serverless Application Repository 또는 AWS CloudFormation을 사용하여 몇 분 안에 완벽하게 배포됩니다. CloudWatch 내에서 사용자 지정 지표 기능과 새로운 임베디드 로그 형식 기능을 사용합니다. 이를 통해 SAP 애플리케이션 수준 성능 데이터와 같은 지표를 쉽게 발행하고 CloudWatch에서 임계값 및 경보를 생성할 수 있습니다.
아키텍처
다음 아키텍처 다이어그램은 AWS CloudFormation로 배포되는 모니터링 설정을 보여줍니다. SAP Java Connector (JCo)의 Lambda 계층“sapjco”는 미리 수동으로 작성해야 합니다.
생성된 Amazon CloudWatch 규칙은 1분마다 Java 기반 Lambda 함수를 트리거하고 Lambda 계층으로 제공되는 공식 SAP JCo Library를 통해 SAP 시스템에 대해 여러 개의 RFC (Remote Function Call)를 수행합니다. AWS Lambda 네트워킹에 대한 최신 개선 사항을 통해 Lambda를 기존 Amazon Virtual Private Cloud (VPC)에 추가하여 연결합니다.
SAP RFC 자격 증명 및 연결 정보는 AWS Secrets Manager에 안전하게 저장되며 온디맨드 방식으로 읽어들여 연결을 설정합니다. Lambda 함수는 SAP 애플리케이션 수준 지표를 추출하고 해당 사용자 정의 네임스페이스를 추가한 후 CloudWatch에 푸시합니다. 그러면 CloudWatch 내에서 사용자 지정 대시 보드를 생성할 수 있습니다.
설정
전제 조건
- SAP NetWeaver ABAP 740 이상 (ECC, S4, BW 등)
- SAP 구성 요소 ST-PI 릴리스 740 SP 08 이상
- SAP 통계 레코드 활성화 (트랜잭션 코드 stad / st03). 기본으로 활성화되지 않은 경우 SAP 노트 2369736을 확인하십시오.
- SAP RFC 사용자 및 비밀번호 –“1 단계”를 참고하십시오.
- SAP Java Connector를 다운로드 할 SAP S-User –“2 단계”를 참고하십시오.
- Lambda 기능이 프라이빗 서브넷을 통해 모니터링 할 SAP 시스템에 연결할 수 있도록 포트 33 <instanceID>에서 인바운드 / 아웃 바운드 트래픽을 허용하는 Amazon VPC 보안 그룹 – 이전 섹션“아키텍처”를 참고하십시오.
- 프로덕션 시스템의 경우 SAP note 1656250 에 따라 CloudWatch 세부 모니터링을 활성화하십시오.
1단계: 모니터링 할 SAP 사용자 작성 (SAPGUI)
단계별 가이드 및 유지 관리되는 필수 인증 목록을 참고하십시오.
2단계: SAP JCo에 대한 Lambda 계층 생성 (콘솔)
이 작업은 후속 배포에 관계없이 한 번만 수행하면 됩니다.
단계별 가이드를 참고하십시오.
3단계: 솔루션 배포 (콘솔)
대부분의 AWS 리전에서는 sap-monitor를 검색하여 AWS Serverless Application Repository 를 사용하여 솔루션을 쉽게 배포할 수 있습니다. 사용자 지정 IAM 역할을 생성하는 앱 표시를 선택하십시오.
이용 중인 리전에서 사용할 수 없는 경우 다음 AWS CloudFormation 템플릿을 실행하여 수동으로 배포해 주십시오.
SAP 시스템 ID, 클라이언트, 호스트 / IP 주소, 인스턴스 ID, RFC 사용자 및 비밀번호, 대상 VPC의 보안 그룹 및 서브넷과 같은 필요한 모든 세부 정보를 신중히 입력하십시오. 입력을 SAP 기본 애플리케이션 서버에 대한 각각의 Amazon Elastic Compute Cloud (Amazon EC2) 설정과 비교해 주시기 바랍니다.
참고: 여러 시스템을 모니터링할 경우 SAP 시스템 ID별로 이 애플리케이션의 단일 인스턴스를 배포해야 합니다.
이 단계에서 문제가 있는 경우 문제 해결 안내서를 참고하십시오.
모니터를 통해 자동으로 진행하지 않고 / SDF / SMON을 직접 시작하려면 수동 스케줄링에 대한 문서를 확인하십시오.
4단계: 기능 테스트 (콘솔)
Lambda 콘솔을 열고 sap-monitor- <SID> 를 선택한 다음 테스트를 선택하십시오. 테스트 이벤트 구성 페이지에서 새로운 테스트 이벤트 생성을 선택하고 {“refresh”:true} :을 입력하십시오.
테스트를 선택하십시오. 예상 출력은 다음과 같습니다.
이 단계에서 문제가 있는 경우 문제 해결 안내서를 참고하십시오.
5단계: 스케줄러 활성화 (콘솔)
CloudWatch 콘솔을 엽니다. 탐색 창에서 규칙을 선택하십시오. 규칙 sap-monitor- <SID> 를 선택하고 주기적으로 실행되도록 Actions을 선택하십시오.
6단계: 대시 보드 생성 (콘솔)
CloudWatch 콘솔을 엽니다. 탐색 창에서 (Metrics)를 선택하십시오. 사용자 정의 네임 스페이스 아래에서 SID별로 정렬된 사용자 정의 메트릭을 찾을 수 있습니다. 메트릭을 선택하고 미리 볼 수 있습니다.
대시 보드로 이동하여 대시 보드 생성을 눌러 새 맞춤형 대시 보드를 설정하십시오. 위젯추가를 선택하고 목록에서 각각의 맞춤형 지표를 선택하고 세분성 및 기간과의 일치 여부를 확인하십시오. 마지막으로 반드시 저장을 누르십시오.
대시 보드는 다음과 같이 나타납니다.
CloudWatch를 사용하면 웹 페이지에 그래프를 포함할 수도 있습니다.
7단계: 경보 생성
원하는 임계값을 초과하면 알람을 생성하고 알림을 받을 수 있습니다.
sap-monitor- <SID> 를 모니터하는 알람을 시작하려면 sap 모니터 기능에 대한 Lambda 메트릭 오류를 다음과 같이 선택하십시오.
해당 Amazon Simple Notification Service (Amazon SNS) 주제를 설정한 경우 모니터링이 실패할 때 이메일을 통해 알림을 받도록 선택할 수 있습니다. 더 꼼꼼히 관리하고자 할 시에는 메트릭에 대한 별도의 알람을 설정해 주시기 바랍니다.
성능 고려 사항
SAP 시스템을 정기적으로 쿼리하고 인사이트를 얻기 위해 필요한 두 가지 기술이 있습니다.
- 30 초 단위의 / SDF / SMON 데이터에 대해 1 분 간격 (온디맨드):
SAP에 따르면 / SDF / SMON에 필요한 SAP 시스템의 CPU 및 메모리 오버 헤드는 큰 문제가 되지 않으며 프로덕션 환경에서 안전하게 실행될 수 있습니다. - st03 “last-minute load”에 대한 5 분 간격:
일반적으로 SAP 통계 레코드 (stad) 및 관련 집계 (st03)이 기본값으로 사용됩니다. (SAP note 2369736이 체크되지 않은 경우). SAP 모니터링, 특히 SAP GoingLive Check, SAP EarlyWatch Alert 및 SAP Solution Manager를 위한 기본값입니다.
비용 고려 사항
예를 들어, 두 개의 애플리케이션 서버가 있는 단일 SAP 시스템의 경우 예상 비용은 무료 티어를 고려하지 않았을 때 SID 당 월 16 USD입니다.
저장된 로그 데이터를 제한하고 장기적으로 비용을 줄이기 위해, /aws/lambda/sap-monitor-<SID> 에 대한 보존 기간 단축 여부를 확인해 주십시오.
캡쳐된 지표
현재 캡쳐된 지표와 그 중요성에 대한 전체 목록은 GitHub 리포지토리에서 찾을 수 있습니다.
여유 하드 디스크 공간과 같은 다른 OS 관련 지표도 모니터링하려면 CloudWatch 에이전트를 맨 위에 배치하면 됩니다.
사용 후기 공유
이 솔루션은 어떠한 조건 없이 그대로 제공해 드리지만, 해당 솔루션 사용 후 GitHub 리포지토리에 버그를 보고하고 의견을 남겨주신다면 서비스 운영에 많은 도움이 될 것입니다.
결론
본 게시물에서는 Amazon CloudWatch를 사용하여 SAP ABAP 기반 시스템을 모니터링하는 방법을 안내하며, AWS Serverless Application Repository 및 AWS CloudFormation을 통해 배포되는 기본 SAP 애플리케이션 지표가 포함된 솔루션을 보여드렸습니다. SAP 자격 증명은 AWS Secrets Manager에 안전하게 저장되어있는 것으로 나타났습니다. SAP 시스템에 대한 액세스는 잘 정의되어 있으며 요청 시 쉽게 비활성화될 수 있습니다. 소스 코드는 공개되어 있으며 확장할 수 있습니다.
이처럼 이제 사용자는 SAP 시스템을 쉽게 모니터링하며, 모니터링 대시보드 및 자체 요구 사항에 맞게 경보를 조정할 수 있습니다.
본 글이 도움이 되셨기를 바라며, 추가적으로 궁금한 점이 있으시면 언제든 편하게 문의를 남겨 주시기 바랍니다.
** 메가존 클라우드 TechBlog는 AWS BLOG 영문 게재 글 중에서 한국 사용자들에게 유용한 정보 및 콘텐츠를 우선적으로 번역하여 내부 엔지니어 검수를 받아서, 정기적으로 게재하고 있습니다. 추가로 번역 및 게재를 희망하는 글에 대해서 관리자에게 메일 또는 SNS 페이지에 댓글을 남겨주시면, 우선적으로 번역해서 전달해드리도록 하겠습니다.