AWSのインスタンスタイプとは
Amazonが世界中に展開するAWSは、クラウドサービスとしてよく知られています。そのAWSが提供する最もポピュラーな仮想サーバ構築サービスである、EC2では「インスタンス」という単位で仮想サーバを素早く構築できます。その際、ユーザはインスタンスタイプを選択しなければなりません。
インスタンスタイプは100種類以上もあり、分からないままに適当に選ぶと、多額の料金が掛かってしまうので、きちんと理解した上で最適なインスタンスタイプを選ぶことが大切です。
今回は、インスタンスとは何か、インスタンスタイプとは何か、選ぶ基準は何かなどについて解説していきます。今後、プライベートや仕事でAWSのサービスを利用する際にはぜひ役立ててください。
【参考】:アマゾン ウェブ サービス(AWS クラウド)| ホーム
そもそもEC2とは
Amazon Elastic Compute Cloud(Amazon EC2)は、AWS上で提供されている機能の1つで、LinuxやWindowsなどの仮想サーバを構築できるサービスです。ユーザはわずか数分でサーバを構築でき、稼働後もマシンスペックの変更や削除を簡単に行えるのが特徴です。
データ量の増大などでアプリケーションの負荷が上がった場合や、ディスク容量、CPUやメモリの不足が生じた場合でも、インスタンスタイプの変更によって簡単にスペックの増強が行えます。
またEC2は従量課金制のため、サーバの起動時間によって利用料金が変動します。サーバを利用しない時間は停止するなどの処置が必要です。ただし、サーバを停止しても、データを保存するEBS(Amazon Elastic Block Store)には課金されますので、運用方法や料金には注意が必要です。
他、時間単価はインスタンスタイプによって異なりますので、その選択にも細心の注意が必要です。
インスタンスとは
EC2インスタンスは、EC2上で稼働するサーバを意味します。インスタンス(instance)はオブジェクト指向言語のインスタンスと同義で、「実体」のことです。EC2インスタンスはAWSのマネジメントコンソールから作成できますが、コマンドやプログラム経由で作成することも可能です。
マネジメントコンソールからインスタンスを作成する際には、以下の項目を指定します。
▪インスタンスタイプ:マシンスペック ▪AMI:Amazonマシンイメージ(Linux、CentOS、RedHat、WindowsServerなど) ▪ネットワーク:配置するVPC(仮想ネットワーク)とサブネット ▪ストレージ:ストレージタイプ、容量 ▪セキュリティグループ:AWS提供の仮想ファイアウォール
以上の設定が済めば、数分程度で仮想サーバが起動します。
EC2インスタンスタイプの詳細
インスタンスタイプとは、EC2のサーバスペックのことです。インスタンスタイプは「m5d.large」のようなネーミングになっていますが、ネーミングがスペックを表しています。これからその詳細を見ていきましょう。
インスタンスタイプのネーミングポリシー
EC2のインスタンスタイプのネーミングポリシーは、先頭から順に①インスタンスファミリー、②インスタンス世代、③追加機能、④インスタンスサイズです。③追加機能は付くケースと付かないケースがあります。
このことを頭に入れておくと、インスタンスタイプを見て、そのインスタンスがどの程度のスペックを有し、どのような用途に向いているのかが分かるようになります。
【参考】:Amazon EC2 M5 インスタンス | AWS 【参考】:インスタンスタイプ - Amazon EC2 | AWS
①インスタンスファミリー
インスタンスファミリーを分類すると以下のようになります。種類が多くて比較に困る方は、種類や特徴からファミリーを選ぶと良いでしょう。
種類 ファミリー 特徴
▪汎用 T、M、A バランスの良い汎用タイプ ▪コンピューティング最適化 C 高い計算能力を持つ ▪メモリー最適化 R、X、z メモリーを多く搭載している ▪高速コンピューティング P、DL、G、F、VT、Inf グラフィック演算、推論処理などに適切 ▪ストレージ最適化 I、D、H I/Oパフォーマンスが優れた大容量 ストレージ
【参考】:最適な Amazon EC2インスタンスの選び⽅|AWS
②インスタンス世代
インスタンス世代は、数が大きくなるほど新しい世代を表しています。世代が新しくなるにつれて、コストパフォーマンスは上がる傾向が見られますので、特別な理由がない限りは新しい世代のインスタンスを選択した方が良いでしょう。
③追加機能
追加機能は全てのインスタンスタイプにあるわけではなく、追加機能文字が付かないインスタンスタイプもあります。実例として挙げた「m5d.large」の「d」は内蔵ストレージを意味しています。
他にAMD製のCPUを搭載した「a」、ネットワークを強化したタイプの「n」、従来よりCPUやメモリー搭載量が異なる「e」などがあります。
④インスタンスサイズ
インスタンスサイズは主にEC2インスタンスのCPU、メモリ、ネットワーク帯域などのスペックを表します。「micro」「medium」「large」「xlarge」「2xlarge」…のように表記され、サイズが大きいほど高スペックです。
ただし、サイズが大きくなればなるほど料金も高額になりますので、選択には注意する必要があります。最初は小さめのサイズを選択し、性能テストなどを行いながら後から最適なサイズに変更した方が良いでしょう。
オンプレミス環境では1度機器を導入したら、稼働後にレベルアップを図るのが難しいため、あらかじめシミュレーションを行いながらマシンスペックを決定しますが、クラウド環境では一旦スペックを決定した後に容易にスペック変更を行うことが可能です。
目的に合わせて大まかなスペックを決めた後に、構築やテストを行いながらインスタンスタイプを決定できるのが特徴です。またスペックオーバーとなれば、スケールダウンも簡単にできますので無駄がありません。稼働開始後も適宜、見直しすることをおすすめします。
インスタンスタイプで注意すべきこと
インスタンスタイプは変更が可能ですが、互換性のないインスタンスタイプへの変更はできません。また、インスンスタイプは更新されていきますので、古いタイプのインスタンスは廃止される場合があります。常に最新の情報を入手するようにしてください。
【参考】:※インスタンスタイプ変更の互換性 - Amazon Elastic Compute Cloud
Amazon EC2のメリット
Amzon EC2を利用するには、EC2のメリットを理解しておいた方がよいでしょう。「なぜEC2を選ぶのか」と問われた際には、以下の3点を挙げれば納得してもらえることでしょう。
1.サーバ構築を短時間で抑えられる
オンプレミスでは一般的にサーバなどの確保から構築まで数カ月を要することがありますが、AWS EC2では速ければ数分程度で必要なサーバの確保が行えます。
また、同時にWebサーバ、アプリケーションサーバ、データベースサーバなどを連携させて1度に構築することもできますので、サーバ構築の手間と時間を劇的に短縮することが可能です。その他、初期費用が掛からないことも大きなメリットです。
2.必要に応じてスペック変更が行える
必要なリソース(CPU、メモリー、ストレージ)などを必要な分だけ確保できる仕組みのため、状況に応じて臨機応変な対応が可能です。例えば年末年始が繁忙期で処理量が急増する場合は、この期間だけスペックを上げるといった対応も簡単に行えます。
さらには、しきい値などを決めておき、ある一定の数値に達したら、自動的にスペックを上げるといった対応も可能で、運用担当者の負荷を大きく減らすことができます。
3.使った分しか料金が発生しない
EC2は従量課金制のため、使った分しか料金が発生しない従量制料金制度を採用しています。そのため無駄がなく、運用コストを抑えることができます。従量課金で不安がある場合にはあらかじめ「AWS料金計算ツール」で見積もりを行うことができます。
【参考】:AWS Pricing Calculator | AWS
Amazon EC2の導入方法
EC2を導入する場合は、最適なEC2インスタンスタイプの選定が必要です。ここまでインスタンスタイプに関する詳細を紹介しましたので、実際に導入する場合のおおまかな手順について解説します。
EC2のスタート方法
ここでは、Amazon EC2のスタート方法について解説します。まず「AWS マネジメントコンソール」※にAWSアカウントでログインします。AWSアカウントを未取得の人は、画面右上の[今すぐ無料サインアップ]をクリックし、Eメールアドレスとアカウント名を入力して、アカウント設定の手続きを行います。
アカウント設定が済んだら、利用目的に合うスペックのインスタンスを選択します。100種類以上あるため、選び方がよく分からない方は汎用性の高いM5かT3を選択しておけば問題ありません。これらは途中で変更が可能です。
ちなみにT3は他と比べてスペックが低く、利用料金も低いため、とりあえずT3を選択し、スペックが低いと感じた段階でM5に変更すればよいでしょう。料金を発生させたくない人は、「T2.micro」にしておけば、無料利用枠※2で使えます。
インスタンスの選択が済んだら、EC2ダッシュボードを開き、インスタンスを起動させます。インスタンスが起動したら、案内に従ってセットアップを行うと初期設定が完了します。
クライアントからサーバへの接続は、LinuxOSではSSH(Secure Shell)、WindowsServerはリモートデスクトップサービス(RDS)の機能を利用します。
【参考】:※AWS マネジメントコンソール | AWS 【参考】:※2 AWS クラウド無料利用枠 | AWS
EC2に強いエンジニアを目指して
ここまでAmazon EC2のインスタンスタイプについて解説しました。最近、開発環境としてクラウドサービスを利用するプロジェクトが大変多くなってきました。これから皆さんがプロジェクトで開発環境の構築を任されることもあるでしょう。
その際に慌てないよう、皆さん自身で無料利用枠を用いてEC2インスタンスの設定を行ってみてはいかがでしょうか?AWSのクラウドサービスは、実際に触ってみるのが理解の最も早道ですので、ぜひ試してみてください。
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから