最近は「サーバレス」というキーワードがかなり大きなキーワードになってきていますね。サーバレスとは文字通りサーバなしでシステムを作ることを意味しています。サーバレスというと「インフラ面の考慮が大幅減」「アプリケーション開発にリソースを注力」「構築・管理・運用コストが大幅減」等メリットは多くあります。「時代はサーバレスだ」と考えているエンジニアも多くいるので、そういったエンジニアに対しての訴求にもなります。(新しいものを使いたがりのエンジニアは多いです)
ですが、あえて今回はAWSのEC2にスコープをあてます。まだまだEC2を活用するシーンは多くありますし、なくなることはないでしょう。「サーバレス」といっても利用者側にサーバの存在が見えないだけで、クラウド上のサーバで稼働していますし、EC2を理解しておくと、付随するVPCやENIといった重要なAWSのサービスの理解にもつながります。公式のドキュメントはとてもボリュームがあることや、なかなか読み解きにくい表現等もあるので、分かりやすく・簡単に表現することを意識して記載します。(深堀する際には公式のドキュメントを確認してください)
VPCについてはこちら:
ENIについてはこちら:
目次
EC2って何ですか?
公式ドキュメントには以下のように記載されています。
Amazon Elastic Compute Cloud (Amazon EC2) は、安全でサイズ変更可能なコンピューティング性能をクラウド内で提供するウェブサービスです。ウェブスケールのクラウドコンピューティングをデベロッパーが簡単に利用できるよう設計されています。Amazon EC2 のシンプルなウェブサービスインターフェイスによって、手間をかけず、必要な機能を取得および設定できます。お客様のコンピューティングリソースを完全に制御し、Amazon の実績あるコンピューティング環境で実行できます。
引用元:Amazon EC2
うーん、その通りなんですがこれでは分かりにくいですね。もう少し分かりやすく説明します。EC2とは、仮想サーバをAWSのデータセンター上に作れるサービスです。Amazonが管理しているデータセンターで仮想サーバを動かせます。金融機関等、社会インフラとして重要な企業のシステムもいくつもこのデータセンター内にあることからも分かる通り、ものすごく厳重に管理されているデータセンターになります。それだけで安心ですね。もちろん競合のGCP(Google社)、Azure(Microsoft社)といったパブリッククラウドサービスも同様に、社会インフラを支える企業でも利用が進んでいます。
EC2の概要レベルではレンタルサーバと同じようなもの、と考えて相違ないですが、私が思う違いは以下のようなことかなと思っています。といったところでしょうか。自由自在に作れるレンタルサーバと考えると分かりやすいかなと思います。
- Amazonのデータセンターに作れる
- 圧倒的な自由度の高さ(選択肢の豊富さ)
- 他の強力なサービスとの親和性
それぞれのポイントについて詳細に説明していきます。
レンタルサーバとの違いその1:Amazonのデータセンターに作れる
前述のとおり、Amazonが厳重に管理しているデータセンター上にホスティングされます。このメリットについては以下の記事を参照してみてください。可用性が重要なシステムであればあるほど、メリットを享受できます。
レンタルサーバとの違いその2:圧倒的な自由度の高さ(選択肢の豊富さ)
自由度とは何かというと、何から何まで自由です。言い換えると、自分で決めないといけません。つまり、決まった用途でしか使わないものであればレンタルサーバも候補に挙がりますが、自由自在にコントロールしたい場合にはEC2がおすすめです。
OS以上のレイヤについてはもちろん自身でコントロールできますが、OS未満のレイヤはAWSEC2ではこんなに自由にコントロールできます。
- NWファイアウォール(セキュリティグループ)を自由自在に設定
- ストレージの種類やサイズを自由自在に設定
- OSの種類やバージョンも多数提供されているAMIから自由に選択可能
- スペック(CPU、メモリ、帯域等)も自由に選択可能
等があります。ハード的な部分を中心に書きましたが、決まったパターンしか提供されていないことが多いレンタルサーバと大きく違うことが分かります。
レンタルサーバとの違いその3:他の強力なサービスとの親和性
AWSにはとてつもない数のサービスがあります。その色々なサービスと簡単につながれます。AWSの世界ですべてが完結する、ということです。パッと思いつくだけで沢山出てきます。
- ELB(負荷分散装置)にEC2をぶら下げたり
- CloudWatch(監視)からEC2を監視して操作(再起動等)したり
- セキュリティグループ(NWファイアウォール)を使って特定のIPやポートのみを許可したり
- VPCPeeringを使って別のVPCと接続したり
- RDS(データベース)とプライベート通信(AWS内通信)したり
- AMI(バックアップ)をAWS内に自動で取得したり
EC2の料金について
EC2の料金は従量課金制で、起動中のみ課金されます。1時間あたりいくら、といった形で単価が決まっています。サーバの性能がよければよいほどこの単価が高くなります。では停止していたら無料か?というと完全に無料にはなりません。EC2自体の利用料はかかりませんが、EC2にはEBSというディスクが付いてきます。ディスク自体はEC2を停止していても、確保しておかないといけないので、EBSの料金は破棄するまで従量課金されます。EC2停止中は「OSのライセンス費用」「CPU」「メモリ」のお金がかからないと思うといいかもしれません。
また、AWSには無料利用枠があります。詳細はリンク先を確認して頂きたいですが、例えば特定のOS・インスタンスタイプの場合、750時間/月が無料になります。1カ月(31日)は744時間(31日×24時間)ですから、1台の仮想サーバは無料で利用できるということで、冗長化等をする際に2台目以降に料金がかかるという理解で問題ありません。上述EBSの料金はかかりますが、EBSも無料利用枠があり、30GBは無料で利用できます。30GB以下でサーバ構築すれば無料で利用することが可能です。
料金にはオンデマンドだけでなく、スポットインスタンスやリザーブドインスタンス等ありますが、まずはオンデマンドの料金を見ておけばよいです。後者の方がコストが安くなりますが、制約が付きます(1~3年の長期契約、等)。公式にも以下のようにオンデマンドインスタンスを推奨するパターンが記載されています。
オンデマンドインスタンスは、以下の場合にお勧めできます。
・前払いや長期間の契約なしで、Amazon EC2 の低コストや柔軟性を利用したいと考えているユーザー
・短期間、スパイクを伴う、または予測不能な作業負荷があっても中断できないアプリケーション
・初めて Amazon EC2 で開発またはテストするアプリケーション
料金の試算方法
AWSから料金計算ツールが提供されています。こちらを利用することで算出可能ですが、概算金額であれば、自身ですぐに計算できます。試しに簡単に計算してみます。
オンデマンドインスタンスの料金
まずはオンデマンドインスタンスの料金です。算出に当たり、条件(パラメータ)は以下です。
- 1ドル114円で換算
- リージョン:東京
- インスタンスタイプ:t3.medium(vCPU=2,メモリ4GB)
- OS:RHEL
計算結果は以下になります。
- 1時間 ・・・ 0.1144 USD(約13円)
- 1日 ・・・ 2.7456 USD(約313円)
- 1カ月 ・・・ 85.1136 USD(約9,702円)
OSをライセンス料のかかるRHELからかからないAmazonLinuxに変えたり、RHELのままスペック(インスタンスタイプ)を上げた場合もシミュレーションしてみてください。
EBSの料金
EBSの料金はこちらに記載されています。ボリュームタイプ毎にGB当たりの単価が決まります。
汎用 SSD (gp3) – ストレージの場合、1GBあたりの単価は「0.096USD/GB 月」になります。100GBのEBSを使った場合約1094円です。
ネットワークの料金
データ転送料についてはこちらに記載されています。
インターネットと繋がるEC2を想定してシミュレーションします。インターネットから Amazon EC2 へのデータ転送(イン)は無料です。Amazon EC2 からインターネットへのデータ転送 (アウト)に以下の料金がかかります。
最初の 10 TB/月 0.114USD/GB
次の 40 TB/月 0.089USD/GB
次の 100 TB/月 0.086USD/GB
150 TB/月以上 0.084USD/GB
仮に、2MBのページが10000回読まれた場合、月の合計(アウト)は20GBになります。つまり0.114USD×20GB(約260円)となります。
初心者に役立つ本の紹介
EC2の表面的部分について解説しました。次回はEC2のパラメータについて詳細を説明していこうかと思います。
AWSはとても幅が広く、検索等で部分的に理解することは出来ても全体を体系的に理解することが難しいです。公式ドキュメントを上から順に読んでいくことで理解が深まりますが、資格取得の書籍等で勉強することをお勧めします。
なぜ資格取得の書籍かというと、重要な部分を浅く抑えているからです。全体を体系的に浅く押さえておき、深く知る必要があるときに色々調べたり、試したりするとバランスのよいAWSエンジニアになれると思います。このあたりの書籍が分かりやすくおすすめです。
AWS認定資格試験テキスト AWS認定ソリューションアーキテクト – アソシエイト 改訂第2版 [ NRIネットコム株式会社 ] 価格:2,618円 |
みんなのAWS 〜AWSの基本を最新アーキテクチャでまるごと理解! [ 菊池 修治、加藤 諒 ] 価格:2,618円 |
改訂新版 徹底攻略 AWS認定 ソリューションアーキテクト – アソシエイト教科書[SAA-C02]対応 [ 鳥谷部 昭寛 ] 価格:2,618円 |
コメント