AWSで、「EC2」と「AMI」、また「起動テンプレート」を利用して、汎用的に使えるテンプレートを作成しました。最初、それぞれの違いがイマイチわからなかったので、概要をまとめてみました。
◼️EC2インスタンス
EC2とは?
- サーバーです。これが使い回す基本の形です。
EC2でやること例
◼️AMI
AMIとは?
- AMIは 「Amazonマシンイメージ」の略です。
- >Amazon マシンイメージ (AMI) は、Amazon EC2 インスタンスをセットアップして起動するために必要なソフトウェアを提供するイメージです。(公式より)
- EC2の形をテンプレートとしてAMIにすることができ、それを元に、「同じ設定の別のEC2”を簡単に作ることができます。別リージョンや他アカウントで使ったり、なんなら販売することもできます。
- AMI自体の作成には利用はできません。ただし、AMIを保存するスナップショットには料金が発生します。
AMIでやること例
◼️起動テンプレート
起動テンプレートとは?
インスタンスを作るための「設定情報」をテンプレートにすることができます。
AMIと何が違うの?
ここが最初自分もわかりづらかったのですが、
AMIが「EC2インスタンスそのものをテンプレートにするもの」だとしたら、
起動テンプレートは「EC2インスタンス周りの設定情報も含めてテンプレ化するもの」といえます。
- 設定情報とは、例えば以下のようなものです。
- インスタンスのタイプ(例: t2.micro, m5.large)
- 使用するAMIそのもの(どのAMIを使うか、ということ!)
- セキュリティグループ
- IAMロール(インスタンスに付与する権限)
- ネットワーク設定(VPCやサブネット、パブリックIPの割り当て)
- 起動テンプレートのイメージ
これらを前提に実際にやってみたこと
細かい設定手順ではなく、概要のみ。です!
1:EC2を作成しました。
2:そのEC2にいろんなサービスを入れました。
起動後のEC2の中には「接続」からアクセスができます。ので、そこからEC2の中に入り、コマンドラインでApacheインストール、PHPやWordpressなんかをインストール。
3:そのEC2をAMI化しました。
インスタンスを選択した状態で、「アクション」から「イメージとテンプレート」、「イメージを作成」で行えます。
4:起動テンプレートを作りました。
作る時に、どのAMIを使うか?を選択できるので、そこで「3」で作ったAMIを選択しました。
ついでにこの起動テンプレートでインスタンスのタイプやセキュリティグループやらも指定できます。
5:この起動テンプレートからEC2インスタンスを作りました。
簡単に、テンプレート的に、インスタンスを作成します!
まとめ
元にするインスタンスの中に例えばWordpressを入れておけば簡単にデフォルトの枠を作ることができるなど、複数のサイトやサービスのインフラ環境を作ることが多ければおすすめの手順でした。