AWSでEC2を運用する際、同じ設定のEC2を何度も作成する場面があります。
そのようなときに便利なのが 起動テンプレート(Launch Template) です。
この記事では次の内容を解説します。
- 起動テンプレートとは
- 起動テンプレートに含まれる設定
- 起動テンプレートが必要になる理由
- Auto Scalingとの関係
1. 起動テンプレートとは
起動テンプレートとは、
EC2インスタンスを起動するための設定をまとめて保存しておく仕組みです。
通常EC2を作成するときには、次のような設定を行います。
- AMI
- インスタンスタイプ
- セキュリティグループ
- キーペア
- サブネット
- ストレージ設定
- UserData
これらの設定を毎回入力するのは大変です。
そこで 起動テンプレート を作成しておくことで、
同じ設定のEC2を 簡単に何度でも起動できるようになります。
起動テンプレート
↓
設定情報
・AMI
・インスタンスタイプ
・セキュリティグループ
・UserData
・ストレージ設定
🟦 起動テンプレート = EC2作成時の設定のテンプレート
2. 起動テンプレートに含まれる設定
起動テンプレートには、EC2起動に必要な様々な設定を保存できます。
主な設定は次の通りです。
| 設定項目 | 内容 |
|---|---|
| AMI | EC2のOSイメージ |
| インスタンスタイプ | CPUやメモリの性能 |
| セキュリティグループ | 通信制御 |
| キーペア | SSH接続 |
| ストレージ | EBS設定 |
| UserData | 起動時のスクリプト |
| IAMロール | AWSサービスの権限 |
例えば UserData を設定しておくと、
EC2起動時に自動でアプリケーションをインストールできます。
例:
#!/bin/bash
yum install httpd -y
systemctl start httpd
systemctl enable httpd
このようにしておくと、
EC2が起動した瞬間にApacheが自動インストールされます。
🟨 サーバー構築を自動化できるのも起動テンプレートの大きなメリットです。
3. 起動テンプレートが必要になる理由
起動テンプレートが特に重要になるのは、
EC2を複数台運用する場合です。
例えば次のような構成です。
ALB
↓
┌─────────┐
│ EC2 │
│ EC2 │
│ EC2 │
└─────────┘
このような構成では、
同じ設定のEC2を複数台作成する必要があります。
しかし毎回手動で設定すると、
❌ 設定ミスが起きる
❌ 構成がバラバラになる
❌ 作成に時間がかかる
という問題があります。
そこで起動テンプレートを使うことで、
🟢 すべて同じ設定のEC2を起動できる
🟢 インフラ構成を統一できる
🟢 作業を自動化できる
というメリットがあります。
4. Auto Scalingとの関係
起動テンプレートは Auto Scaling と一緒に使われることが非常に多いです。
Auto Scalingとは、
EC2の台数を自動で増減させる仕組みです。
例えばアクセスが増えたとき、
EC2-1
EC2-2
EC2-3
↓ スケールアウト
EC2-1
EC2-2
EC2-3
EC2-4
EC2-5
このときAuto Scalingは
起動テンプレートを使って新しいEC2を作成します。
つまり、
起動テンプレート
↓
Auto Scaling
↓
EC2を自動作成
🟥 Auto Scalingは起動テンプレートを元にEC2を増やします。
そのため、クラウド環境でのスケーラブルな構成では
起動テンプレートは非常に重要な役割を持っています。
まとめ
起動テンプレートは、
EC2作成時の設定をテンプレートとして保存する仕組みです。
主なポイントは次の通りです。
- EC2の設定をまとめて保存できる
- 同じ構成のEC2を簡単に作成できる
- サーバー構築を自動化できる
- Auto Scalingと組み合わせて使用することが多い
AWSでスケーラブルなインフラを構築する上で、
起動テンプレートは非常に重要な基本概念の1つです。