AWS CloudFormation Master Class を受けてみた②「 CFnを利用したS3環境の構築 」

Pocket

はじめに

前回、 Udemy で Stephane Maarek 氏 が提供している「 AWS CloudFormation Master Class 」というコースについてまとめた記事を投稿しました。
今回の記事はその続きとなります。
AWS CloudFormation Master Class に関する前回の記事については、こちらから

CloudFormation First Hands-On

YAML

CloudFormation では、JSON と YAML の2つの言語を利用できますが、本コースでは JSON ではなく、YAML を利用していきます。
■YAML を使用する主な理由
・key バリュー
・オブジェクトのネスト
・Arrays のサポート
・マルチライン
・コメントを含む事が可能

ちなみに、 JSON をYAML に変更する際はこちらのサイトがおススメだそうです。
検索すれば、結構出てきます。

Creating an S3 bucket

今回は、CloudFormation を使用して S3 バケットを作成します。
■S3 の簡単な説明
・S3 自体の作成は無料
・S3 はグローバルサービスであり、ファイルのストレージが可能
・複数のウェブサイトの提供などが可能
CloudFormation を使って S3 などの AWS サービスを作成する際は、 AWS 公式が書き方を提供しているのでそちらを参照すると便利です。


YAML で S3 を作成する際の書き方はこちらになります。
それでは、S3 を作成しましょう。

テンプレートの選択で、ダウンロードしたコードより、
「1-creating-s3-bucket.yaml」YAML ファイルを選択して作成します。

無事に作成が完了すると、CloudFormation に作成したスタックが表示されます。

S3 のサービス画面でも、バケットが作成されたのが確認できます。

Updating an S3 bucket
次に、作成した S3 をアップデートさせます。
具体的には、アクセスコントロールを追加します。

こちらは、最初に S3 を作成した際のコードです。
このコードに以下の記述をすることで、アクセスコントロールの設定を追加できます。

※上記のコードを追加したものが、「2-adding-access-control.yaml」YAML ファイルです。
それでは、アップデートを行いましょう。

作成したスタックを選択した状態で、「アクション」→「スタックの更新」を選択します。

テンプレートの選択で、「2-adding-access-control.yaml」YAML ファイルを選びます。

作成前に、テンプレートの変更による変更内容の確認が表示されます。
内容を確認したら、「 Update 」を選択します。

アップデートされた S3 の内容を確認すると、パブリックアクセスの設定がされていることが確認できます。
これでアクセスコントロールの設定は完了です。

Chainging an S3 bucket name
それでは、テンプレートを変更してバケット名の変更も行ってみましょう。

「スタックの更新」から、「3-chainging-name.yaml」YAML ファイルを選択します。

ちなみに、今回のファイルの中身はこの様になっております。

作成前の確認画面の内容で注意して頂きたいのは、今回の構築では既存の S3 バケットは削除され、新たに作成される、ということです。
そのため、既存の S3 に重要な情報を残している場合は逃しておく必要があります。

Deleting an S3 Bucket
それでは、EC2 の時と同じ様に S3 についても削除しましょう。

手順も EC2 の時と同じです。「スタックの削除」を選択し、削除を実行することで完了します。
そのスタックを使用して作成したもの全てが削除されるので、スタックの削除を実行する際は、くれぐれも注意してください。

おわりに

CloudFormation を使った S3 バケットの作成等についての紹介は以上となります。
前回、今回と CloudFormation を使った AWS サービスの構築といった基本的なことを紹介させて頂きました。
本コースの紹介はまだまだ続きますので、よろしくお願いします。