こんにちは、ふじみや です。
以前、マインクラフトのサーバーをAWSのEC2インスタンスを使って立ち上げる方法についてご説明しました。
このとき、EC2のインスタンスタイプとして「t4g.medium」をオススメさせていただきましたが、例えばサーバーにログインする人の数が増えたなど、サーバーに負荷がかかって処理が遅くなった、というお悩みを持つ方もいらっしゃるのではないかと思います。
今回は、そういった方向けに、新しくEC2インスタンスを起動させることなくインスタンスの処理能力を向上させる方法をご説明をします。
結論のみ手っ取り早く知りたいという方は、「インスタンスタイプの変更方法」をご覧ください。
インスタンスタイプとは
「インスタンスタイプ」とは、EC2インスタンスがホストされるコンピュータの性能(CPUやメモリ等)を決めるものです。ファミリー、世代、追加機能、サイズに基づいて名前が付けられていますので、ご自身の用途と運用の実態に合わせて適切なインスタンスタイプを簡単に選択することが可能です。
ファミリー
インスタンスファミリーは用途別に分けられています。
以下にファミリーごとの特徴と主な用途をまとめました。マインクラフトのサーバーに使う程度でしたら「汎用」を選択しておくことで問題ありません。「汎用」の中での違いについては後述します。
用途 | 特徴 | 主な用途 | 主なファミリー |
---|---|---|---|
汎用 | 以下をバランスよく備えている。 ・コンピューティング ・メモリ ・ネットワーキングリソース | 一般的な使い方 | T, M, A, Mac |
コンピューティング最適化 | 高い作業負荷が見込まれるものに対して高速に処理を行う | ・バッチ処理 ・動画エンコーディング ・ゲームサーバー 等 | C, Hpc |
メモリ最適化 | 高いメモリ能力を持つ | ・高性能データベース | R, X, z |
高速コンピューティング | GPUなどを利用し大量の演算を高速で行う | ・グラフィックアプリケーション | P, DL, Trn, Inf, G, F, VT |
ストレージ最適化 | ストレージに対する大量の読み取りや書き込みが処理可能 | ・データウェアハウス ・分散ファイルシステム | Im, Is, I, D, H |
世代と追加機能
「世代」は数字が大きい方が新しい世代を意味しており、「追加機能」は使用しているプロセッサの種類などについて示しているものとなります。
例として「汎用」に用いられる追加機能について、主な意味を以下にまとめました。色々とありますが、一般的な用途であれば、追加機能がないもの、「g」並びに「a」をそれとなく覚えておくくらいで大丈夫です。
追加機能 | 意味 | 特徴 |
---|---|---|
g | AWS Graviton プロセッサ | ・Armアーキテクチャ ・最良のコストパフォーマンス |
a | AMD プロセッサ | 同等のタイプに比べ 最大 10% のコスト削減 |
d | インスタンス ストアボリューム | インスタンスを停止すると データが削除される |
n | ネットワークの最適化 | ネットワークの処理能力が高い |
z | 高頻度 | 処理能力が最も高い |
サイズ
「インスタンスサイズ」とはインスタンスタイプの処理能力を示すものです。同じインスタンスファミリーの中でも大きい方が処理能力は高くなります。
例として「汎用」におけるファミリー別のサイズ表を以下にまとめました。このうち、「〇」は該当するファミリー内の全てにおいて利用可能な世代にて選択可能なもの、「△」は選択不可の世代もあるもの、「-」は選択不可のものを示しています。
T | M | A | Mac | |
---|---|---|---|---|
nano | 〇 | ー | ー | ー |
micro | 〇 | ー | ー | ー |
small | 〇 | ー | ー | ー |
medium | 〇 | △ | 〇 | ー |
large | 〇 | 〇 | 〇 | ー |
xlarge | 〇 | 〇 | 〇 | ー |
2xlarge | 〇 | 〇 | 〇 | ー |
4xlarge | ー | 〇 | 〇 | ー |
8xlarge | ー | 〇 | ー | ー |
16xlarge | ー | 〇 | ー | ー |
24xlarge | ー | △ | ー | ー |
32xlarge | ー | △ | ー | ー |
48xlarge | ー | △ | ー | ー |
metal | ー | △ | 〇 | 〇 |
「metal」は「ベアメタル」と呼ばれるもので、EC2インスタンスがホストされるハードウェアへのダイレクトアクセス機能を提供しているものです。一般的な用途ではまず利用しません。
主なインスタンスタイプ別のスペック比較
これまでのご説明で、マインクラフトのサーバー用途の場合にはファミリーは「汎用」を選択し、追加機能は「無印」、「g」または「a」のいずれかで十分だということがご理解いただけたかと思います。
サイズの選択は悩みどころかと思いますが、参加人数が5人程度までであればサイズは「medium」、ある程度大人数の予定であれば「large」といった感じで選択しましょう。
人数規模がよく分からない場合にはとりあえず「medium」を選択し、必要に応じてインスタンスサイズを大きなものに変えていく、というやり方が最もコストパフォーマンスが良くなります。
「汎用」タイプの「medium」及び「large」のスペックと料金を以下の通り表にまとめました。左側が「medium」を、右側が「large」を示しています。
タイプ | プロセッサ | vCPU | メモリ (GiB) | 1時間あたり 料金 |
---|---|---|---|---|
t2.medium/ t2.large | インテル | 2/2 | 4/8 | 0.0608/ 0.1216 |
t3.medium/ t3.large | インテル | 2/2 | 4/8 | 0.0544/ 0.1088 |
t3a.medium/ t3a.large | AMD | 2/2 | 4/8 | 0.0490/ 0.0979 |
t4g.medium/ t4g.large | AWS Graviton2 | 2/2 | 4/8 | 0.0432/ 0.0864 |
m5.medium/ m5.large | インテル | -/2 | -/8 | -/ 0.124 |
m5a.medium/ m5a.large | AMD | -/2 | -/8 | -/ 0.112 |
m6i.medium/ m6i.large | インテル | -/2 | -/8 | -/ 0.124 |
m6g.medium/ m6g.large | AWS Graviton2 | 1/2 | 4/8 | 0.0495/ 0.990 |
a1.medium/ a1.large | AWS Graviton | 1/2 | 2/4 | 0.0321/ 0.0642 |
インスタンスタイプの変更方法
EC2インスタンスの処理能力は、インスタンスサイズをより大きなものに変更させることで、新しくEC2インスタンスを起動させることなく高めることが可能です。このようにサーバーのスペックを高くすることで処理能力を向上させることをスケールアップといいます。
インスタンスタイプ変更の制約
インスタンスサイズの変更は、同じアーキテクチャを採用したプロセッサの間でのみ可能です。つまり、アーキテクチャがx86であればインテルまたはAMDのプロセッサであれば変更可能で、ArmであればAWS Graviton系の間でのみ変更可能となります。
例えば、無料利用枠の「t2.micro」は、「t2.medium」(同世代)や「t3.medium」(別世代)のほか、「m5.medium」(別ファミリー)に変更することができます。
しかしながら、「t3a.medium」や「t4g.medium」といった追加機能が別のものに変更をする際には少し手順が煩雑になります(別の記事にて詳細に手順をご説明する予定です。)。
以下に「汎用」のインスタンスタイプ別に変更可能なタイプをまとめてみました。
t2 | t3 | t3a | t4g | m5 | m5a | m6g | a1 | |
---|---|---|---|---|---|---|---|---|
t2 | ○ | ○ | ○ | × | ○ | ○ | × | × |
t3 | ○ | ○ | ○ | × | ○ | ○ | × | × |
t3a | ○ | ○ | ○ | × | ○ | ○ | × | × |
t4g | × | × | × | ○ | ○ | ○ | × | ○ |
m5 | ○ | ○ | ○ | × | ○ | ○ | × | × |
m5a | ○ | ○ | ○ | × | ○ | ○ | × | × |
m6g | × | × | × | ○ | × | × | ○ | ○ |
a1 | × | × | × | ○ | × | × | × | ○ |
インスタンスタイプの変更手順
それでは、インスタンスタイプを変更する方法について見ていきましょう。といっても手順は非常に簡単で次の通りとなります。なお、作業の前には忘れずにデータのバックアップを取っておきましょう。
データのバックアップ方法については、EC2インスタンスのバックアップを作成【AWS Backup】及びEC2インスタンスのバックアップを作成【スナップショット】にてご説明をしていますので、あわせてご覧ください。
- EC2インスタンスを停止する
- 管理画面にて対象のインスタンスを選択し、「アクション」→「インスタンスの設定」→「インスタンスタイプを変更」
- 新しいインスタンスタイプを選択して「適用」をクリック
新しいインスタンスタイプを選択する際に、どれが選択可能かを覚えている必要はありません。選択不可の場合にはエラーが出ますので、エラーが出てしまったら落ち着いて違うインスタンスタイプを選択しましょう。
まとめ
通常はコンピュータの処理能力を向上させるためには新しいものを買う必要があるなど、時間もコストも要します。しかしながら、AWSは「柔軟性」や「拡張性」といった特徴を持っており、処理能力の向上(または削減)は上記の通り数クリックで簡単に出来てしまいます。
そのため、どういったインスタンスタイプ(スペック)を選ぶべきか迷った場合には、まずは性能の低いものから試し、不足や過剰があればインスタンスタイプを変更させる運用をしましょう。
それではまた。
コメント