COLUMN
AWS CloudFormationを活用して効率的にAWSを使おう
AWS CloudFormationは、AWSのサービスを管理するときに大きな効果があります。もしも複数のシステムを構築している、これからほかのシステムを構築する必要がある、というときには利用してみるとよいでしょう。今回は、AWS CloudFormationの概要やメリット・デメリットなどについて解説します。
AWS CloudFormationとは
AWS CloudFormationの概要について説明します。
AWS CloudFormationの概要
AWS CloudFormationは、AWSのサービスのひとつです。AWS CloudFormation を利用すると、AWSで環境を構築するときに、リソースの設定やプロビジョニングをコード化したテンプレートを作成できます。それをもとにすれば、次に新しい環境を構築するとき、時間や手間を大きく削減できるのです。
AWS CloudFormationがあれば、IaC(Infrastructure as Code)も実現しやすくなります。AWS CloudFormationでリソースの設定やプロビジョニングすることで、同じリソースと設定の環境を複数構築し、一括管理することができるからです。
リソースとは、AWSで提供されているEC2やVPCなどのサービス、それらをつなぐAttacheといった、環境を構築するパーツのことです。AWS CloudFormationがどのようなリソースをサポートしているかは、次のページに記載されています
https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/ReleaseHistory.html
さらにAWS CloudFormation カスタムリソースを使うと、AWS CloudFormationがサポートしていないAWS リソースや、AWS 以外のリソースも管理できるようになり、利用の幅が広がります。
AWS CloudFormationの特徴
AWS CloudFormationの特徴は、以下のとおりです。
インフラの管理や制御が簡単になる
AWS CloudFormationは、テンプレートからスタックを作成してモデル化することで、その環境で利用するすべてのリソースを一括して管理したり、運用したりすることが可能になります。
AWS CloudFormationを使わない場合、開発者がそれぞれのリソースを個別に管理し、設定しなければなりません。それでは環境の構築に大きな時間や手間がかかりますし、人為的なミスも発生してしまいます。
AWS CloudFormationを利用すれば、開発時間や作業が増えたり、ミスが増えたりすることも抑えられるでしょう。
インフラをテキストファイルでモデル化できる
AWS CloudFormationのテンプレートは、テキストファイルで作成します。つまり、AWS CloudFormationを使えば、たくさんのインフラをテキストファイルでモデル化したうえで管理することが可能です。それによって、インフラを容易に取り扱うことができます。
料金は無料
AWS CloudFormationの利用料金は無料です。
ただし、AWS CloudFormationは単独で利用することはありません。Amazon EC2やAWS ELBなど、ほかのAWSリソースと併用します。そのため、利用しているほかのAWSリソースの料金が必要です。
AWS CloudFormationの利用例
AWS CloudFormationは、どのような場面で利用すると効果的なのでしょうか。
開発環境を構築するとき
開発環境を用意するときにAWS CloudFormationのテンプレートを作成しておけば、本番環境への移行が簡単です。同じ構成をすぐに再現できるので、時間も手間もかかりません。
環境の構築に時間や手間をかけたくないとき
よく使うリソースや設定を、「ベストプラクティス」としてひとまとめにしたテンプレートを作成しておけば、同じような仕組みの環境を素早く簡単に構築できます。
また、AWSの公式サイトにはいくつかのサンプルテンプレートが用意されています。インターネット上にも、たくさんのAWS CloudFormationのテンプレートがアップロードされているでしょう。それを編集して使えば、開発の手間を大きく減らすこともできます。
ほかの自動化サービスではサポートされないリソースを使うとき
AWS CloudFormationカスタムリソースを使えば、MicrosoftやSAPのような、ほかの自動化サービスではサポートされないものも含めて多くのリソースをサポートできます。そのため、利用できる機会はほかの自動化サービスに比べて大きいと言えるでしょう。
AWS CloudFormationを使うには
AWS CloudFormationを利用するときには、次の2つの方法があります。
AWSマネジメントコンソールにあるAWS CloudFormation Designerを使う方法
AWSマネジメントコンソールからJSON/YAML形式のテキストファイルでテンプレートを作成する方法
ここでは、AWS CloudFormationを利用する際のポイントについて説明します。
テンプレートとスタックを活用する
AWS CloudFormationを利用するときには、まずテンプレートを作成し、そこからスタックを作成します。
テンプレートとは、AWS CloudFormationで利用するソースを記述したものです。JSON形式、またはYAML形式のテキストファイルで作成します。
いきなり新しいテンプレートを作成するよりも、これまでに作成したテンプレートや、AWS公式のサンプルテンプレートなどをベースにして編集したものを使うのが一般的です。こうすると作成が簡単になるうえ、漏れや抜けがなくなります。
ただし、AWS CloudFormationはリージョンごとに条件が異なるため、別なリージョン向けのテンプレートは動作しないかもしれません。そのため、AWS公式で用意されているサンプルテンプレートは、リージョン別になっています。
スタックとは、テンプレートからプロビジョニングされたリソースの集合です。1つのテンプレートから1つのスタックが生成されます。テンプレートや、動作に必要なパラメーターを指定することで、スタックを作成することが可能です。
AWS CloudFormationでは、リソースはスタック単位で管理しているので、スタックの追加/削除によって、リソースの追加/削除を行うことができます。これは、開発中のトライアンドエラーの段階で、特に便利です。
初心者がAWS CloudFormationについて学ぶには
AWS CloudFormationは、使う前に、その特徴や使用方法を理解する必要があります。AWS CloudFormationについて学習するには、AWSの公式なライブラリやチュートリアルが参考になるでしょう。
AWS CloudFormation サンプルテンプレートライブラリ
AWSには、リージョンごとにAWS CloudFormationサンプルテンプレートが用意されています。サンプルテンプレートは、テンプレート作成方法について学習したり、実際にテンプレートを作成するときのベースとして使ったりすることが可能です。サンプルテンプレートはそのまま利用するのではなく、本番環境に合わせて編集してください。
サンプルテンプレートについては、次のページをご参照ください。
https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/cfn-sample-templates.html
ウォークスルーのチュートリアル
AWSのユーザーガイドでは、AWS CloudFormationを使ったウォークスルーのチュートリアルが用意されています。基本的な操作や、よく使われるようなテンプレートをテーマにした説明です。長いですが、テンプレートを作成してスタックを生成し、サービスをデプロイするには、実際にどのような操作が必要か分かりやすく、参考になります。
https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/CHAP_Using.html
チュートリアル動画
YouTubeには、AWS公式のAWS CloudFormationについてのチュートリアル動画もあります。気軽に見ることができ、初心者にも分かりやすくなっています。
https://www.youtube.com/watch?v=Omppm_YUG2g
AWS CloudFormationのメリットやデメリット
AWS CloudFormationを利用することのメリットとデメリットについて説明します。
AWS CloudFormationを使うメリット
AWS CloudFormationを利用すると、次のようなメリットがあります。
- 一度テンプレートを作成すれば、同じ構成や似た構成の環境を素早く簡単に再現でき、開発期間を短縮できる。
- 使いやすい形、使い慣れたフォーマットを「ベストプラクティス」なテンプレートとして保存し、繰り返して利用できる。
- テンプレートを利用すれば、必要な項目の抜けや漏れを防ぐことができる。
- リソースはAWS CloudFormationが一括管理するので個別の管理が不要で、依存関係も自動的に管理してくれる。
- 運用中もリソース管理の時間と手間を減らし、アプリケーションの開発に注力できる。
- リソースのプロビジョニングや更新はAWS CloudFormationによって自動化されるので、エラーが発生しにくい。
- 同じテンプレートやリソースを使うので、新しいシステムでも事前に運用コストを予測できる。
AWS CloudFormationを使うデメリット
AWS CloudFormationを利用することには、次のようなデメリットがあります。
- AWS CloudFormationのテンプレートやスタックの作成方法など、使い方を理解し、操作を覚えなくてはならない。
- 部分的な修正でも、再度テンプレートからスタックを作成して適用する必要があり、手動で修正するよりも時間がかかる。
- 何度もスタックの作成と削除を繰り返していると、AWSのリソース作成上限に達する可能性がある。
※AWS CloudFormationのリソース作成上限については、次のページを参照してください。
https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html
AWSを使って複数のシステムを構築するなら、AWS CoudFormationの導入を検討しよう
AWS CloudFormationは、システム構築までの時間や手間を大きく減らすことができる、とても便利なサービスです。特別な料金がかからないので、テスト環境と本番環境など、いくつかのシステムを構築するときには、気軽に試してみてはいかがでしょうか。
24時間365日対応可能なクラウド監視・運用代行で、あなたをシステム運用から解放します!
クラウド運用に興味がある人に読んで欲しいコラム:
RECOMMEND
その他のコラム
無料ダウンロード
自社のクラウド導入に必要な知識、ポイントを
この1冊に総まとめ!
あなたはクラウド化の
何の情報を知りたいですか?
- そもそも自社は本当にクラウド化すべき?オンプレとクラウドの違いは?
- 【AWS・Azure・Google Cloud】
どれが自社に最もマッチするの? - 情シス担当者の負荷を減らしてコストを軽減するクラウド化のポイントは?
- 自社のクラウド導入を実現するまでの具体的な流れ・検討する順番は?
初めての自社クラウド導入、
わからないことが多く困ってしまいますよね。
NTT東日本では
そんなあなたにクラウド導入に必要な情報を
1冊の冊子にまとめました!
クラウド化のポイントを知らずに導入を進めると、以下のような事になってしまうことも・・・
- システムインフラの維持にかかるトータルコストがあまり変わらない。。
- 情シス担当者の負担が減らない。。
- セキュリティ性・速度など、クラウド期待する効果を十分に享受できない。。
理想的なクラウド環境を実現するためにも、
最低限の4つのポイントを
抑えておきたいところです。
-
そもそも”クラウド化”とは?
その本質的なメリット・デメリット - 自社にとって
最適なクラウド環境構築のポイント - コストを抑えるための
具体的なコツ - 既存環境からスムーズにクラウド化を
実現するためのロードマップ
など、この1冊だけで自社のクラウド化のポイントが簡単に理解できます。
またNTT東日本でクラウド化を実現し
問題を解決した事例や、
導入サポートサービスも掲載しているので、
ぜひダウンロードして読んでみてください。
面倒でお困りのあなたへ
クラウドのご相談できます!
無料オンライン相談窓口
NTT東日本なら貴社のクラウド導入設計から
ネットワーク環境構築・セキュリティ・運用まで
”ワンストップ支援”が可能です!
NTT東日本が選ばれる5つの理由
- クラウド導入を
0からワンストップでサポート可能! - 全体最適におけるコスト効率・業務効率の改善を
中立的にご提案 - クラウド環境に問題がないか、
第3者目線でチェック
してもらいたい - 安心の24時間・365日の対応・保守
- NTT東日本が保有する豊富なサービスの組み合わせで
”課題解決”と”コスト軽減”を両立
特に以下に当てはまる方はお気軽に
ご相談ください。
- さまざまな種類やクラウド提供事業者があってどれが自社に適切かわからない
- オンプレミスのままがよいのか、クラウド移行すべきなのか、迷っている
- オンプレミスとクラウド移行した際のコスト比較を行いたい
- AWSとAzure、どちらのクラウドが自社に適切かわからない
- クラウド環境に問題がないか、第3者目線でチェックしてもらいたい
- クラウド利用中、ネットワークの速度が遅くて業務に支障がでている
クラウドを熟知するプロが、クラウド導入におけるお客さまのLAN 環境や接続ネットワーク、
クラウドサービスまでトータルにお客さまのお悩みや課題の解決をサポートします。
相談無料!プロが中立的にアドバイスいたします
クラウド・AWS・Azureでお困りの方はお気軽にご相談ください。