CloudFormationの概要
CloudFormation とは?
CloudFormation は、AWS のインフラストラクチャをコードで管理するためのサービスです。
これにより、手動でのリソース作成や設定が不要になり、繰り返し可能なインフラストラクチャの管理を実現できます。
コードは、JSON または YAML ファイルで記述します。
以下は、YAML ファイルのサンプルコードです。
AWSTemplateFormatVersion: 2010-09-09
Description: Create S3 Bucket
Resources:
MyBucket:
Type: AWS::S3::Bucket
Properties:
BucketName: deer-tech-quest-001-buket
上記のファイルを CloudFormation に読み込ませて実行すると、S3 が作成されます。
CloudFormation を利用するメリット
CloudFormation を利用するメリットは、再利用可能なインフラストラクチャを定義できるところにあります。
実際にシステム開発を進めていく際、開発環境・検証環境・本番環境などの複数環境を準備する必要がでてきます。
各環境ごとに1から手動で環境を構築してもよいですが、手動だとどうしても設定ミスが発生する可能性があります。
インフラ環境をコード化しておくことで、何度でも同じ環境を複製することが可能になります。
CloudFormation で S3 を作成してみよう!
AWS コンソールから CloudFormation を利用して、S3 を作成する手順を紹介します。
YAML ファイルの作成
以下の内容で、「cloudformation-s3-sample.yml」というファイルを作成します。
AWSTemplateFormatVersion: 2010-09-09
Description: Create S3 Bucket
Resources:
MyBucket:
Type: AWS::S3::Bucket
Properties:
BucketName: deer-tech-quest-001-buket
こちらは、「deer-tech-quest-001-buket」という名前のS3バケットを作成するテンプレートファイルになります。
AWS コンソールで CloudFormation の画面へ遷移
CloudFormation の画面へ遷移して、「スタックの作成」ボタンをクリックします。
スタックの作成
スタックの作成画面に遷移するので、下記の通りに選択します。
テンプレートの準備:既存のテンプレートを選択
テンプレートソース:テンプレートファイルのアップロート
ファイルの選択:最初の手順で作成した YAML ファイルを選択します。
「次へ」ボタンをクリックします。
スタックの詳細の指定
スタック名を入力して、「次へ」ボタンをクリックします。
スタックオプションの指定
スタックオプションの指定の画面では、何も変更を加えずにそのまま一番したまでスクロールして「次へ」ボタンをクリックします。
確認して作成
設定内容を確認して、最下部の「送信」ボタンをクリックします。
スタック作成中から作成完了まで
リソースの作成が開始されて、スタックが作成中の状態になります。
先ほど作成したスタックのステータスが「CREATE_IN_PROGRESS」になっているはずです。
30秒程で S3 の作成が完了して、ステータスが「CREATE_COMPLETE」の状態になります。
作成されたS3の確認
S3 の画面へ遷移して、テンプレートに指定した S3 バケットが作成されているか確認します。
以上で、CloudFormation 利用して S3 を作成することができました!
最後に
本記事では、CloudFormation の概要を説明した後に、実際にテンプレートを作成して、S3を作成する手順を紹介しました。
テンプレートの書き方が初めは難しいかと思いますが、テンプレートの書き方さえ覚えれば、非常に便利なサービスですので、頑張って覚えていきましょう!
コメント