【新卒 / 中途採用】サーバー / クラウドエンジニア 募集中!【大阪】

【新卒 / 中途採用】サーバー / クラウドエンジニア 募集中!【大阪】

【導入実績300社以上】AWS 構築・運用保守サービス

【導入実績300社以上】AWS 構築・運用保守サービス

【ECサイト構築】Shopify カスタムアプリ開発サービス

【ECサイト構築】Shopify カスタムアプリ開発サービス

【100URLの登録が0円】Webサイト監視サービス「Appmill」

【100URLの登録が0円】Webサイト監視サービス「Appmill」

【音声アプリ開発】Twilio アプリ開発サービス』

【音声アプリ開発】Twilio アプリ開発サービス』

【メッセージアプリ】LINE アプリ開発サービス

【メッセージアプリ】LINE アプリ開発サービス

【対談記事】「やっぱクラウド移設っていいですよね」マイネット × ビヨンド エンジニア対談

【対談記事】「やっぱクラウド移設っていいですよね」マイネット × ビヨンド エンジニア対談

ビヨンド公式YouTubeチャンネル「びよまるチャンネル」

ビヨンド公式YouTubeチャンネル「びよまるチャンネル」

【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】の料金

■無料枠

1 年間毎月 750 時間分の Linux および Windows の t2.micro インスタンス (t2.micro が利用できないリージョンでは t3.micro) が含まれています。使用量を無料利用枠内に抑えるには、EC2 マイクロインスタンスのみを使用してください。

■オンデマンド
実行するインスタンスに応じて、時間単位、もしくは秒単位で料金が発生します。
前払いや長期契約をせず、EC2の低コストや柔軟性を利用したい場合におすすめです。
スパイクや、予期せぬ作業負荷があっても中断できないアプリケーションに向いています。
初めてEC2で開発、またはテストで利用する場合は、オンデマンドを選ぶといいでしょう。
■リザーブド
オンデマンドに比べて、料金が割引になる。
使用量が一定または予想可能なアプリケーションでは、オンデマンドと比べて低コストで運用ができます。
定期的にアプリケーションを使用する場合や、キャパシティーを予約する必要があるアプリケーションにおすすめです。
ただし、長期間(1年~3年間)の使用が確約できる場合に前払いでリザーブドインスタンスを使用することが条件です。
ある1時間の間に、実行されたインスタンスの数が、保有する適用可能なリザーブドインスタンスの数を超えた場合は、オンデマンド料金が適用されます
■スポット
リザーブドより、さらに最大割引が大きいインスタンスです。
負荷が高い時間帯にインスタンスを増やしたり、逆に負荷が少ない時間帯にインスタンスを減らしたりと柔軟に対応できます。
オークションの様に必要時に必要なインスタンスを買って、運用するスタイルです。
ステートレス、耐障害性、または柔軟性を備えた様々なアプリケーションで利用できます。
AmazonEC2の料金

マシンイメージ【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を停止すると保存したデータが失われるので
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については、このブログの続編として書きたいと思っております。
最後まで読んでくださって、ありがとうございます。

日々成長、日々前進。
毎日、私自身をアップデートしていかなければ!!!
最後まで読んでくださって、ありがとうございます。


この記事をかいた人

About the author

井上明香

ビヨンドに四国オフィス設立メンバーとして入社。IT業界に未経験で飛び込みました。ビヨンドの「賢いキャラ」確立のために日々奮闘中(笑)
地元が大好き。地元愛が止まらない。
小難しい技術ブログが書けるよう日々勉強。日々アップデート。