1. ホーム
  2. 記事一覧
  3. 【AWS】徹底解説EC2 利用するメリットや作成方法について

2023.02.07

【AWS】徹底解説EC2 利用するメリットや作成方法について

この記事では、クラウドサービス、データセンター等の基本的な知識がある前提でAWSを利用する際によく聞く「EC2」に関して機能やメリットなどを解説します。

Amazon EC2とは

Amazon EC2は、Amazon Elastic Compute Cloud(EC2)の略称で、Amazonが提供する「仮想サーバサービス」です。利用者は数分でサーバを作成でき、作成後のマシンスペック変更や削除も簡単に実行できます。たとえば、サーバ上で稼働しているアプリケーションが高負荷となりCPUやメモリが不足した場合は、インスタンスタイプを変更することでスペックの増強が可能です。またデータ量が多くなってディスク容量が不足になった場合もすぐに拡張が可能です。従量課金であり、EC2はサーバが起動している時間に対して利用料が発生します。使用しない場合は停止しておくことで利用料を削減できます。時間あたりの単価はインスタンスタイプにより異なります。高スペックなインスタンスタイプほど高料金となりますので、あまりリソースを使用していないサーバがあれば、スペックの低いインスタンスタイプに変更することで利用料を削減できます。サーバを停止していた場合も、データを保存しているEBS(Amazon Elastic Block Store :EC2におけるストレージの役割)に対しては料金が発生するため注意しましょう。なお、リザーブドインスタンスやSavings Plansについては、利用者が事前に決定したキャパシティ(使用時間やマシンスペック)に対して利用料を支払います。

EC2を利用するメリット

1. 構築時間が短縮できる

EC2上でインスタンスを立ち上げる時間は数分あれば十分です。一方でサーバーを購入する場合は、購入してから受け取って利用できるまでに時間がかかります。

2. 冗長化が簡単にできる

ネットワークを仮想ネットワークとして構築するサービスが提供されており、インスタンスと組み合わせることによって、簡単かつ短時間でサーバーの冗長化が可能です。ローカルの場合はサーバーの設定だけではなく、ネットワークの設計も必要になります。

3. 柔軟にスペックの変更が出来る

データベースサーバーを長年運用しているとデータは増え続けていくので、データの保持には増設が必須となります。EC2では、画面上でハードディスクやメモリの増設を簡単に行うことが出来ます。

EC2インスタンスとは

AWS上で稼働する仮想サーバのことを指し、仮想サーバを数える際の単位としても使われます。AWSでは仮想サーバのCPUやメモリなどの組み合わせがインスタンスタイプとして定義されています。必要なスペックに応じたインスタンスタイプを選択し、OS、ストレージ容量などを決定してインスタンスを作成します。また、インスタンスの負荷状況に応じて自動的にインスタンスをスケールアウト(台数増)/イン(台数減)することが可能なオートスケーリングなど、用途に合わせた柔軟な運用が可能です。

インスタンスタイプ

サーバのスペック(CPU、メモリ)は、インスタンスタイプを選択することにより決定します。インスタンスタイプのネーミングは以下のようになっています。

  • インスタンスファミリー

    メモリ重視やCPU重視など、特徴ごとにファミリーがあります。主要なものとして以下のようなものがあります。

    種類特徴ファミリー
    汎用バランスが取れているT、M、A、Mac
    コンピューティング最適化計算パフォーマンスが高いC
    メモリ最適化メモリ量が多くて高速R、X、z
    高速コンピューティングCPUが搭載されているP、G、F、Inf
    ストレージ最適化ストレージアクセスが速いI、D、H

    ファミリー詳細

    • T:CPUバースト可能
    • M:様々な場面で利用できる
    • A:Armプロセッサ搭載
    • Mac:Apple Mac mini搭載
    • C:計算パフォーマンスが高い
    • R:メモリ最適化
    • X:最大メモリ量が大きい
    • z:高周波なコア搭載
    • P:汎用GPU搭載
    • G:グラフィックスに最適化
    • F:FPGAカスタマイズ可能
    • Inf:機械学習推論に最適化
    • I:NVMe SSD搭載でI/O性能高い
    • D:最大48TBのHDD搭載
    • H:高ディスクスループット

    コンピューティング最適化ではvCPUの数がおおくなっており、メモリ最適化ではメモリ搭載量がおおくなっています。その間のバランスを取ったファミリーがM系やT系です。T系インスタンスについてはベースラインと呼ばれる決められたCPU使用率が定義されており、それを超えて利用が可能です。ただし一定量を超えるとベースライン以下の性能になるか、追加課金が発生するため、本番環境など常時使用が見込まれる環境はM系のインスタンスを選択した方が良いでしょう。

  • インスタンス世代

    世代は比較的わかりやすい概念かと思いますが、数が大きいほど新しい世代です。世代の新しいほうが高性能かつコスト効率も良いため、可能な限り最新世代のインスタンスを選択することが推奨されます。

  • 追加機能

    追加機能には色々と種類があり、追加機能文字が存在しないインスタンスタイプもあります。

    • a:AMDのCPUを搭載
    • b:EBSパフォーマンスが高い
    • d:インスタンスストア(内蔵ストレージ)を追加
    • e:CPUやメモリ搭載量が異なる
    • g:AWS Gravitonプロセッサ(Arm ベースのプロセッサ)搭載
    • n:ネットワーク強化
    • z:高周波なコア搭載
  • インスタンスサイズ

    CPU、メモリ、ネットワーク帯域がサイズにより変わり、「nano」「micro」「medium」「small」「large」「xlarge」「2xlarge」のようにサイズが大きくなっていきます。当然サイズの大きいほうが高スペックとなりますが、料金も高額となるため選択には注意が必要です。最初は小さいサイズを選択しておき、性能テストなどで必要なサイズを後から決定するほうが最適なサイズを選びやすいです。

  • 現在利用可能なインスタンスタイプ

    特徴インスタンスタイプ
    汎用M5、M5a、M5ad、M5d、M5dn、M5n、M5zn、M6a、M6g、M6gd、M6i、M6id、T3、T3a、T4g
    コンピューティング最適化C5、C5a、C5ad、C5d、C5n、C6a、 C6g、 C6gd、C6gn、 C6i、C6id 、Hpc6a
    メモリ最適化R5、R5a、R5ad、R5b、R5d、R5dn、R5n、R6a、 R6g,R6gd、 R6i、R6id、u-3tb1.56xlarge、u-6tb1.56xlarge、u-6tb1.112xlarge、u-9tb1.112xlarge、u-12tb1.112xlarge、 X2gd、 X2idn、X2iedn、X2iezn、z1d
    ストレージ最適化D3、D3en、I3en、I4i 、Im4gn 、Is4gen
    高速コンピューティングDL1、 G4、G4ad、G5、G5g、 Inf1、 p3dn.24xlarge、P4 、VT1

    ベアメタルインスタンス(GPUベースのもの)

    特徴インスタンスタイプ
    汎用m5.metal、m5d.metal、m5dn.metal、m5n.metal、m5zn.metal、m6a.metal、m6g.metal、 m6gd.metal、 m6i.metal、m6id.metal
    コンピューティング最適化c5.metal、 c5d.metal、c5n.metal、c6a.metal、 c6g.metal、 c6gd.metal、 c6i.metal、c6id.metal
    メモリ最適化r5.metal、r5b.metal、r5d.metal、r5dn.metal、r5n.metal、r6a.metal、 r6g.metal、 r6gd.metal、 r6i.metal、r6id.metal、u-6tb1.metal、u-9tb1.metal、u-12tb1.metal、u-18tb1.metal、u-24tb1.metal、 x2gd.metal、 x2idn.metal、x2iedn.metal、x2iezn.metal、z1d.metal
    ストレージ最適化i3.metal、i3en.metal、i4i.metal
    高速コンピューティングg4dn.metal、g5g.metal

マシンイメージ(AMI)

使用できるOSとしては、下記のようなものがあります。

  • Amazon Linux
  • CentOS
  • Red Hat Enterprise Linux
  • Windows Server

AMIは誰でも公開できるものなので、インスタンス起動時にAMIを選択する際は信頼できる提供元のものを使うことが推奨されます。

EC2の関連サービス

EC2には大きく分けて5つの関連サービスが用意されています。これらを使うことで、より複雑なインフラ構築が可能になります。

イメージ(AMI)

サーバーのイメージを保管しておくところです。しばらく使わないけれど、以前構築したサーバーのイメージを取っておきたい場合などに利用します。

EBS(Elastic Block Store)

サーバー上に保存したデータを保管しておくサービスで、外付けハードディスクのようなイメージです。EBSはAWS EC2で作成したインスタンスを停止させる場合に使います。インスタンスはハードディスクのような保存媒体が存在しないため、EBSを使ってデータ保存環境を用意する必要があるのです。

ネットワーク&セキュリティ

文字通り仮想ネットワークの構築やセキュリティグループIDに割り振る権限などをコントロールします。AWS EC2ネットワーク&セキュリティの使い方ですが、Elastic IPという固定IPを作成するサービスを使うことが多いです。通常、EC2インスタンスは固定IPを持たないため、インスタンスを再起動するとIPアドレスが変わってしまいます。そのためサーバーとして利用するためには、Elastic IPにより固定IPを設定する必要があります。

ロードバランシング

ロードバランサを設定するサービスです。ロードバランサとは、複数のサーバーに適切にアクセス負荷が分散されるようにする仕組みのことです。

Auto Scaling

Auto ScalingはAWS EC2のインスタンス数を、自動的に増減させることができるサービスです。CPU使用率、アクセス負荷によるトラフィック量の増大に応じて、自動的にインスタンス数を増やすことができます。また、不要になったインスタンスは自動的に削除されるので、必要以上にインスタンスが増えることはありません。

Amazon EC2の料金

AWSの利用料は「使った分だけ払う・従量課金」が基本で、Amazon EC2も同様です。初期費用もありませんし、無償Linuxは秒単位、Windowsなら1時間単位で支払い料金が変わります。料金は、以下の4つの要素で決まります。

  • インスタンスの使用料
  • EBSの費用
  • 通信費用
  • オプションの費用

EC2インスタンスを停止すればインスタンス使用料はかかりませんが、Amazon EBSの費用は発生するなど、利用状況に応じて費用の発生状況は異なります。そのためAWSでは、月ごとの請求金額の確認機能、一定金額を超えたらアラートが出る機能、必要なスペックを入れると利用料を見積もってくれるサービスなどが用意されています。また、EC2の料金体系は大きく3つに分かれます。

  • オンデマンドインスタンス

    サーバが稼働している時間の料金が発生する料金体系です。使わない時間は料金が発生しないので、固定費の削減につながります。先に料金を支払う必要はなく、あくまでも使った分だけ料金が発生する仕組みです。短時間使用したい場合におすすめの料金体系といえます。

  • リザーブドインスタンス

    あらかじめ使用するキャパシティを予約する料金体系です。長期の契約になりますが、その分オンデマンドインスタンスより大幅な割引価格で使用することができます。使用量が多い場合や長期間稼働しないといけない場合はリザーブドインスタンスがおすすめです。

  • スポットインスタンス

    スポットインスタンスは、先に挙げたものよりも特殊な料金体系です。AWS上にすでに存在し放置されているインスタンスを格安利用料で使う方式です。通常はインスタンスを利用する場合、自分で設定したインスタンスを稼働させるのですが、スポットインスタンスの場合は他人のインスタンスを利用します。

EC2の作成手順

EC2の作成の前に以下を作成しておく必要があります。

  • VPC
  • サブネット
  • ルートテーブル
  • インターネットゲートウェイ
  • セキュリティグループ

VPCについてはこちらの記事で詳しく解説しています。

https://envader.plus/article/76

1. EC2コンソールへ移動

AWSコンソールにログインしたら、左上の検索窓を選択。

検索窓にEC2と入力したら、候補に出て来た「EC2」をクリック。

2. EC2インスタンスの管理画面へ移動

左側の「インスタンス」をクリック。

3. EC2インスタンスを作成する

EC2インスタンスの管理画面の右上の「インスタンスを起動」をクリック。

4. EC2インスタンスの設定

EC2インスタンスを以下のように設定していきます。

  1. 名前:任意の名前

  2. アプリケーションおよびOSイメージ:任意のOSとAMIを選択

  3. インスタンスタイプ:任意のインスタンスタイプを選択

  4. キーペアの作成

    1. キーペア名:任意の名前
    2. キーペアのタイプ:RSA
    3. プライベートキーファイル形式:.pem
    4. 「キーペアを作成」をクリック

  5. VPC:2-1で作成したVPC

    サブネット:2-1で作成したサブネット

    パブリックIPの自動割り当て:有効化

    ファイアウォール(セキュリティグループ):既存のセキュリティグループ

    共通のセキュリティグループ:作成したセキュリティグループ

  6. ストレージ:ディフォルトのまま

  7. 「インスタンスを起動」をクリック

5. EC2インスタンスの作成完了

これでEC2インスタンスの作成が完了です。

まとめ

AWSの代表的サービスであるEC2について基礎的な内容を解説しました。EC2を用いれば、容易に仮想サーバの立ち上げが可能ですが、EC2を作成するには、VPC、サブネット、ルートテーブル、インターネットゲートウェイ、セキュリティグループの作成が事前に必要でした。EC2はAWSの中でも非常によく使われるサービスであるので、この機会に無料枠を使ってEC2を作成してみてはいかがでしょうか。

【番外編】USBも知らなかった私が独学でプログラミングを勉強してGAFAに入社するまでの話

IT未経験者必見 USBも知らなかった私が独学でプログラミングを勉強してGAFAに入社するまでの話

プログラミング塾に半年通えば、一人前になれると思っているあなた。それ、勘違いですよ。「なぜ間違いなの?」「正しい勉強法とは何なの?」ITを学び始める全ての人に知って欲しい。そう思って書きました。是非読んでみてください。

「フリーランスエンジニア」

近年やっと世間に浸透した言葉だ。ひと昔まえ、終身雇用は当たり前で、大企業に就職することは一種のステータスだった。しかし、そんな時代も終わり「優秀な人材は転職する」ことが当たり前の時代となる。フリーランスエンジニアに高価値が付く現在、ネットを見ると「未経験でも年収400万以上」などと書いてある。これに釣られて、多くの人がフリーランスになろうとITの世界に入ってきている。私もその中の1人だ。数年前、USBも知らない状態からITの世界に没入し、そこから約2年間、毎日勉学を行なった。他人の何十倍も努力した。そして、企業研修やIT塾で数多くの受講生の指導経験も得た。そこで私は、伸びるエンジニアとそうでないエンジニアをたくさん見てきた。そして、稼げるエンジニア、稼げないエンジニアを見てきた。

「成功する人とそうでない人の違いは何か?」

私が出した答えは、「量産型エンジニアか否か」である。今のエンジニア市場には、量産型エンジニアが溢れている!!ここでの量産型エンジニアの定義は以下の通りである。

比較的簡単に学習可能なWebフレームワーク(WordPress, Rails)やPython等の知識はあるが、ITの基本概念を理解していないため、単調な作業しかこなすことができないエンジニアのこと。

多くの人がフリーランスエンジニアを目指す時代に中途半端な知識や技術力でこの世界に飛び込むと返って過酷な労働条件で働くことになる。そこで、エンジニアを目指すあなたがどう学習していくべきかを私の経験を交えて書こうと思った。続きはこちらから、、、、

note記事3000いいね超えの殿堂記事 今すぐ読む

エンベーダー編集部

エンベーダーは、ITスクールRareTECHのインフラ学習教材として誕生しました。 「遊びながらインフラエンジニアへ」をコンセプトに、インフラへの学習ハードルを下げるツールとして運営されています。

RareTECH 無料体験授業開催中! オンラインにて実施中! Top10%のエンジニアになる秘訣を伝授します! RareTECH講師への質疑応答可

関連記事