LoginSignup
4
1

めんどうくさそうなAWS Cloudformationの使い方を学ぶ

Posted at

まえがき

AWS Cloudformationを初めて使用した際のメモを整理し、Cloudformationはめんどくさそうという意識のハードルを下げる内容にまとめました。

AWS Cloudformationの説明

AWSリソースの構築を自動化するサービス。
リソース情報を記載したJSONかYAMLのフォーマットをテンプレートとし、それを読み込ませることで自動的な構築が可能。
Cloudformation自体は無料。構築したリソース自体の料金は別途発生します。

テンプレートから同じ環境を再構成できるのでリソースの構築が簡単です。
同様にリソースの削除も容易にできます。

とりあえず試してみる

テンプレートの準備

Cloudformationの実行

  • AWSのサービスメニューからCloudformationを選択します。

  • スタックの作成ボタンからスタックの作成画面に遷移し、各ステップで操作を行います。
    なお、スタックはテンプレートから作成された環境群を意味します。

  • ステップ 1:準備したテンプレートをアップロードします。
    001_001_CloudFormation_スタックの作成.png

  • ステップ 2:スタックの名前を決めます。
    002_001_CloudFormation_スタックの詳細を指定.png

  • ステップ 3:デフォルトの内容で問題ありません。
    003_001_CloudFormation_スタックオプションの設定.png

  • ステップ 4:レビューで最終確認をします。送信を押下すると作成が始まります。
    (IAMのリソースを作成するにあたり承認が求められます。内容を承認して送信します。)

Cloudformationの完了

  • 作成に成功するとCREATE_COMPLETEとなります。
    005_002_CloudFormation_スタック_成功.png

  • 作成に失敗した場合は以下の状態になります。

    • 「状況の理由」に失敗した原因が出力されるので確認します。
    • この時は不適当なUserNameを指定したため失敗しています。
    • 失敗したテンプレートの内容を変更してスタックの作成からやり直します。(同一のスタック名で再作成する場合は、失敗したスタックを削除します。)
      005_003_CloudFormation_スタック_失敗.png

IAMユーザーの確認

  • ユーザーの作成が確認できました。
    006_002_IAM_User.png

パラメータを使ってテンプレートに汎用性を持たせる

とりあえずIAMユーザーを作成することが出来ました。
ですが、先ほどのテンプレートでは、ユーザーを作成する度にテンプレート内のユーザー名の変更が発生します。
そこでCloudformationの実行準備時に設定できるパラメータをテンプレートに記載することで、IAMユーザー作成テンプレートに汎用性を持たせます。

テンプレートセクション

  • テンプレートは1つ以上のセクションで構成されます。セクションで唯一必須なのが先ほどのテンプレートにも記載したResources:です。
  • Parameters:はCloudformation実行時 (スタックを作成または更新するとき) にテンプレートに渡す値です。

パラメータを使ったテンプレートの準備

Cloudformationの実行

  • ファイルのアップロードまでは先ほどと同じです。
  • ステップ 2:パラメータの入力欄「UserNameParameter」が確認できました。ここに任意のユーザー名を記入します。
    007_002_CloudFormation_スタックの詳細を指定_パラメータ.png
  • そのあとの作成も先ほどと同じです。

Cloudformationの完了

  • 作成に成功したスタックのパラメータからキーと値が確認できます。
    008_002_CloudFormation_スタック_成功_パラメータ.png

IAMユーザーの確認

  • ユーザーの作成が確認できました。
    009_002_IAM_User_パラメータ.png

作成したリソースの削除

  • 冒頭に説明した通りリソースの削除は容易に行えます。

リソース削除の実行

  • 最初に作成したIAMユーザーのスタックを選択し、削除ボタンから削除します。
    010_001_CloudFormation_スタック_削除.png
  • DELETE_COMPLETEとなり削除完了です。
    010_002_CloudFormation_スタック_削除完了.png

IAMユーザーの確認

  • ユーザーの削除が確認できました。
    011_002_IAM_User_削除.png

あとがき

ただ単にIAMユーザーをCloudformationで構築する方法をまとめました。
今回Qiita初投稿になりましたが記事を書くことの難しさを痛感しました。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1