コース概要
モジュール1:インフラストラクチャとしてコードとTerraform入門
- IaCの概念およびオンプレミス・ハイブリッド環境における利点
- Terraform概要:プロバイダー、リソース、ステート管理およびライフサイクルについて
- TerraformやAzure CLIその他必要ツールのインストール方法
- 実践演習:シンプルなTerraform設定ファイルを作成し、ローカル環境で適用してみる
モジュール2:HashiCorp Configuration Language(HCL)と設定の基本
- HCLの構文、リソース定義、属性および式の表現方法
- 変数・出力値・ローカル変数や型制約などの設定手法
- Terraform CLIコマンド:init・plan・apply・destroy・fmtの使い方
- 演習課題:パラメーター化された設定ファイルを用いてオンプレミスリソースおよびAzure上のリソースを構築する
モジュール3:プロバイダー、リソースおよびAzureプロバイダーの基礎知識
- プロバイダーの仕組みと設定内容(特にAzureRMプロバイダー)
- インフラ構成をTerraformのリソース定義にマッピングする方法
- Azure認証機能および自動化用サービスプリンシパルの設定手順
- 演習:Terraformを用いてAzure上の仮想ネットワークやシンプルな仮想マシンをプロビジョニングする
モジュール4:ステート管理、バックエンドおよびチーム間協力のための仕組み
- Terraformステートファイルの目的・形式やライフサイクル面での考慮事項
- Azure Storageアカウントを活用したリモートバックエンド設定およびロック機能による安全性確保手法 </li>
- ワークスペースや環境の使い分けとチームでの共同作業方法 </li>
- 演習:Azure Storageにリモートステートを設定し、複数ユーザーが協力して運用する流れを実践する </li>
モジュール5:モジュール化・再利用性およびベストプラクティスについて
- Terraformモジュールの作成と利用方法 </li>
- 入力・出力値・バージョン管理およびリポジトリとしての共有方法などを説明する </li>
- フォルダ構成や命名規則などの保守性の高いリポジトリ作り方について解説する </li>
- 演習課題:Azure上の仮想マシン・ディスク・ネットワーク設定をまとめた再利用可能なモジュールを作成し、各環境でテストを行う </li>
モジュール6:Azure上の仮想デバイスおよびオンプレミス環境との統合管理手法
- TerraformによりAzure上の仮想マシンやVirtual Desktopコンポーネント、ならびに各種デバイスのライフサイクルを一元的に管理する方法 </li>
- オンプレミスリソースとAzureで管理される仮想デバイス間の連携パターンについて解説する </li>
- データソースや外部プロバイダーを用いてボリューム管理・デバイス管理システムとの統合手法を紹介する </li>
- 演習課題:運用ユニットを表す仮想マシン群のプロビジョニングを行い、インベントリタグ設定や基本的なモニタリング環境構築を行う </li>
モジュール7:CI/CDパイプラインおよび自動化手法について
- TerraformとGitHub ActionsやAzure DevOpsパイプラインとの統合手法 </li>
- 機密情報やサービスプリンシパルを活用した自動化された計画・適用フローの構築方法 </li>
- SentinelやOpen Policy AgentといったPolicy as Codeの基礎知識および事前検証処理について解説する </li>
- 演習課題:サンドボックスサブスクリプション向けにGitHub Actionsワークフローを作成し、Terraformの計画・適用処理を行う </li>
モジュール8:セキュリティ対策・機密情報管理および運用面でのベストプラクティスについて
- Azure Key Vaultを利用した機密情報の安全な保管方法やステートファイルへのデータ記録回避手法 </li>
- アクセス制御・RBAC設定および自動化処理向けの最小限権限原則の適用について説明する </li>
- 変更検出やステート整合性維持の仕組みおよび基本的な修正手順を解説する </li>
- Terraformで管理されるインフラ環境向けバックアップ・監査・ガバナンス対策のチェックリストを示す </li>
モジュール9:検証作業・デバッグおよびトラブルシューティング手法について
- Terraform設定内容のデバッグ方法やプラン出力から読み取れる差分内容の理解法を説明する </li>
- 単体検証および総合的なテスト手法(terraform validate・tflint・kitchen-terraform)を紹介する </li>
- よく見られるエラーケースや適切な解決手順について説明する </li>
- 演習課題:検証・コード形式整備ツールを実行し、発見された問題点を修正していく </li>
モジュール10:最終プロジェクト――ハイブリッド環境向けデプロイメントシナリオの構築実践
- 設計演習として学習済みの各手法を活用し、オンプレミス環境とAzure上で連携可能な仮想デバイス群構成を計画する </li>
- モジュール・リモートステート・簡易的なCI/CDパイプラインコードを用いて中核要素の実装を行う </li>
- 完成した構成案を説明し、設計上の選択理由や運用マニュアル作成に向けた検討事項などを話し合う </li>
まとめおよび今後の取り組みについて
要求
- 基本的なネットワークおよび仮想化の概念に関する理解
- WindowsまたはLinuxのコマンドライン操作に慣れていること
- クラウドまたはオンプレミス環境におけるインフラストラクチャに関する基礎知識
対象者
- システム管理者およびプラットフォームエンジニア
- IaCをこれから始めるDevOps担当者
- オンプレミス環境とAzureを組み合わせたハイブリッドインフラの管理に携わるITチーム
お客様の声 (3)
概して pacing が非常に良かったです。ミハルは視聴者の興味を引き続け、ほとんどの方が話についてこれるよう適切な配慮をしていました。
Asif Shaikh - Carpmaels & Ransford
コース - Terraform on Microsoft Azure
機械翻訳
実際のコードを書くことですべての詳細を確認する
Michal Pipala - EY
コース - Advanced Terraform: Efficient Infrastructure as Code
機械翻訳
インストラクターは非常に良く準備していました
Federico Biavati - CRIF S.P.A.
コース - Terraform for Managing Cloud Infrastructure
機械翻訳