AWS EC2のデプロイを方法別で比較。最速のデプロイ方法はどれ?

Pocket

こんにちは、クララTAMの石川です!

AWS(Amazon Web Service)はElastic Compute Cloud(EC2)というサービスでVirtual Machine(VM)を提供していますね。

そして、AWSではEC2を複数の方法でデプロイすることができます。

今回は、いくつかあるEC2のデプロイについて、どの手段が一番早くEC2を構築できるのか、それぞれのメリット・デメリットは何かを比較・纏めてみました。

 

今回比較するEC2のデプロイ方法と要件

今回利用するデプロイ方法は以下

・コントロールパネルでの操作
・AWS CLI(CloudShell)での操作
・CloudFormationの操作

また、共通の結果として、EIPを付与して、Nginxのデフォルトページが表示されることが確認できる状態まで設定、とします。

 

今回の要件はこちら

OS:Amazon Linux 2 AMI (HVM) – Kernel 5.10, SSD Volume Type
※ami-0f7691f59fd7c47af (64 ビット Arm)

インスタンスタイプ:t4g.micro(2vCPU、1GiB)

ディスクサイズ:8GB(default)

SecurityGroup:80
(※メイン要件ではないので…)

 

GUIデプロイ

AWSマネジメントコンソールから計測スタート

  1. Amazonマシンイメージ(AMI)
  2. インスタンスタイプの選択
  3. インスタンスの詳細の設定
  4. ストレージの追加
  5. タグの追加
  6. セキュリティグループの設定
  7. インスタンス作成の確認
  8. 細かいところはSSHで調整

GUIデプロイにかかった時間

大体・・・30分ぐらい。
PC前で張ってれば10分。

GUI操作:2分
待ち  :3分
SSH操作:5分 →構築時にユーザデータとして記載可能。その場合は0分に。

 

AWS コマンドラインインターフェイス(CLI)デプロイ

CLIデプロイにかかった時間

大体・・・30分ぐらい

CLI作成:10分
CLI操作:10分
待ち  :3分
SSH操作:5分

 

AWS CloudFormation(CFn)デプロイ

CFnデプロイにかかった時間

大体・・・15分ぐらい

yaml作成:10分
(AWSが)構築:2分
待ち  :3分
SSH操作:0分

 

まとめ・比較表

 

GUI CLI CFn
事前準備 特になし◎ 十分時間が必要

・コマンドオプション

・事前に何が必要なのか

十分時間が必要

・Yaml作成

・CFnに対応していないものの作成

構築中の手離れ 悪い✖

構築中は逐一気にかける

良い◎

コマンドごとに確認が必要だが、シェル化等により対応可能

良い◎

yamlに構築情報が乗っているので、分割の程度により放置でもよい

操作のしやすさ 断然良い◎ 悪い✖

オプションを調べるのに時間がかかる

かなり悪い✖

yamlに特化したものを作る必要がある。対応していないサービスもある。

環境再現性 難しい✖

手順書が無いと厳しいが、ユーザIFは頻繁に変わるため、作りきりの手順では後々で厳しそう

あり◎

同じコマンドを流せば同じものができる。コマンドは頻繁に変更が入らない。

あり◎
削除 自動で作成されるものもあり、どれが消していいものかがわからなくなる。 作ったものがどれかわからない。が、作成時にタグを付与する等で対応可能。 作ったものがきれいに消える。◎
こんなところに使うのがおすすめ 試験的構築 変更が頻繁にかかるが履歴をとっておきたい環境 インフラ構築の自動化も視野に入れた環境

 

 

以上、今回は方法別のEC2デプロイ時間・メリット・デメリットを検証してみました。

おすすめ