今回は、AWSで最もよく使われる「Amazon Elastic Compute Cloud (Amazon EC2)」という仮想サーバを作成できるサービスの概要についてです。
項目
1.必要な時に必要な量だけを使用する
2.使用した分だけコストが発生する
3.変更可能なインスタンスタイプから性能を選択
4.数分でサーバーを調達して起動できる
5.世界中のリージョンから起動場所を選択
6.AMIからいくつでも同じサーバーを起動できる
7.セキュリティグループでトラフィックを制御できる
8.オペレーティングシステムを管理者権限で操作できる
9.ユースケースに応じた料金オプション
※ 『AWS認定資格試験テキスト AWS認定クラウドプラクティショナー』 の第5章に相当
1.必要な時に必要な量だけを使用する
EC2では、必要な時に必要なだけインスタンスを稼働させることができます。
「1インスタンス=仮想サーバー1台」です。
最低でも、インスタンス数が2個、最大でも15個必要なシステムを構築します。
日中と夜間ではアクセス数が違うため、アクセス数に応じてシステムを稼働させることになります。日中のピークを迎える時は最大15まで稼働させ、夜間のアクセスが減る時間帯は2個だけで稼働させたりします。
このように、需要に応じて必要なインスタンスを起動できる特徴があります。
必要なときに必要な量だけ使用することになるので、事前に予測してサーバーシステムを構築する必要はありません。EC2により、使用量を柔軟に変更できるからです。
2.使用した分だけコストが発生する
EC2の料金は、「(1)EC2稼働に対しての料金」「(2)データ転送料金」「(3)ストレージ料金」の3つがあります。
(1)EC2稼働に対しての料金
OS、リージョン、インスタンスタイプによって料金が異なります。
この料金は、1時間単位で課金されます。Amazon LinuxやUbuntuでは秒単位の課金です。
起動中の時間が課金対象となり、停止中は課金が停止します。
(2)データ転送料金
リージョンの外にデータを転送した場合、データ転送料金が発生します。
データ転送料金はリージョンによって異なっています。インターネットへ転送した場合、他のリージョンへ転送した場合でも料金が異なります。
インターネットからAmazon EC2へのデータ転送受信(イン)は無料です。
アプリケーションにインとなる通信には転送料金が発生せず、アウトになる通信に転送料金が発生します。
同じリージョンないの他のEC2へデータ転送したとき、AZが異なる場合、転送料金が発生します。
(3)ストレージ料金
厳密に言うと、EBS(Amazon Elastic Block Store)の料金となります。
EBSに対する課金は、1GBあたりのプロビジョニング(必要に応じてネットワークやコンピュータの設備などのリソースを提供できるよう予測し、準備しておくこと)した料金となります。
(1)(2)(3)をまとめると「従量課金」「時間単位・秒単位で課金」「アウト通信にデータ転送料金がかかる」となります。
3.変更可能なインスタンスタイプから性能を選択
様々なインスタンスタイプを選択することができます。
最初に決めたものをそのまま使い続けるのではなく、使い始めてから他のインスタンスタイプに変更することができます。
使い始めてから使用状況をモニタリングし、必要に応じて変更するのが妥当でしょう。
インスタンスタイプは、次のように表記されます。
t2.micro
「t」・・・ファミリー
「2」・・・世代
「micro」・・・サイズ
「ファミリー」は、用途によって選択します。以下の一例の表を参考にしてください。
ファミリー | ユースケース |
---|---|
T | 汎用、検証 |
M | 汎用 |
C | コンピューティング |
X,R | メモリ最適化 |
P,F,G | 高速コンピューティング |
H,I,D | ストレージ最適化 |
「世代」は、バージョンのことです。
「サイズ」は、性能のレベルを表しています。
vCPU、メモリ、ネットワーク、ストレージ性能、使用できるストレージなどが決まります。
ファミリーの選択、世代の選択、サイズの選択という順番で進めていくのが一般的です。
インスタンスタイプの選び方ですが、必要としているコンピューティング処理が最も早く完了するインスタンスタイプを選択することがベストプラクティスです。
低いコストのインスタンスを選んでしまうと、その分だけシステム全体の性能が低くなってしまい、逆に効率が悪いのです。
いらなくなったインスタンスは捨てることができ、捨てたあとは料金もかからないので、やはり、モニタリングしながら必要な分だけ稼働させるのがベストでしょう。
処理に長い時間をかけて課金を発生させるよりも、処理を迅速に終わらせた方が、結局のところトータルコストが下がることもあると覚えておきましょう。
4.数分でサーバーを調達して起動できる
EC2は、
1 リージョンを選択する
2 AMIを選択する
3 インスタンスタイプを選択する
4 起動するネットワークを選択する
5 ストレージを選択する
のステップで起動することができます。このステップをあらかじめ設定しておくと、調達・起動を自動化することもできます。
従来のプロセスに比べて、ほんの数分でリリースすることが可能です。
5.世界中のリージョンから起動場所を選択
世界中のどのリージョンでもEC2を起動できます。
どこのリージョンを選択しても、起動時間に差異はありません。
日本であれば、東京か大阪を選ぶことになるでしょう。
6.AMIからいくつでも同じサーバーを起動できる
EC2は、AMI(Amazon Machine Image)から起動します。
一つのAMIからいくつでもインスタンスを起動することができます。
それにより、同じ構成を持ったEC2インスタンスを複数起動することができます。
AMIは、大きく分けて4種類あります。
(1)クイックスタートAMI
AWSがあらかじめ用意しているAMIです。
Amazon Linux、Windows、Red Hat、SuSE、UbuntuなどのOSとモジュールがインストール済みで用意されています。
Deep Learning向けのクイックスタートAMIもあります。
(2)マイAMI
利用者自身が作成するAMIです。
起動中のEC2を選択してイメージを作成するだけ利用できます。
クイックスタートから起動したEC2インスタンスに独自のアプリケーションをデプロイして、AMIを作成します。
そのAMIから新しいインスタンスを起動することで、同じアプリケーション構成を持ったインスタンスを複数起動することができます。
稼働中のアプリケーションサーバーのバックアップとしてAMIを定期的に作成する事もできます。
マイAMIは、他のアカウントと共有することや、公開する事も可能です。
(3)AWS Marketplace
ソフトウェアやミドルウェアが既にインストールされている構成済みのAMIです。Amazonのパートナーベンダーが提供しています。
使用予定のソフトウェアがAWS Marketplaceにある場合は、それを使うことが最も早くシステムを構築する方法になります。
ソフトウェアは、提供ベンダーによってテスト済みの状態で提供されます。
ソフトウェアによっては、ライセンス料金がEC2の従量課金に加算されるものもあります。
そのソフトウェアを使い続ける必要はなく、必要がに応じて他のソフトウェアを選択していくこともできます。
(4)コミュニティAMI
一般公開されているAMIです。
クイックスタートAMI、マイAMI、AWS Marketplaceに適したものがない場合、コミュニティの中から選択します。
7.セキュリティグループでトラフィックを制御できる
EC2へのトラフィック(データ転送量)は、セキュリティグループで制御できます。
これにより、許可をしていない送信元からのアクセスをブロックすることができます。
8.オペレーティングシステムを管理者権限で操作できる
キーペアを利用してログインすることで、オペレーティングシステムを管理者権限で操作できます。
AWSでキーを作成すると、公開鍵がAWSで保存されます。秘密鍵は、作成したタイミングでダウンロードします。
この秘密鍵を、OSの管理者だけがアクセスできる場所で管理することとなります。
9.ユースケースに応じた料金オプション
EC2には、いくつかの料金オプションが用意されています。それらを利用することで、コスト効率をよくすることができます。
(1)オンデマンドインスタンス
料金オプションを使わずにEC2インスタンスを起動すると、オンデマンドインスタンスの料金が適用されます。
いわゆる、定価料金のことです。
運用開始後、すぐにインスタンスタイプを変更する場合、最初にオンデマンドインスタンスを選択することになります。
(2)リザーブドインスタンス
24時間365日(または75%以上)稼働し続けることが決まっているインスタンスがある場合は、リザーブドインスタンスを利用します。
1年、または3年の使用期間を事前設定することで、割引を受けることができるオプションです。
75%以上の使用が確定する場合は、リザーブドインスタンスの方がトータルコストは低くなります。
(3)スポットインスタンス
インスタンスを使いたいときに必要な量を提供できるように、未使用のEC2キャパシティがあります。
この未使用のEC2キャパシティによって変動するスポット料金があります。
使用すればするだけ料金は上がり、使用量が少なければ少なくなるほど料金は低くなります。
スポットインスタンスは、処理途中で終了しても問題がないユースケースに向いています。急に終了しても問題がない検証やテスト、リアルタイム性のないバッチ処理などで活用します。
一定期間・一定量利用することが確定する場合は、オンデマンドやリザーブドを使うことになります。
(4)Dedicated Hosts
EC2が起動するホストを占有するオプションです。セキュリティ/ガバナンス要件、ソケット、コア、VMソフトウェア単位でもライセンス要件を満たせます。
インスタンスではなく、ホストに対する従量課金となっています。
(5)ハードウェア専有インスタンス
アカウント専用のハードウェアでEC2を実行します。Dedicated Hostsとは違い、インスタンス単位で料金が発生します。専有追加料金が必要です。
(6)Savings Plans
1年または3年でより柔軟にコストを節約できます。
EC2インスタンス用のSavings Plansのみならず、AWS Fargate、AWS Lambdaを使用する場合にも適用されるCompute Savings Plansもあります。
EC2 でリザーブドインスタンス(RI)と Savings Plans (SP)のどちらを選ぶべきか?基準とするための最強の比較表を作ってみた
参考書籍
※ 『AWS認定資格試験テキスト AWS認定クラウドプラクティショナー』
● 楽天はこちら