【AWSユーザーガイド非公式解説】[EC2]1.Amazon EC2 とは
この記事はAWSユーザーガイドの以下リンクの解説記事です。
Amazon EC2 とは
Amazon Elastic Compute Cloud (Amazon EC2) はAWSが用意するハードウェア上で、サーバインスタンスを提供する機能です。
AWSを利用することで事前にハードウェアを用意する必要がなくなり、ハードウェア手配、配線、セットアップ等の時間短縮になります。公式では「Amazon EC2 を使用することで、ハードウェアのコストを削減できます。」とあります。確かにハードウェアのコストは削減できますが、サービスとしての料金がかかるため、トータルコストを削減できるかどうかは使用するサービスによります。
EC2は稼動台数を増やすことが簡単にできます。またリソースの増強もオンプレミスのハードウェアよりも容易になります。オンプレミスの場合、将来的な必要キャパシティを見込み、余裕を持ったスペックで調達することが必要ですが、EC2を使用すると現時点で必要なスペックで起動し、必要に応じて稼動台数を変更する、スペックを増強する等の対応が可能です。
EC2はインスタンスタイプを選択して起動します。AWSではvCPUの数、メモリ等のスペックはインスタンスタイプを選ぶことにより決定されます。インスタンスタイプは、xxxx.largeのような形式となっており、ドットの前がサーバの種類、ドットの後がサイズ(vCPUの数、メモリ、ストレージ等の組み合わせ)を表す命名規則になっています。
最初の文字がインスタンスファミリーと呼ばれており、どのような処理をするかによってインスタンスファミリーを選択するのが基本的な考えです。
記事執筆時点でインスタンスファミリーだけでも以下の種類があります。
- C — コンピューティング最適化
- D — 高密度ストレージ
- F — FPGA
- G — グラフィックを多用する
- Hpc – ハイパフォーマンスコンピューティング
- I — ストレージ最適化
- Im – ストレージ最適化 (vCPU とメモリの比率が 1 対 4)
- Is – ストレージ最適化 (vCPU とメモリの比率が 1 対 6)
- Inf – AWS 推論
- M — 汎用
- Mac — macOS
- P — GPU アクセラレーション
- R — メモリ最適化
- T — バースト可能パフォーマンス
- Trn – AWS Trainium
- U — ハイメモリ
- VT — ビデオトランスコーディング
- X — メモリ集約型
この時点でお腹いっぱいになるので、一旦、代表的なインスタンスタイプのみ説明します。
インスタンスタイプ | 分類 | 用途 |
---|---|---|
M | 汎用インスタンス | CPUやメモリ、ストレージといった性能のバランスがよく、一般的なサーバ向けのタイプになります。 |
T | 汎用インスタンス | CPU使用率に制限を加えることによって「M」インスタンスよりも安価に利用可能となっています。CPU使用率の制限をコントロールすることはできず、期待したパフォーマンスが出ない可能性があるため、本番環境での利用は推奨されていません。 |
C | コンピューティング最適化 | 高性能CPUを搭載したインスタンスタイプです。大量データを処理するバッチ等のCPU性能が必要となるサーバ向けです。 |
R | メモリ最適化 | メモリ内で大量のデータを処理する場合に適したインスタンスタイプです。CPUに対し、メモリのスペックが大きくなっています。例えば[m4.large]のスペックは[vCPU:2 メモリ:8] ですが[r4.large]のスペックは[vCPU:2 メモリ:15.3]となっています。 |
Amazon EC2 の機能
公式では機能として説明していますが、EC2関連で出てくる用語として捉えてください。
名称 | 説明 |
---|---|
インスタンス | 仮想サーバのことです。 |
Amazon マシンイメージ(AMI) | 仮想マシンの起動イメージです。最初にEC2を起動する際に、マシンイメージを選択して起動します。マシンイメージを使用して起動したインスタンスから(設定、ソフトウェアインストール等を行ったあとに)マシンイメージを作成することもできます。 |
Amazon EBS ボリューム | Amazon Elastic Block Store (Amazon EBS) を使用したデータ保存領域。実際のディスクはネットワーク経由で接続されています。 |
インスタンスストアボリューム | 一部のインスタンスタイプで使用できる揮発性の保存領域。インスタンスが終了するとデータは消滅します。EBSとは違い、ホストコンピューターに直接接続されているため、高スループットを要する処理に適しています。 |
キーペア | インスタンスへの接続時に使用する公開鍵と秘密鍵のセットです。SSH等でインスタンスに接続する際に使用します。 |
関連サービス
EC2と連携できるサービスには以下のようなものがあります。概要として説明する内容ではないので、簡単に説明します。
- Amazon EC2 Auto Scaling
負荷等に合わせて自動的にEC2の起動数を調整するサービスです。 - AWS Backup
AWSの様々なリソースをバックアップするサービスです。EC2インスタンスとアタッチされているEBSをバックアップできます。 - Amazon CloudWatch
EC2の状態監視、EBSの状態監視、ログ管理等を行うサービスです。 - Elastic Load Balancing
ロードバランサーサービスです。通信を複数のEC2に振り分けることができます。 - Amazon GuardDuty
様々なログを監視し、機械学習により脅威を検出を検出するサービスです。マルウェア感染が疑われる挙動が検出された場合に、EC2インスタンスのマルウェアスキャンをし、不振なファイルを特定することもできます。 - EC2 Image Builder
マシンイメージの再作成、マシンイメージからの復元を自動化するサービスです。 - AWS Launch Wizard
Microsoft SQL Server や SAP ERP 用EC2インスタンスの作成をテンプレートベースで容易に作成可能とするサービスです。 - AWS Systems Manager
運用管理を行うサービスです。EC2へのパッチ適用の自動化、コンソールでのコマンド実行等が可能です。
また、以下のサービスではEC2の機能を間接的に利用します。
- Amazon Lightsail
WEBサーバの構築に必要となるストレージ、スナップショット、ロードバランサー機能、ファイアウォール、DNS機能等をパッケージ化し、月額固定料金で利用できるサービスです。 - Amazon Elastic Container Service (Amazon ECS)
コンテナ化されたアプリケーション実行環境を管理するサービスです。 - Amazon Elastic Kubernetes Service (Amazon EKS)
Kubernetes アプリケーションを実行するサービスです。
Amazon EC2 へのアクセス
EC2は以下のインターフェースで操作ができます。
- Amazon EC2 コンソール
AWSのコンソール画面です。 - AWS Command Line Interface
Windows、Mac、Linuxのコマンド実行環境から操作可能です。 - AWS CloudFormation
EC2リソースの構成をテキスト形式で記述し、実行することによりEC2環境の作成ができます。 - AWS SDK
プログラムからAPI経由で操作します。 - AWS Tools for PowerShell
PowerShell のコマンドラインから実行します。 - Query API
HTTPまたはHTTPSで、POST・GETを行うことにより実行します。
Amazon EC2 の料金表
タイトルは料金表ですが、料金オプションに関する概要説明です。
- 無料利用枠
一定の制約はありますが、無料利用枠を利用可能です。
https://aws.amazon.com/free - オンデマンドインスタンス
基本の使用方法です。インスタンスの使用時間に応じた料金体系となっています。 - Savings Plans
1年または3年を選択し、1時間あたりの固定額を支払うことにより、割引を受けることができる前払いプランです。 - Reserved Instances
1年または3年を選択し、一定のリソースを使用することにより、割引を受けることができる前払いプランです。 - Spot Instances
AWS上の空きリソースを使って起動を行うことにより割引を受けるプランです。空きリソースがない場合起動できません。 - Dedicated Hosts
専用のホスト(ハードウェア)を使用するプランです。こちらは割引ではなく、割り増しになります。規約上ハードウェアを占有する必要があるようなライセンスの持ち込みに対応できます。
例えば、Windows Server DataCenter Editionという仮想基盤用のライセンスは、物理サーバのコアに応じたライセンスを購入することで、仮想基盤上のWindows Serverインスタンスに関するライセンスが不要となります。そのようなライセンスの持ち込みを行う場合はこのプランを選択します。 - オンデマンドキャパシティ予約
AWS上に空きリソースがない場合、EC2の起動が失敗することがあります。期間を指定してキャパシティ予約をすることにより、起動失敗を防ぐことができます。予約料金が発生します。 - 1 秒単位の請求
(料金オプションの説明ではありませんが)EC2の料金は60秒以上の場合、1秒単位の計算となります。
見積もり、請求、コストの最適化
-
EC2の見積もりにはAWS 料金見積りツールを使用します。
https://calculator.aws/#/
リージョン、アベイラビリティゾーン、インスタンスと料金オプション等を選択し、料金見積もりが可能です。
-
Microsoft環境(.NET、SQL Server等)のクラウド移行を検討する際には、アーキテクチャパターン、スペック等を選択して、概算見積もりを行う「Microsoft ワークロード用の AWS モダナイゼーション計算ツール」が利用できます。
-
AWSのサポートは基本的に有償ですが、請求に関する問い合わせは無償で受け付けてくれます。
-
AWS Trusted Advisorを使用すると、コスト最適化、パフォーマンス等の観点で自動的にEC2等の環境のチェックが可能です。
-
AWS Cost Explorerを使用すると、請求状況、リソースごとの課金、将来のコスト予測等を確認できます。
Discussion