본문

Tech
AWS CloudFormationでインフラを管理/複製する

작성일 2022.01.17

こんにちは、WhaTap Labs DevOpsチームのチェジョンミンです。

AWSは優れたGUIとCLIをサポートし、ユーザーがクリック数回でシステムを構築することを可能にします。

しかし、これらのAWSでもシステムが複雑になり、リソースの管理、レプリケーションなどが難しくなる問題が生じていました。

これらの問題を抱えている企業には、AWS CloudFormationが適切な答えになる可能性があります。

1. AWS CloudFormationとは

AWS CloudFormation とは、AWS リソースをモデル化して設定することで、リソース管理時間を短縮し、AWS で実行されるアプリケーションの開発にさらに時間を費やすための代表的な IaC ツールです。

作成の難易度が少しありますが、一度作成しておけばインフラ管理/複製などが楽にできます。

S3-CloudFront

blog_04.webp

EC2-ELB

blog_05.webp

APIGATE-LAMBDA

blog_06.webp

3. 実際の適用

blog_07.webp

上の図は、AWS でサンプルとして提供される AWS Virtual Waiting Room Template を参照して、コア機能のみを簡素化したテンプレートです。このテンプレートでは、受講申請、チケットキューなどのシステムを設定できます。

他の空間でキューシステムが必要なとき、最初から構成する必要はありません!

使用時に難しかったこと

  • リソースが複雑にかみ合っている場合、作成を完了するまでテストするのは難しいです。
  • リソース生成に必要な設定値は表示されていません。(欠落した場合生成x) →デバッグが難しい。
  • テンプレートの作成に時間がかかります。 →AWS GUI、CLIを介して作成するのは一般的に高速です。

ワンタイムインフラストラクチャは、使用しない方が効率的かもしれません。

整理

  • AWS CloudFormationは、AWSリソースをモデリング、プロビジョニングするIaCツールです。
  • 初期構成は大変ですが、継続的な管理/複製に容易です。
  • Template作成後スタック生成時に、あらかじめ定義しておいたリソースを作成すると、環境構築が完了します。

まとめ

AWS CloudFormation を使用した結果、多数のリソースを一度にコードで管理、レプリケートできることは確かな利点です。しかし、複雑なシステムをコードで整理するのは簡単ではありません。そのため、AWS CloudFormationを導入する前に、十分な悩みと会社のシステムの理解が必要になると思います。

WhaTap Monitoringを体験してみましょう。
難しかったモニタリングと分析が容易に実現できます。