Elastic Compute Service (ECS) インスタンスを購入する前に、パフォーマンス、価格、およびワークロードの要件に基づいて、費用対効果が高く安定したインスタンスタイプを選択する必要があります。このトピックでは、実際のビジネスシナリオに基づいて Alibaba Cloud ECS インスタンスタイプを選択する方法について説明します。
インスタンスファミリーについて理解する
インスタンスタイプを選択する前に、以下のトピックをご覧ください。
インスタンスタイプの分類と命名: インスタンスファミリーの分類とインスタンスタイプの命名規則について説明します。
インスタンスファミリーの概要: 購入可能なインスタンスファミリーについて説明します。
インスタンスファミリーのユースケース
エンタープライズレベルのインスタンスファミリー
異種コンピューティング インスタンスファミリー
プリインストールされているアプリケーションに基づいてインスタンスファミリーを選択する
インスタンスにプリインストールされているアプリケーションに基づいてインスタンスファミリーを選択します。
アプリケーションの種類 | 一般的なアプリケーション | 選択原則 | 推奨されるインスタンスファミリー |
負荷分散 | Nginx | 頻繁な接続の確立をサポートするインスタンスファミリーを選択します。
| c8i、c7、c7nex、g5ne |
リモート プロシージャ コール (RPC) |
| ネットワーク接続負荷の高いワークロードに大量のメモリを提供できるインスタンスファミリーを選択します。 | g8a、g7nex、g8i、g7 |
キャッシング |
|
| r8i、r8a、r7、r7a |
構成センター | ZooKeeper | アプリケーションがネゴシエーションを開始するときに生成される多数の I/O 操作を処理できるインスタンスファミリーを選択します。
| c8a、c7、c8i、u1 |
メッセージ キュー |
| メッセージの整合性を確保するために、クラウド ディスクが推奨されます。
| c8a、c7、c8i、u1 |
コンテナー オーケストレーション | Kubernetes | ECS ベアメタル インスタンスとコンテナーを組み合わせて、計算能力を最大化します。 | ebmc6e、ebmg6e、ebmc6、ebmg6、ebmc6a、ebmc7a、ebmg6a、ebmg7a |
大規模テーブル ストレージ | HBase |
| d3c、d3s、i4 |
データベース |
|
| g8a、g7、g8i、i4 |
SQLServer |
| g8a、g7、r7、r8i、g8i | |
テキスト検索 | Elasticsearch |
| i4、i4r、i3、i2 |
リアルタイム コンピューティング |
| ストレージ容量に基づいて汎用インスタンスファミリーとクラウド ディスクを選択するか、d シリーズ インスタンスファミリーを選択します。 | i4g、i4、d3c |
オフライン コンピューティング |
| d シリーズ インスタンスファミリーを選択します。 | d3s、d3c |
ビデオ トランスコーディング |
|
| c8y |
ビッグデータ |
|
| g8y、r8y |
セグメント化されたビジネスシナリオに基づいてインスタンスファミリーを選択する
汎用アプリケーション、ゲーム アプリケーション、ライブ ストリーミングに推奨されるインスタンスファミリー
汎用アプリケーション、ゲーム アプリケーション、ライブ ストリーミングなどの CPU 計算負荷の高いシナリオでは、1:2 などのバランスの取れた CPU とメモリの比率を持つインスタンスタイプを選択し、システム ディスクとデータ ディスクとして ESSD を使用することをお勧めします。画面上のビデオ コメントなど、より高いネットワーク パフォーマンスが必要なシナリオでは、高仕様のインスタンスタイプを選択してパケット転送速度を向上させます。
シナリオ カテゴリ | シナリオ | 推奨されるインスタンスファミリー | パフォーマンス要件 | CPU とメモリの比率 |
汎用アプリケーション | バランスの取れたパフォーマンス アプリケーションとバックエンド アプリケーション | g7 などの g シリーズ インスタンスファミリー | 中程度のクロック速度と計算負荷の高い | 1:4 |
高いパケット転送速度を持つアプリケーション | g7 などの g シリーズ インスタンスファミリー | 高いパケット転送速度と計算負荷の高い | 1:4 | |
高性能コンピューティング | hfc7 などの hfc シリーズ インスタンスファミリー | 高クロック速度と計算負荷の高い | 1:2 | |
ゲーム アプリケーション | 高性能クライアント ゲーム | hfc7 などの hfc シリーズ インスタンスファミリー | 高クロック速度 | 1:2 |
モバイルまたは Web ゲーム | g6e などの g シリーズ インスタンスファミリー | 中程度のクロック速度 | 1:4 | |
ライブ ストリーミング | ビデオ転送 | g7 などの g シリーズ インスタンスファミリー | 中程度のクロック速度と計算負荷の高い | 1:4 |
画面上のビデオ コメント | g7 などの g シリーズ インスタンスファミリー | 高いパケット転送速度と計算負荷の高い | 1:4 |
Hadoop、Spark、Kafka などのビッグデータ シナリオに推奨されるインスタンスファミリー
Hadoop、Spark、Kafka などのビッグデータ シナリオでは、各ノードのパフォーマンス要件が異なります。計算パフォーマンス、ストレージ スループット、ネットワーク パフォーマンスなど、すべてのノードのパフォーマンスのバランスを取る必要があります。
管理ノード: 汎用シナリオでインスタンスファミリーを選択するのと同じ方法でインスタンスファミリーを選択します。g シリーズ インスタンスファミリーを選択することをお勧めします。
計算ノード: 汎用シナリオでインスタンスファミリーを選択するのと同じ方法でインスタンスファミリーを選択します。g シリーズ インスタンスファミリーを選択することをお勧めします。クラスター サイズに基づいてインスタンスタイプを選択します。たとえば、100 ノード未満のクラスターには ecs.g7.4xlarge を、100 ノード以上のクラスターには ecs.g7.8xlarge を選択できます。
キャッシュ ノード: ホット データの格納または Really Simple Syndication (RSS) のデプロイに使用されます。これらのノードには、高いディスクおよびネットワーク I/O パフォーマンスが必要です。i4g または i2g インスタンスファミリーを選択することをお勧めします。
コンピューティングノードとキャッシュノード: データの計算とキャッシュに使用されます。インスタンスファミリーを選択する際は、コンピューティングパフォーマンス、I/O パフォーマンス、およびディスク容量を考慮してください。i4、i4r、または d3c インスタンスファミリーを選択することをお勧めします。
説明プリエンプティブル インスタンスを計算ノードとして使用することで、費用対効果を向上させることができます。詳細については、「概要」をご参照ください。
データ ノード: 高いストレージ スループット、高いネットワーク スループット、およびバランスの取れた CPU とメモリの比率が必要です。d シリーズ ビッグデータ インスタンスファミリーを使用することをお勧めします。たとえば、MapReduce と Hive には ecs.d2s.5xlarge と ecs.d3s.4xlarge を、Spark と MLib には ecs.d2s.10xlarge を選択できます。
データベース、キャッシュ、検索シナリオに推奨されるインスタンスファミリー
ほとんどの場合、データベース、キャッシュ、検索シナリオでは、1:4 を超える CPU とメモリの比率が必要です。シナリオの特定のソフトウェアは、レイテンシとストレージ I/O 機能に敏感です。費用対効果の高いメモリを提供するインスタンスファミリーを選択することをお勧めします。
シナリオ カテゴリ | シナリオ | 推奨されるインスタンスファミリー | CPU とメモリの比率 | データ ディスク |
リレーショナル データベース | アプリケーション層での高パフォーマンスと高可用性 | i シリーズ インスタンスファミリー | 1:4 | ローカル SSD、Ultra ディスク、標準 SSD |
中小規模データベース | g シリーズ インスタンスファミリー、または CPU とメモリの比率が 1:4 のその他のインスタンスファミリー | 1:4 | Ultra ディスクと標準 SSD | |
高性能データベース | i シリーズと r シリーズ インスタンスファミリー | 1:8 | Ultra ディスクと標準 SSD | |
分散キャッシュ | 中程度のメモリ使用量 | g シリーズ インスタンスファミリー、または CPU とメモリの比率が 1:4 のその他のインスタンスファミリー | 1:4 | Ultra ディスクと標準 SSD |
高いメモリ使用量 | r シリーズと i シリーズ インスタンスファミリー | 1:8 | Ultra ディスクと標準 SSD | |
NoSQL データベース | アプリケーション層での高パフォーマンスと高可用性 | i シリーズ インスタンスファミリー | 1:4 | ローカル SSD、Ultra ディスク、標準 SSD |
中小規模データベース | g シリーズ インスタンスファミリー、または CPU とメモリの比率が 1:4 のその他のインスタンスファミリー | 1:4 | Ultra ディスクと標準 SSD | |
高性能データベース | i4 および i4r インスタンスファミリー | 1:8 | Ultra ディスク、標準 SSD、ローカル SSD | |
ElasticSearch | クラウド ディスクに依存して高データ可用性を確保する小規模クラスター | g シリーズ インスタンスファミリー、または CPU とメモリの比率が 1:4 のその他のインスタンスファミリー | 1:4 | Ultra ディスクと標準 SSD |
高可用性を必要とする大規模クラスター | d シリーズ インスタンスファミリー | 1:4 | ローカル SSD、Ultra ディスク、標準 SSD |
このセクションでは、データベースを例として使用します。通常の場合、業務システムは OLTP データベースに直接接続し、データ冗長性は RAID によって実装されます。ただし、Alibaba Cloud ECS を使用すると、負荷の軽いデータベースと負荷の高いデータベースを柔軟にデプロイできます。
負荷の軽いデータベースの場合は、クラウド ディスクを備えた i4r および i4g インスタンスファミリーを使用します。これらは費用対効果が高くなります。
負荷の高いデータベースには、高いストレージ IOPS と低い読み取り/書き込みレイテンシが必要です。ローカル SSD を搭載した i シリーズ インスタンスファミリーを使用することをお勧めします。ローカル SSD は高 I/O NVMe SSD であり、負荷の高い大規模データベースの要件を満たすことができます。
ディープ ラーニングや画像処理などのシナリオに推奨されるインスタンスファミリー
ディープ ラーニングや画像処理などのシナリオでは、アプリケーションに高性能 GPU アクセラレータが必要です。さまざまなシナリオで、次の GPU と CPU の比率を持つインスタンスファミリーを使用することをお勧めします。
ディープ ラーニング トレーニング: 1:8~1:12 の GPU と CPU の比率
汎用ディープ ラーニング: 1:4~1:48 の GPU と CPU の比率
画像認識と推論: 1:4~1:12 の GPU と CPU の比率
音声認識と合成推論: 1:16~1:48 の GPU と CPU の比率
次の図は、一般的な AI および画像またはビデオ処理シナリオに推奨される GPU アクセラレーションおよび FPGA アクセラレーション インスタンスファミリーを示しています。
選択内容を確認して調整する
選択したインスタンスタイプのインスタンスを作成してインスタンスの使用を開始した後、インスタンスのパフォーマンス モニタリング データに基づいて、インスタンスタイプが適切かどうかを確認することをお勧めします。
ecs.g8i.xlarge インスタンスタイプを選択してインスタンスを作成し、インスタンスの CPU 使用率が低いことがわかった場合は、次のいずれかの方法を使用してインスタンスのメモリ使用率が高いかどうかを確認することをお勧めします。
インスタンスのメモリ使用率が高い場合は、インスタンスを CPU とメモリの比率がより適切なインスタンスタイプに変更できます。詳細については、以下のトピックをご覧ください。