【AWS初心者向け】5分でざっくりわかる!Amazon EC2
こんにちは!
株式会社ビヨンド四国オフィスのペルシャ猫、いのうえです。
今回は、Amazon Web Servicesの1つである【EC2】について、
5分でざっくりわかる解説をしていきたいと思います。
【EC2】とは?
EC2とは、「Elastic Compute Cloud」の略です。
コンピューティングキャパシティーを提供するサービスで、簡単に言えばサーバーに必要なもの一式をクラウドで借りられるというサービスです。
ハードウェアの構成やOSの組み合わせを弾力的に選ぶことができて、構築が手軽にできます。
EC2は、アンマネージドサービスです。サーバーやネットワークの運用はAWSが担当しますが、OSを含むインストールするソフトウェアすべての運用は自分で行う必要があります。
EC2でサーバーを作成するメリットは
- マネジメントコンソールから、ボタン1つで簡単に作成できる。
- AMIやインスタンスタイプを選ぶだけ。
- 初期費用がいらない。(インスタンスを稼働させるまでは費用が発生しない)
- たくさんのインスタンスタイプが用意されており用途に合ったものを選ぶことができる。
- 他のAWSサービスと連携させることができる。
- 仮想化技術でバックアップがとりやすい。
- クラウドだから、どこからでもアクセスができる。
- リージョンとアベイラビリティゾーンが選べて、障害や災害対策ができる。
などがあげられます。
■EC2の主要な機能
項目 | 内容 |
インスタンス | AWSクラウドに作る仮想サーバーのこと。 EC2では、AMIから何度も同じ構成のサーバーを作成できるため作成したサーバーをインスタンスと呼ぶ。 |
AMI | 仮想イメージのこと。(マシンイメージ) インスタンスを作成する元となる金型の様なもの。 OSのみが入っている様なシンプルなものから、ソフトウェアの設定まで終わっているタイプまで様々なAMIが用意されている。 |
キーペア | インスタンスに接続するときに、認証の為に使用する鍵。 |
EBS | AWSクラウド内で使用できるストレージ。 インスタンスのストレージとして使用される。 |
セキュリティグループ | 仮想的なファイアウォール。 1つ以上のインスタンスのトラフィックを制御する。 |
Elastic IP | 静的(固定の)なIPv4アドレス。 ※IPv4アドレスとは、通信相手(ホスト)を識別する番号のこと。 インターネット上に同じIPアドレスは、存在してはいけない。 |
【EC2】の料金
■無料枠 ※AWS公式サイトから参照
1 年間毎月 750 時間分の Linux および Windows の t2.micro インスタンス (t2.micro が利用できないリージョンでは t3.micro) が含まれています。使用量を無料利用枠内に抑えるには、EC2 マイクロインスタンスのみを使用してください。
■オンデマンド
実行するインスタンスに応じて、時間単位、もしくは秒単位で料金が発生します。前払いや長期契約をせず、EC2の低コストや柔軟性を利用したい場合におすすめです。
スパイクや、予期せぬ作業負荷があっても中断できないアプリケーションに向いています。初めてEC2で開発、またはテストで利用する場合は、オンデマンドを選ぶといいでしょう。
■リザーブド
オンデマンドに比べて、料金が割引になリます。使用量が一定または予想可能なアプリケーションでは、オンデマンドと比べて低コストで運用ができます。
定期的にアプリケーションを使用する場合や、キャパシティーを予約する必要があるアプリケーションにおすすめです。ただし、長期間(1年~3年間)の使用が確約できる場合に前払いでリザーブドインスタンスを使用することが条件です。
ある1時間の間に、実行されたインスタンスの数が、保有する適用可能なリザーブドインスタンスの数を超えた場合は、オンデマンド料金が適用されます
■スポット
リザーブドより、さらに最大割引が大きいインスタンスです。負荷が高い時間帯にインスタンスを増やしたり、逆に負荷が少ない時間帯にインスタンスを減らしたりと柔軟に対応できます。
オークションの様に必要時に必要なインスタンスを買って、運用するスタイルです。
ステートレス、耐障害性、または柔軟性を備えた様々なアプリケーションで利用できます。
マシンイメージ【AMI】とは?
AMIとは、「Amazon Machine Image」の略です。
ソフトウェアの構成を記録したテンプレートです。インスタンスを作るための金型の様なもので、一度金型を用意すればいくつも同じ設定のサーバーを作ることができるのが利点です。
同じ設定のサーバーがいくつも作成できるということは、同じサーバーを複数用意したい時に便利で、作ったり壊したりもしやすいということです。
もしもAMIがなかったら、サーバー1つずつに設定を入れなくてはならず手間ですが、AMIがある為その手間が省け、同じ設定のサーバーを複製することができます。
AMIは、サーバーのディスクの中身が丸ごと入っています。AMIからインスタンスを作成すると、すべてがコピーされる仕組みになっています。その為、どんなAMIにも必ずOSは入っています。
なお、Wordpressだけを書き込む、一部データのみを書き込むといったことはできません。
インスタンスタイプとは?
インスタンスタイプとは、マシンの用途のことです。
CPU、メモリ、ストレージ、ネットワークキャパシティーなどが、用途によって組み合わされています。つまり、サーバー用のマシンの性能を選びます。
■主なインスタンスタイプ
EC2インスタンスタイプ詳細
用途 | インスタンスタイプ | 内容 |
汎用 | T2、T3、M5、M4など | 一般的なサーバー。 負荷が一定のサーバーの時に使う。 |
コンピューティング最適化 | C5、C4など | 計算機能が高いサーバー。 |
メモリ最適化 | X1e、X1など | メモリのアクセス速度を向上したサーバー。 |
R4 | 大容量メモリを搭載したサーバー。 | |
高速コンピューティング | P3、P2、G3、F1 | 機械学習等で使えるGPUを搭載しているタイプや、グラフィック機能が高いタイプ。 |
ストレージ最適化 | H1、l3、D2など | ストレージを最適化したタイプ。 |
例えば、インスタンスタイプ「T2」には
「nano」「micro」「small」「medium」「xlarge」「2xlarge」の7種類のサイズが用意されています。その為、スケールに合わせて、インスタンスサイズを選ぶことができます。
インスタンスタイプは大まかな用途によって選択し、
インスタンスサイズはCPUや搭載メモリ容量などの性能によって選択します。
インスタンスタイプとインスタンスサイズによって料金が異なり、単価×使用時間が基本料金となります。
EBSとは?
EBSとは「Elastic Block Store」の略です。
永続的なブロックストレージボリュームで、EC2インスタンスと組み合わせて使います。ブロックストレージボリュームとは、データをバイトのブロック単位で保存する方法で、ディスクに保存する時の一般的な方式です。
EBSでは、HDDとSSDを選択することができます。
HDDとSSDの違いについてですが、HDDは大容量に対応しておりSSDに比べ安価ですが、読み書きの速度はSSDより劣ります。また、衝撃に対しても弱いです。
SSDは、HDDに比べ料金は高くなりますが、IOPSが高速で衝撃に対しても強いという特徴があります。
※IOPSとは、1秒間に処理できる入力出力の数のことです。
その為、料金は高くなるが高パフォーマンスを求める方はSSD、高パフォーマンスをあまり重視していなく、費用を抑え低コストで運用したい方はHDDがお勧めです。
■EBSの便利な機能
エラスティックボリューム | ボリュームの大きさを簡単に調節できる機能 利用状況に応じてボリュームの設定を調節することができる。 ダウンタイムやシステムの運用に影響なく、ボリュームの変更作業を行うことができる。ディスク使用量が増加した時、あらかじめ設定を行っておくことで、ボリュームとファイルシステムの拡大をダウンタイムなしで、自動的に行うことができる。 ボリュームの変更は、コンソール上で簡単にできる。AWSのコンソールもしくはCLIから拡張後の容量を指定するだけで動的に設定を変更することができる。 毎月、決まった期間だけいつもの10倍のトラフィックを処理する必要がある場合も、エラスティックボリュームを利用しその期間だけIOPSを高く設定して、トラフィックの処理が終わったら元に戻すという運用も可能。 |
スナップショット | 保存時点でのデータを丸ごと保存する機能 |
データライフサイクルマネージャ | スケジュールに従ってスナップショットを作成・削除する機能 |
最適化インスタンス | 特定のインスタンスタイプを最適化インスタンスとして、読み書きを高速化する機能 |
暗号化 | データボリューム、ブートボリューム、スナップショットを暗号化する機能。暗号キーを作成・管理できる機能が使用できる。 |
最初に述べたように、EBSはEC2インスタンスと組み合わせて使います。
EC2のデータはすべてEBSに保存されるよう構成することが基本となってます。これは、EC2にもデータを保存することはできますが、EC2を停止すると保存したデータが失われるので、EC2を停止してもデータが消えない永続的なブロックストレージボリュームであるEBSを使います。
EBS最適化インスタンスとは、EBS I/Oとその他のEC2インスタンスからのトラフィック間の競合を最小限にし、EBSボリュームの高パフォーマンスを提供することを指します。
EC2とEBSを繋いでいるネットワークを別々にして、EBS専用のネットワーク通路でEC2と繋ぎます。
スナップショットとは?
スナップショットとは、簡単に言うとバックアップです。
ある時点でのサーバーのディスク状態を丸ごと保存した、ファイルやフォルダのことを指します。丸ごと保存するので、データやソフトウェアだけでなく、OSや設定情報などすべてを含みます。
EBSスナップショットはS3に格納されます。その為、スナップショットを保持している期間はS3の料金がかかります。
※S3については、前回のブログに書いてありますので、読んでみてください。
【AWS初心者向け】ざっくりわかる!Amazon S3とは?
スナップショットは、ソフトウェアやOSの更新時に、何かあった時すぐ戻せるようにバックアップとしてとることが多いですが、AWSでは自作のAMIを作るためにも使われます。
AWSでは、EBSボリュームのデータをスナップショットとして保存することができます。
ただ1度目のスナップショットでは丸ごと保存しますが、2度目以降は増分バックアップで保存します。これは、スナップショットを作成するのに要する時間が短くなり、データを複製しないことで、スナップショットの料金を節約することができる仕組みになっています。
その為、スナップショットを削除すると、そのスナップショット固有のデータのみが削除されます。これは、1度目のデータに関しても同じで、2度目のデータの差を見て、1度目固有の部分のみ削除されます。
スナップショットはマネジメントコンソールからボリューム単位で選択し、作成します。この作成したスナップショットを元にEBSボリュームを作れば、新しいボリュームは元となったボリュームのコピーとなります。
AWIを作成したい場合は、スナップショットから作成します。なお、データサイクルマネージャーを使用することで、スナップショットの作成・削除が自動化できる仕組みになっております。
スナップショットを定期的に作成することで、サーバーが壊れてしまった時のリスク対策ができます。
定期的にEBSスナップショットを取得していれば、インスタンスのコピーを作る場合にAMIイメージを作成し、新しいインスタンスを複製することができます。
さいごに
今回のブログはこちらの本で勉強させていただきました。
5分でざっくりわかる!【EC2】に関してのブログにしたかったので、今回はここでおしまいとします。ELBについては、このブログの続編として書きたいと思っております。
最後まで読んでくださって、ありがとうございます。
日々成長、日々前進。
毎日、私自身をアップデートしていかなければ!!!
最後まで読んでくださって、ありがとうございます。