Amazon EC2 インスタンスタイプ - Amazon Elastic Compute Cloud

Amazon EC2 インスタンスタイプ

インスタンスを起動するときは、指定したインスタンスタイプによって、インスタンスに使用するホストコンピュータのハードウェアが決まります。インスタンスタイプごとに、コンピューティング、メモリ、およびストレージの機能が異なっており、これらの機能に基づいたインスタンスファミリーにグループ化されています。インスタンスタイプは、インスタンス上で実行するアプリケーションやソフトウェアの要件に基づいて選択します。

Amazon EC2 では、CPU、メモリ、インスタンスストレージなどホストコンピュータの一部のリソースを、特定のインスタンス専用に割り当てます。ネットワークやディスクサブシステムなどホストコンピュータでの他のリソースは、Amazon EC2 によりインスタンス間で共有されます。ホストコンピュータの各インスタンスが、これらの共有リソースの 1 つを可能な限り利用しようとする場合、それぞれのインスタンスは、そのリソースの共有分を等しく受け取ります。ただし、リソースの使用率が低い場合は、1 つのインスタンスがそのリソースのより多くの部分を利用できます。

各インスタンスタイプは、共有リソースからからより高い、またはより低い最小性能を提供します。例えば、高速の I/O パフォーマンスを実行するインスタンスタイプは、共有リソースに対してより大きな割り当てを取得します。共有リソースをより大きく配分することによって、I/O 性能のばらつきを抑えることもできます。ほとんどのアプリケーションでは、中程度の I/O 性能があれば十分です。ただし、より高い、またはより一貫した I/O パフォーマンスを必要とするアプリケーションの場合は、より I/O パフォーマンスの高いインスタンスタイプを使用することを検討してください。

利用可能なインスタンスタイプ

Amazon EC2 では、幅広いインスタンスタイプの選択肢があり、さまざなユースケースに合わせて最適化できます。インスタンスタイプは、CPU、メモリ、ストレージ、およびネットワーク容量のさまざまな組み合わせで構成され、アプリケーションに適したリソースの組み合わせを柔軟に選択できます。各インスタンスタイプには 1 つ以上のインスタンスサイズが含まれているため、ターゲットワークロードの要件に合わせてリソースをスケーリングできます。詳細については、「Amazon EC2 インスタンスタイプガイド」の「Instance types」を参照してください。

インスタンスタイプの命名規則

名前は、インスタンスファミリー、世代、プロセッサファミリー、機能、サイズに基づいています。詳細については、「Amazon EC2 インスタンスタイプガイド」の「Naming conventions」を参照してください。

インスタンスタイプの検索

サポート対象のリージョン、コンピューティングリソース、ストレージリソースなどの要件を満たす、インスタンスタイプの判断方法については、「Amazon EC2 インスタンスタイプの検索」および「Amazon EC2 インスタンスタイプガイド」を参照してください。

機能とユースケースの詳細については、「Amazon EC2 インスタンスタイプの詳細」を参照してください。

ハードウェア仕様

インスタンスタイプの詳細な仕様については、「Amazon EC2 インスタンスタイプガイド」の「Specifications」を参照してください。料金については、「Amazon EC2 オンデマンド料金」をご覧ください。

お客様のニーズに最適なインスタンスタイプを決定するには、インスタンスを起動し、独自のベンチマークアプリケーションを使用することをお勧めします。支払いはインスタンス秒単位であるため、決定する前に複数のインスタンスタイプをテストすると、便利なうえ、コストを抑えることができます。決定を行った後でも、ニーズが変化したときは、インスタンスタイプを変更できます。詳細については、「インスタンスタイプを変更する」を参照してください。

Intel プロセッサの機能

Intel プロセッサで実行される Amazon EC2 インスタンスには、以下の機能が含まれる場合があります。次のプロセッサ機能のすべてが、すべてのインスタンスタイプでサポートされているわけではありません。各インスタンスタイプで使用できる機能の詳細については、「Amazon EC2 インスタンスタイプ」を参照してください。

  • インテルの AES New Instructions (AES-NI) — インテルの AES-NI 暗号化命令セットは、オリジナルの Advanced Encryption Standard (AES) アルゴリズムを改良し、より高速なデータ保護とより優れたセキュリティを提供します。現行世代の全 EC2 インスタンスがこのプロセッサ機能をサポートしています。

  • Intel Advanced Vector Extensions (Intel AVX、Intel AVX2、および Intel AVX-512) — 浮動小数点 (FP) 集約型のアプリケーション用に設計された命令セット拡張で、Intel AVX および Intel AVX2 は 256 ビット、Intel AVX-512 は 512 ビットです。Intel AVX 命令は、画像およびオーディオ/ビデオ処理、科学的シミュレーション、財務分析、および 3D モデリングと分析などのアプリケーションに対するパフォーマンスを向上させます。これらの機能は、HVM AMI で起動されたインスタンスのみで利用できます。

  • Intel Turbo Boost Technology — Intel Turbo Boost Technology プロセッサーは、定格の動作周波数よりも高速にコアを自動的に実行します。

  • Intel Deep Learning Boost (Intel DL Boost) — AI の深層学習のユースケースを高速化します。第 2 世代インテル Xeon スケーラブルプロセッサでは、新しいベクトルニューラルネットワーク命令 (VNNI/INT8) を使ってインテル AVX-512 を拡張します。これにより、画像認識/セグメント化、物体検出、音声認識、言語翻訳、レコメンデーションシステム、強化学習などにおけるディープラーニングの推論パフォーマンスは、前世代のインテル Xeon スケーラブルプロセッサ (FP32) よりも大幅に向上します。VNNI はすべての Linux ディストリビューションと互換性があるわけではありません。

    M5nR5nM5dnM5znR5bR5dnD3D3en および C6i インスタンスでは、VNNI をサポートしています。C5 および C5d インスタンスでは、12xlarge24xlargemetal インスタンスのみ VNNI をサポートしています。

これは、64 ビット CPU の命名に関する業界の慣習の影響で、ややわかりにくいものになっています。チップ製造元の Advanced Micro Devices (AMD) は、Intel x86 命令セットをベースとして商業的に初めて成功した 64 ビットアーキテクチャを導入しました。その結果、このアーキテクチャーはチップ製造元にかかわらず AMD64 と幅広く呼ばれています。Windows および複数の Linux ディストリビューションがこの慣習に従っています。インスタンスが Intel ハードウェアで実行されているにもかかわらず、Ubuntu または Windows を実行しているインスタンスの内部システム情報に CPU アーキテクチャが AMD64 と表示されるのはこのためです。

AWS Graviton プロセッサ

AWS Graviton は、Amazon EC2 インスタンスで実行されるワークロードに最高のコストパフォーマンスを提供するように設計されたプロセッサファミリーです。

詳細については、「Getting started with Graviton」を参照してください。

AWS Trainium

AWS Trainium を搭載したインスタンスは、高性能で費用対効果の高い深層学習トレーニングを目的として構築されています。このインスタンスを使用すると、音声認識、レコメンデーション、不正検出、イメージや動画の分類など、幅広いアプリケーションで使用される自然言語処理、コンピュータビジョン、レコメンダーモデルをトレーニングできます。PyTorch や TensorFlow などのよく使用される ML フレームワークで、既存のワークフローを使用できます。

AWS Inferentia

AWS Inferentia を搭載したインスタンスは、機械学習を高速化するように設計されており、高性能で低レイテンシーの機械学習推論を実現します。これらのインスタンスは、自然言語処理、オブジェクトの検出と分類、コンテンツのパーソナライズとフィルタリング、音声認識などのアプリケーション向け深層学習 (DL) モデルをデプロイするために最適化されています。

使用を開始するには、さまざまな方法があります。

  • 機械学習モデルの使用を開始する最も簡単な方法であり、フルマネージド型のサービスである SageMaker を使用します。詳細については、「Amazon SageMaker 開発者ガイド」の「SageMaker の使用開始」を参照してください。

  • 深層学習 AMI を使用して Inf1 または Inf2 インスタンスを起動します。詳細については、 AWS デベロッパーガイドの 「DLAMI を使用した AWS Deep Learning AMI Inferentia」を参照してください。

  • 独自の AMI を使用して Inf1 または Inf2 インスタンスを起動し、AWS Neuron SDK をインストールします。これにより、AWS Inferentia の深層学習モデルをコンパイル、実行、プロファイリングできます。

  • Inf1 または Inf2 インスタンスと Amazon ECS 最適化 AMI を使用してコンテナインスタンスを起動します。詳細については、Amazon Elastic Container Service Developer Guideの「Amazon Linux 2 (Inferentia) AMI」を参照してください。

  • Inf1 インスタンスを実行するノードを持つ Amazon EKS クラスターを作成します。詳細については、Amazon EKS ユーザーガイドの「Inferentia のサポート」を参照してください。

AMI 仮想化タイプ

インスタンスの仮想化タイプは、インスタンスの起動に使用する AMI によって決まります。現行世代のインスタンスタイプは、ハードウェア仮想マシン (HVM) のみをサポートしています。以前の世代のインスタンスタイプの中には、準仮想化 (PV) をサポートするものがあり、一部の AWS リージョンは PV インスタンスをサポートしています。詳細については、Linux AMI 仮想化タイプ を参照してください。

最適なパフォーマンスを得るために、HVM AMI を使用することをお勧めします。さらに、拡張ネットワーキングのメリットを活用するには、HVM AMI が必要です。HVM 仮想化は、AWS プラットフォームによって提供されるハードウェアアシストテクノロジーを使用します。HVM 仮想化を使用すると、ゲスト VM はネイティブハードウェアプラットフォーム上で動作しているかのように動作します。ただし、パフォーマンスの向上のために PV ネットワークとストレージドライバは使用します。