2019-10-10

 また仕事の話題。既存の基幹系アプリケーションをAWSへ載せ替えた。
 この手のものは、アプリケーション移行よりも運用監視機能の移行が結構大変で「従来と同じ運用手順で」という要望が多い。

 そうすると、運用ジョブの移行で頭を悩ませる事になる。AWSはEC2&EBSのスナップショット取得がバックアップに相当するので、これを活用するのだが生憎これをJP1 AJSから制御するのは大変。

 そのため実装は以下の様にしてみた。

 下から説明していく。
 AWSのスナップショットはAWS CLIで制御可能だが、これを踏まえた新規開発は人月が必要なので、仮想アプライアンスであるN2WSを導入する。

 N2WSは内部でAWS CLIを発行して、EC2&EBSのスナップショット取得や世代管理を行うアプライアンスである。そしてWeb UIによる手動運転、アプライアンス内蔵のスケジューラによる自動運転、N2WS API経由の付属Pythonコマンド集による手動運転ができる。

 今回は、Powershell自作スクリプトが、最後のPythonコマンドを発行、ログ出力等を担っている。

 この構造で任意のジョブスケジューラで業務ジョブと運用ジョブ両方を制御できる。

JP1/AJS

Powershellの自作スクリプト

N2WS付属のPythonコマンド集

N2WS

AWS (AWS CLI)


 Powershellの自作スクリプトは2種類製造している。
 1個目は、バックアップの起動、2個目はバックアップ結果の確認である。
 Pythonコマンド集のバックアップの起動は「起動に成功した」というステータスしか戻ってこないため、別途結果確認のPythonコマンドを発行するPowershellスクリプトで確認している。

 最後に余談だが、AWSのスナップショットは「ストレージ最適化」中に取得できない制限がある。
 「ストレージ最適化」はEBSやRDSの領域拡張後に発生するが、意外に時間が必要である。処理中もサービスは継続するのだが、夜間のバックアップが何故か失敗している、という事象の際にはこの制限が起因か確認すると良い。

0 コメント:

自己紹介

自分の写真
東京都, Japan
憂鬱な凍死家です。こちらではmixiとは異なり固めの話題中心です。

Total Page View

Categories

Powered by Blogger.

Popular Posts

Blog Archive