AWS Systems Manager for SAP

マネージドサービス部で Basis/インフラを担当しています。
今回は、AWS Systems Manager for SAP を検証したいと思います。

**AIによる要約**

本記事では、AWS Systems Manager for SAPを使用してSAP HANAデータベースを管理する方法について説明しています。準備として、AWS Secrets Managerでユーザーパスワードを設定し、インスタンスロールにポリシーを追加し、インスタンスタグを設定する手順を解説しています。次に、Application ManagerでSAP HANAを登録する方法と、システムの動作確認について説明しています。さらに、AWSからSAP HANAを起動および停止するコマンドの使用法や、ABAPアプリケーションの登録についても触れています。記事全体を通じて、従来のカスタムソリューションに比べてAWSを使用することでSAPシステムの管理が容易になることを強調しています。


参照リンク

https://docs.aws.amazon.com/systems-manager/
https://docs.aws.amazon.com/ja_jp/ssm-sap/latest/userguide/tutorials.html

## 準備

①HANAデータベースへアクセスするユーザパスワードはAWS Secrets Managerに設定する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1348505/770fb054-94db-86d7-430f-e04659c96f5a.png)

インスタンスのAgentからアクセスできるように権限を付与する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1348505/5fa291c5-2138-64ce-13d4-37720fa44eb4.png)

作成しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1348505/666d3fb7-4baa-71c6-3923-3128269ad962.png)

②インスタンス用ロールに今回用ポリシーを追加設定する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1348505/069654a9-e2f5-1ef8-420c-7500e53d6561.png)

③対象HANAインスタンスにアプリケーションがアクセスできるようにタグを設定する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1348505/bf91784b-880e-1630-6b7b-2df293508826.png)

④アプリケーション登録時利用するユーザ/パスワード以外のDatabase情報をJSONファイルに作成し、実行のCloudshellにアップロードする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1348505/3241b656-e357-6b55-10ce-4e16b647b33a.png)

↑↑↑↑これで準備完了↑↑↑↑

## HANAアプリケーションの登録

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1348505/350fbb22-9596-49ca-b4e0-838e4be61416.png)

SUCCESSになることを確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1348505/a17a9d6e-cc30-2c4a-4d1d-76c3354c6042.png)

アプリケーションマネジャー画面にも確認できました
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1348505/a30cbfc9-04f4-af19-69a7-5f0ad3994189.png)

## 動作確認

アプリケーションマネジャー画面にHANAは動いていることを確認できます。
サーバーにインストールされているSAP HANAの構成情報なども確認可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1348505/07db5387-9174-7fbe-b4a3-0af4fa3d658a.png)

## 以下コマンドを使ってAWSからHANAを停止する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1348505/796abf2c-fe13-6789-5bfc-a127e699244a.png)

Systems ManagerにRunCommandは発行されたことを確認できる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1348505/12950ee3-01df-ff77-50ca-41678678ad96.png)


サーバ停止のパラメータも指定していたため、EC2自体もバッチリ停止されました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1348505/76b66587-1d2d-901a-2c36-953133e88494.png)

↑↑↑↑これでAWSポータルだけ、SAP（HANA）を起動/停止簡単に操作できました。すばらしいー

## ABAPアプリケーションの登録
DATABASEのARN取得する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1348505/9b5f68e7-2556-d534-a381-b7301ae48464.png)


ARNを使って、ABAPアプリケーションを登録する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1348505/b4266439-77fc-05c9-eeb0-3547b5c2b032.png)


HANAと同様のコマンドで結果を確認したり、コマンドてAPサーバを開始・停止できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1348505/0a2dc890-c98d-a5a5-c419-718740087513.png)
※残念ながら、こちらの検証環境はサポートされないため、エラーがありました。こちら検証次第アップデートさせていただきます。

## おまけー

ドキュメントにもありますが、前提条件は以下の通りです。

SAP HANA 2.x を実行していること
Amazon EC2 インスタンスに /run マウントポイントが tmpfs にマウントされていること
Amazon EC2 インスタンスに Python 3.5 以上のバージョンがインストールされていること
SAP HANA 2.0 サーバーのリビジョンが 056.00 未満の場合、Amazon EC2 インスタンスの /opt/aws/ssm-sap/ ディレクトリに hdbcli Python ライブラリがインストールされていること
boto3 がインストールされている場合、そのバージョンが 1.7.0 より高いこと

また、こちらの仕組みをサポートしているSAPバージョンはこちらのリンクをご参照ください。
（注意：Singleインスタンスでないとサポートされません❣）
https://docs.aws.amazon.com/ssm-sap/latest/userguide/supported-versions.html


## さいごに
本日は、AWS マネジメントコンソールだけで SAP の起動・停止が可能になっていることを確認しました。これまで弊社では独自の仕組みを構築し、SSM ドキュメントを作成して対応していましたが、今回のアップデートにより、もっと簡単に実現できるようになったことを嬉しく思います。