こんにちは、SCSKの加古です。
アマゾン ウェブ サービス(AWS)には、自動バックアップするサービスがありますが、Elastic Load Balancingなどのマネージドサービスについては、現在、設定情報をバックアップできるサービスの提供はありません。
今回はFORMER2について、構成ファイルのバックアップ以外にも活用できそうなことがありましたので、活用事例について紹介します。
FORMER2とは
FORMER2は、ブラウザベースのWebサービス(APP)で自分のAWS環境にデプロイが必要なく、すぐ利用できます。
機能面では、AWS CloudFormrerと同じくAWS アカウント内の既存のリソース全体をスキャン、出力を生成する対象を選択し「CloudFormation」、「Terraform」、「AWS CDK」などの各種テンプレートファイルの出力を生成できます。
FORMER2の設定と使用方法
セットアップからテンプレートの出力について、分かりやすいページのリンクを以下に載せています。
活用方法
- 構成ファイルのバックアップ
- テンプレートのリソースを図示化
- 大規模展開・自動化の事例
構成ファイルのバックアップ
AWS アカウント内の既存のリソース全体をスキャン、出力を生成する対象を選択可能なため、AWSの自動バックアップで取得できないELB、Amazon CloudWatchなどのマネージドサービスで設定したリソースのバックアップとして利用できます。
設定したサービスを復旧したい場合は、AWS CloudFormationにバックアップしたテンプレートをアップロードを行いスタックを作成し復元します。
AWS CloudFormationには [DeletionPolicy] という項目があり、誤ってスタックを削除した場合に、作成したリソースが削除されないように、Retain(保持)を定義します。
"DeletionPolicy" : "Retain"
[DeletionPolicy]はDelete Stackされた時にリソースがどのような動きをするかを定義する項目は以下の3点です。
- Delete(削除)
- Retain(保持)
- Snapshot(スナップショット・対象リソースのみ)
現在、FORMER2で出力可能なテンプレートは23カテゴリあり、IoTなどの一部リソースは含まれていないため、今後のリリースに期待します。
テンプレートのリソースを図示化
FORMER2でYAML形式に出力したファイルを、AWS CloudFormationデザイナーにファイルを読み込ませることで、図示した形式で表示可能です。
デザイナーで図示する場合は、表示したいリソースを必要最低限に絞ることで複数のリソースの関係性をわかりやく表示できます。
以下、サンプルテンプレートをデザイナーで図示した画面イメージとなります。
大規模展開・自動化について
AWSの構築は、Infrastructure as Codeによる開発方法にシフトしており、使用するツールごとにコーディングするコードが異なるため、「CloudFormation」、「Terraform」、「AWS CDK」などの開発ツールの選定が重要となります。
今までオンプレのインフラ技術者がコードを記述することはなかったため、今回紹介しましたFORMER2で出力したテンプレートの活用方法を検討しました。
以下、当社内の自動化タスクで検討し作成したツールの概要をご紹介します。
- AWS設計フェーズで作成する各サービス毎にパラメータを記載した「AWSパラメータ設定シート」を作成します。
- 作成したVBAで作成したツールに「AWSパラメータ設定シート」を読み込ませ、AWS CloudFormationのスタックで使用するテンプレートを自動生成し、出力します。
- 出力されたテンプレートをAWS CloudFormationのスタックで実行して、各リソースを自動的に作成します。
部内の自動化タスク活動として作成したツール画面となります。
最後に
作成したツールは現在、機能面や対象リソースが限られているため、生産性、品質をより一層向上させるために、機能拡張改善に取り組んでおります。
以上で終わりです。
ツールの詳細な仕様についての記載はありませんが、少しでも皆様のお役に立てたら幸いです。
最後までお読みいただきありがとうございました。