
IaCを実現するための複数のツールを紹介し、それぞれの特徴について解説します。他のツールとの比較により、Packerの特徴をより深く理解します。
最も基本的、かつ最も重要なPackerの基本的な仕組みについて解説します。
本ハンズオンで使用するAWSサービス、各種ツールの概要を紹介します。
本ハンズオンの概要について説明します。AWSアカウント、管理者用IAMユーザをお持ちでない方は、本レクチャー添付のAWS公式手順を元にご準備をお願いします。また、Visual Studio Code、Tera Term(Windowsご利用の方)の事前インストールをお願いします。
ハンズオンに関しましては前のハンズオンで作成したコードを次のハンズオンで使用するため、本流れの上から順番にご受講いただくことをお勧めします。
ハンズオン事前準備として、各自のパソコンにPackerをインストールします。
Packerの定義ファイル(JSONテンプレート)作成、コマンド実行に慣れるため、まずはEC2のカスタムイメージ作成をbuildersを使用して実施します。
EC2のカスタムAMI作成をbuilders、provisioners(インラインスクリプト)を使用して実施します。Webサーバーソフトウェア(Apache)インストール済みのAMIの作成を通じて、provisioners(インラインスクリプト)によるAMIのカスタマイズ方法を学びます。カスタムAMIからのEC2インスタンス起動、ログイン確認まで行います。
EC2のカスタムAMI作成をbuilders、provisioners(スクリプトファイル)を使用して実施します。Webサーバーソフトウェア(Apache)インストール済み、各種通信プロトコルの接続設定済みのAMIの作成を通じて、provisioners(スクリプトファイル)によるAMIのカスタマイズ方法を学びます。カスタムAMIからのEC2インスタンス起動、HTTP接続確認まで行います。
EC2のカスタムAMI作成をbuilders、provisioners(File Provisioner)を使用して実施します。Webサーバーソフトウェア(Apache)インストール済み、各種通信プロトコルの接続設定済み、Webページ配置済みのAMIの作成を通じて、provisioners(File Provisioner)によるAMIのカスタマイズ方法を学びます。カスタムAMIからのEC2インスタンス起動、HTTP接続確認まで行います。
EC2のカスタムAMI作成をbuildersの1項目であるソースAMIフィルター編を使用して実施します。ソースAMIフィルターを使用することで、既存のAMIのIDを元に、最新のAMIをベースイメージとして使用する方法について学びます。
PackerによるカスタムAMI作成の実行結果を、タイムスタンプと共に出力するPost Processorsの使い方について学びます。また、合わせてHashiCorp社のローカル環境構築ツールvagrantで使用するboxファイルの出力方法も学びます。
PackerのJSONテンプレート内でユーザー変数を使用する方法について学びます。具体的には、ユーザー変数の定義の仕方、また、値の設定方法(JSONテンプレート内で設定/コマンドのオプションで設定/外部ファイルから設定)を学びます。本方法を学ぶことで、コード記述の生産性を高めることができます。
PackerのJSONテンプレート内で環境変数を使用する方法について学びます。具体的には、プロバイダー認証情報を環境変数として設定する方法について確認します。セキュリティを意識したコード記述の実践方法を理解します。
Packerの認証ファイルを使用したプロバイダー認証情報の設定方法を学びます。セキュリティを意識したコード記述の実践方法を理解します。
<コースの概要>
本コースは前半の理論編でIaC(Infrastructure as Code)、Packerの概要をご理解いただいた後、後半の実践編でAWS上の環境を使用して数多くのハンズオンを実施することで、より理解が深まる構成となっております。
ハンズオンではAmazon EC2のサービスを使用して、カスタムAMI作成、Webサーバー構築、利用を通じてPackerによるInfrastructure as Codeの仕組みを実践的に学ぶことができます。(PackerのJSONテンプレートを使用して各種カスタムAMIを作成します。HCLテンプレートによる演習は本コースの対象外です。)
<他教材との違い>
本コースと他教材(書籍やYoutube動画教材等)との違いは以下の通りです。
・1本完結型コースであるためご自身でネット検索やマニュアル確認等を行う手間がかからない。
・なぜIaC、Packerが必要なのか、なぜその手順で設定するのか等、解説する技術や手順一つとってもその理由や背景を詳細に説明しているため途中で止まらずに受講できる。
・全レクチャー動画ダウンロード可能なため、場所を問わずどこからでも受講できる。
<コース受講後の姿>
本コース受講後には以下のスキルを自然と身に付けることができます。
・IaCの概要やメリット、IaC関連ツール類の中でのPackerの特徴について、自分の言葉で説明できるようになる
・Packerを使用する上でつまづきがちなポイント (特に、Packerのコード特有の文法とその使い方)について、自分の言葉で説明できるようになる
・AWSサービス(Amazon EC2)を利用し、自力でPackerを使用したカスタムイメージ作成ができるようになる
・本コースで得た知識を土台として、実務に応用するための調査、実行スキルを身に付ける
<コースの内容>
本コースの内容は以下の通りです。
コース概要
本コース受講にあたって
自己紹介
本コースのねらい
本コースの内容
IaC概要
IaC(Infrastructure as Code)とは何か
手作業によるインフラ構築の作業内容と課題
コードによるインフラ構築の作業内容と効果
IaCツール概要
Packerの仕組み
IaCハンズオン(理論編)
AWSサービス・ツール紹介
ハンズオンの流れ
IaCハンズオン(実践編)
ハンズオン事前準備編(Packerインストール)
ハンズオン①はじめの一歩編(カスタムAMI作成)
ハンズオン②Provisioner編その1(Provisionerの使い方)
ハンズオン③Provisioner編その2(Script Provisioner)
ハンズオン④Provisioner編その3(File Provisioner)
ハンズオン⑤ソースAMIフィルター編
ハンズオン⑥Post Processors編
ハンズオン⑦変数編その1(ユーザー変数)
ハンズオン⑧変数編その2(環境変数)
ハンズオン⑨認証ファイル編
AWS構築環境削除
削除対象リソースの確認
削除対象リソースの削除
ボーナスレクチャー
ボーナスレクチャー
<変更履歴>
・2023/9/25: 「3.2.ハンズオンの流れ」レクチャーの添付ファイル(AWSアカウント作成.txt)を最新化