0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

IaCとAWS CloudFormation勉強会に参加してみた

Last updated at Posted at 2025-04-07

参加の目的と背景

IaCおよびCloudFormationに関して、AWS資格試験対策の書籍や問題集による学習だけではスキルの定着を実感できなかったため、ハンズオン形式での構築経験や実務における注意点・コツを知りたかったため

勉強会の概要

  • 開催日時:2025年4月の日曜日 14:30~17:00
  • 場所:渋谷のレンタルスペース
  • 参加者の規模:10人程度
  • 必要なもの・事前準備
    • PC(電源の準備をお忘れなく)
    • AWSアカウント(ログインできることを事前に確認)
  • テーマ:AWS(CloudFormation)を使ったIaCをハンズオン形式で学ぶ
  • 当日の流れ
    • 自己紹介
    • 講義とハンズオン
    • 質疑

セッション内容

  1. Infrastructure as Code(IaC)とは
  2. IaCの特徴と利点
  3. AWS CloudFormationの概要
  4. CloudFormationの使い方
  5. テンプレートの構造と書き方の紹介とハンズオン
  6. CloudFormationを使いこなすには
  7. 実践例とデモ

学んだポイントと気づき

IaCのメリットやデメリット

コードで記述することによる変更履歴や自動化などのメリットは知っていたが、実務で用いる際の課題やデメリットをご紹介いただき、書籍や資格勉強では得られない学びがあった。特にテンプレートのメンテナンスに苦しみ、IaCをあきらめることや部署間での調整の手間(アプリ側とインフラ側)

AWS CloudFormationの概要

CloudFormationを使ったリソース作成の流れや「テンプレート」「スタック」「チェンジセット」などの用語を理解できた。
 

ハンズオンで実際に手を動かすことによる理解促進

書籍や資格勉強の知識インプットではCloudFormationでのリソース作成のイメージをつかめなかったが、マネジメントコンソールからYAMLファイルをアップロードしてリソース作成の一通りを手を動かして実施することで、理解が深まった。

実務でのコツや失敗の紹介

  • 複雑化するとメンテナンスしきれないため、YAML/JSON内の記述は最小限にすること

    • 実務でよくある失敗談
      • 汎用性を求めて「Conditions」を多く記載。インフラを定義するテンプレートの記法と、条件を記述する記法の相性が悪く、可読性が著しく下がる。可読性が下がったテンプレートにより、メンテナンスが困難になった。
         
    • 対策
      • 明確な理由がない限り「Conditions」を用いないなど、YAML/JSON内の記述は最小限にすること

 

  • 意図せずリソースを削除しないよう、チェンジセットのアクション欄を確認すること
     
    • 実務でよくある失敗談
      • テンプレートで作成したリソースを意図せず削除してしまう事故。CloudFormationで起きるリソースの挙動に以下がある。「Replacement」は恐ろしい

        • 中断を伴わない更新 - No interruption
          EC2のタグの変更など、リソースの仕様を中断することなくリソースを更新する
           
        • 一時的な中断を伴う更新 - Some interruption
          インスタンスタイプの変更など、一部の実行を中断してリソースの更新を行う
           
        • 置換 - Replacement
          置換先となる新しいリソースを作成してから古いリソースを削除する。
           
    • 対策
      • チェンジセット(スタックを更新した際の変更履歴)を活用し、アクション欄の内容が意図したものかを確認する。
         
  • マネジメントコンソールでの手動更新など、IaC以外でリソース変更された際はドリフト検出機能を利用する
     
    • 実務でよくある失敗談
      • 誰かがコンソール上で設定を手動更新すると、IaCの値と差異が発生する
         
    • 対策
      • 定期的にドラフト検出機能を実行する ※全サービスにある機能ではない

クロススタック間の参照問題が実務でよくある失敗談として紹介、対策もご紹介いただいたが、理解しきれなかったので、本記事からは割愛してますm(__)m

感想

IaCおよびAWS CloudFormationの基礎を知ることができた。ハンズオンでAWS CloudFormationの理解がぐっと深まった。
 
ハンズオンに加えて、実務でのよくある失敗談とその対策を知ることができるなど、書籍や資格勉強では得られないものがあった。

主催者の皆様、ありがとうございました!

参考

https://speakerdeck.com/opelab/20210722-jawsug-cli-cloudformation?slide=42
https://qiita.com/emiki/items/30e57c8f972481646e41

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?