1. はじめに
-
AWS学習の一環でCloudFormationを触ってみた
-
今回は「S3バケット」をコードで自動作成してみる
2.CloudFormationとは?
CloudFormationとは、AWSのリソース(例:S3、EC2、VPCなど)をコードで自動作成・管理できるサービスです。
言っちゃえば「テンプレート1枚」あれば、誰でも環境構築が簡単に出来る!
3. 作ったもの
-
S3バケット(バージョニング有効)
-
東京リージョンに作成
-
CloudFormationのテンプレートはYAML形式
4.準備するもの
項目 | 内容 |
---|---|
AWSアカウント | すでにある前提(なければ作成) |
AWSマネジメントコンソール | ブラウザ上で操作可能 |
作成リソース例 | S3バケット(無料枠あり、コストゼロ) |
5.簡単な流れ
① CloudFormationテンプレートを準備
まずはS3バケットを作成するYAML形式のテンプレートをChatGPTに出力させます。
Iacは学習コストが高いとか色々聞いたことがあるんだけど、
今の時代、生成AIに頼めば一瞬でコードを出力してくれるもんなので
この時点では、昔に比べて学習コストは確実に下がっているように感じました。問題は業務で使いこなせるかだと思いますが、、
※test-s3.yamlのテンプレート(例)
AWSTemplateFormatVersion: '2010-09-09'
Description: S3バケットを作成するCloudFormationテンプレート
Resources:
MyS3Bucket:
Type: AWS::S3::Bucket
Properties:
BucketName: my-s3-bucket-20250603 # ※一意な名前に変更してください
VersioningConfiguration:
Status: Enabled
ChatGPTに出力させたYAML形式のテンプレートをコピペして保存します。
(※.yml or yamlの拡張子で保存しましょう。)
② AWSマネジメントコンソールにログイン
https://console.aws.amazon.com/cloudformation/ にアクセス
今回はルートユーザで実践していきます。
③ CloudFormationを試してみよう!!
ホームメニューからCloudFormationタブを押下し
画面が遷移したら「スタックを作成」を押下。
デフォルトだと「Amazon S3 URL」が選択されているので
「テンプレートファイルをアップロード」を押下する。
押下すると、テンプレートファイルのアップロードボタンが出てくるので
最初に作ったテンプレートをアップロードする。
④ スタック名を入力(例:demo-cfn-stack)して「次へ」
パラメータは特に不要なのでそのまま進んでOKみたいです。
オプション設定は何もいじらず「次へ」を押して
最終画面で「送信」を押下する。
⑤ 完了したらS3バケットが作成されているか確認
CloudFormationの「スタック」からステータスが「CREATE_COMPLETE」になっていれば成功
未完了状態
最後に削除を忘れずに
基本的にS3は無料枠(5GB)以内なら課金されません。ただし、バケットをたくさん作ると管理が大変になるので、検証後は忘れずに削除するのがベストです!
6.感想
所要時間は15分程でした。
こんなに簡単にS3バケットが作成できるのは非常に便利だと思いました。
今回はS3バケットの作成のみの実施ですが、これ一発でネットワーク環境を構築できると考えるとやっぱり楽ですよね。
しかし、肝心なYAML形式ですが全く何をしているか、コードを読めるかに置いては全く理解できていません。笑