AWS Japan YouTube 公式チャンネルでライブ配信された 2022年4月26日の AWS Developer Live Show 「Infrastructure as Code 談議 2022」 の資料となります。 当日の配信はこちら からご確認いただけます。
https://youtu.be/ed35fEbpyIE
1 of 21
More Related Content
Infrastructure as Code (IaC) 談義 2022
1. INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
? 2022, Amazon Web Services, Inc. or its affiliates.
Infrastructure as Code
談義 2022
内田 大樹、吉田 祐樹、杉山 祐介
Amazon Web Services Japan
2. INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
自己紹介
6
内田 大樹 (うちだ ひろき)
インダストリソリューション部
ソリューションアーキテクト
主に大企業のお客様を担当し、お客様のAWS活用を
様々な形でご支援する役割。趣味は写真撮影。
好きなIaCのツール
Ansible
AWS CDK
@nikuyoshi
3. INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
Infrastructure as Code 談義 2022に関して
本セッションの概要、話すこと
Infrastructure as Code ( IaC ) の概念が産まれてから15年以上経ち、歴史を
追いながら2022年における実装方式や考え方を整理するTech Talkです。そもそも
IaCとは何か、何故生まれたのか、IaCをプロジェクトに適用するにはどういった
考慮が必要なのか、IaC適用後の苦労話等ざっくばらんにこのセッションで話す予定
です。開発者向けのイベントということで、開発者観点での話も交えながら、IaC経験
者がこの場で本音で語ります。このセッションに参加することで、参加者は
実プロジェクトへの採用の判断、適用範囲の判断をより自信をもって行えるように
なるでしょう。
このセッションで話さないこと
? AWSの各種サービスに関する詳細、使い方
? OSSに関する詳細、使い方
7
4. INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
本セッションの対象聴講者、ゴール
対象者
? IaC を知らない方、これから知りたい方
? IaC を既に適用していて、課題に向き合っている方
? オンプレミス、クラウドに IaC を適用してみたい方
ゴール
? IaC の概要、歴史を理解できること
? IaC の導入時、導入後、どのような課題に立ち向かう必要があるのか
理解でき、実プロジェクトへの採用の判断、適用範囲の判断をより自信を
もって行えるようになること。
8
5. INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
アジェンダ
? Infrastructure as Code ( IaC ) 概要 – 15分
? IaC 談義 – 40分
9
皆様ご意見ありがとうございました!
https://twitter.com/nikuyoshi/status/
1506191295483576324
6. INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
? 2022, Amazon Web Services, Inc. or its affiliates. 10
Infrastructure as Code
( IaC ) 概要
7. INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
IaC とは?
IaC とは、ソフトウェア開発のプラクティスを
インフラストラクチャの自動化に活かすアプローチのこと。
そのようなアプローチを用いることで、 VCS※1 、CI/CD といった
開発手法もインフラストラクチャに適用できる。
開発者
Source Build Test Deploy
Git
商用環境
git push
? 構成定義
? 設定ファイル
? ドキュメント
ビルド
ツール
テスト
ツール
インフラストラクチャ
定義ツール
※1 VCS … Version Control Systemsの略。GitやSubversionといったバージョン管理のソフトウェアを指す
? Terraform
? CloudFormation
サーバー構成
ツール
? Ansible
? Chef
? Puppet
開発環境
8. INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
Infrastructure as Codeに関する書籍
第一版 邦訳版が2017年3月にO’Reilly Japanから出版。
今回のセッションで扱う複数のテーマに関してより深堀
して記載があるため、ご興味のある方は是非ご一読を。
第二版が2020年12月に出版されており、英語に抵抗が
なければこちらを読むのも手です。
(2022年4月時点では英語のみ)
本日書籍の詳細には触れませんが、ベースとなる知識や
考え方を暗黙的に取り扱っている場合があります。今回
のセッションを視聴するにあたって、必ず読んでおく
ことが必要、というわけではないのでご安心ください。
適宜解説もする予定です。
12
9. INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
Infrastructure as Codeに関する書籍を読んでいきました
IaC 談義の話をするからには、総復習しないとやばい…という思いから読み
始めました。 IaC をある程度分かっていたつもりですが、わかった顔をして
いたことがよく分かりました。今後もリファレンスとして使っていきます。
13
復習に
つながった
新しい気づき!
10. INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
4/4から4/22までの平日15日間毎日毎章まとめてツイート
14
https://twitter.com/i/events/1514613649276489734
11. INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
なぜ IaC なのか?
ダイナミックインフラストラクチャ※1が台頭し、頻繁にサーバー
作成、更新、削除が行われるようになり、インフラストラクチャの
変更管理を容易にするため。
※1 プログラムを使ってインフラストラクチャを管理できるプラットフォーム 例:パブリッククラウド、プライベートクラウド etc…
開発者
ダイナミック
インフラストラクチャ
作成、更新、削除
よくある悩み
?変更差分が分からず、リリースしづらい
(or リリースできない)
?リリース準備、チェックに時間がかかり、
毎回1週間のリードタイムが発生
?毎回手作業しんどい
開発者
Source Build Test Deploy
ダイナミック
インフラストラクチャ
Git
? 構成定義
? 設定ファイル
? ドキュメント
構成差分の明確化
CI/CD、セキュリティ
自動監査ツール等を用い、
リードタイムの短縮
IaC適用前 IaC適用後
12. INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
IaC の原則 1/2
? 簡単に再現できるシステム
? 使い捨てにできるシステム
? 統一的なシステム
? 反復できるプロセス
? 絶えず変化するデザイン
16
13. INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
IaC の原則 2/2
17
開発者
Source Build Test Deploy
Git
商用環境
git push
? 構成定義
? 設定ファイル
? ドキュメント
ビルド
ツール
テスト
ツール
インフラストラクチャ
定義ツール
? Terraform
? CloudFormation
サーバー構成
ツール
? Ansible
? Chef
? Puppet
開発環境
簡単に再現できる
反復できる
使い捨てにできる
絶えず変化する
デザイン 統一的にできる
14. INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
IaC の歴史
18
2008
1993 2005
諸説ありますが、内田が調べた限りの情報を以下の図にまとめております。
APIでプログラマブルに扱えるサービスとしてAmazon EC2、日本のお客様に広く利用が加速した意味で東京リージョンのリリースも
含めて以下に記載しております。
2012
2006 2011
2009
日本でIaCが徐々に流行
2013 2021
15. INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
コンテナとは?(超概略)
19
コンテナイメージ
ランタイム/
エンジン
依存ライブラリ
パッケージ
各環境に配布
ローカル環境 ステージング環境 本番環境
コンテナ コンテナ コンテナ
アプリケーション
コード
16. INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
これから先の議論で触れる内容
20
IaCのツール選定
IaCのテスト
コンテナ と IaC
パイプライン
引継ぎどうするか問題
アジャイル開発
導入時の課題
開発環境だけIaC
IaCの標準化の話
IaCにおける
鶏卵問題
視聴者の皆様も気になるテーマがあれば
Tweetをお願いします!
クラウド と IaC
IaCの教育
17. INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
? 2022, Amazon Web Services, Inc. or its affiliates. 21
IaC 談義
18. INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
自己紹介
22
吉田 祐樹(よしだ ゆうき)
プロフェッショナルサービス本部
AppDevコンサルタント
得意分野
アプリケーションのモダナイズ、チームのアジャイル化
大規模なインフラコード化と自動化
好きなIaCのツール
Terraform
yshd
19. INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
? 2022, Amazon Web Services, Inc. or its affiliates. 23
何故IaCを行うのか?
20. INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
これから先の議論で触れる内容
24
IaCのツール選定
IaCのテスト
コンテナ vs IaC
パイプライン
引継ぎどうするか問題
アジャイル開発
導入時の課題
開発環境だけIaC
IaCの標準化の話
IaCにおける
鶏卵問題
クラウドとIaC
IaCの教育
21. INFRASTRUCTURE AS CODE談義 2022
? 2022, Amazon Web Services, Inc. or its affiliates.
#AWSDevLiveShow
当日の模様
https://youtu.be/ed35fEbpyIE?t=496
25