Amazon Elastic Compute Cloud
Linux インスタンス用ユーザーガイド

メモリ最適化インスタンス

メモリ最適化インスタンスは、メモリ内の大きいデータセットを処理するワークロードに対して高速なパフォーマンスを実現するように設計されています。

R4、R5、および R5d インスタンス

これらのインスタンスは、以下の用途に適しています。

  • ハイパフォーマンスリレーショナル (MySQL) および NoSQL (MongoDB、Cassandra) データベース。

  • キー値タイプのデータ (Memcached および Redis) のインメモリキャッシュを提供する分散型ウェブスケールキャッシュストア。

  • ビジネスインテリジェンス用に最適化されたデータストレージ形式と分析機能 (SAP HANA など) を使用するインメモリデータベース。

  • 巨大な非構造化データ (金融サービス、Hadoop/Spark クラスター) のリアルタイム処理を実行するアプリケーション。

  • ハイパフォーマンスコンピューティング (HPC) および電子設計オートメーション (EDA) アプリケーション。

X1 インスタンス

これらのインスタンスは、以下の用途に適しています。

  • SAP HANA などのメモリ内データベース (Business Suite S/4HANA の SAP 認定サポート、Business Suite on HANA (SoH)、Business Warehouse on HANA (BW)、および Data Mart Solutions on HANA を含む)。詳細については、「AWS クラウドの SAP HANA」を参照してください。

  • Apache Spark や Presto などのビッグデータ処理エンジン。

  • ハイパフォーマンスコンピューティング (HPC) アプリケーション。

X1e インスタンス

これらのインスタンスは、以下の用途に適しています。

  • 高性能データベース。

  • SAP HANA などのメモリ内データベース。詳細については、「AWS クラウドの SAP HANA」を参照してください。

  • メモリを大量に消費するエンタープライズアプリケーション。

z1d インスタンス

これらのインスタンスは、ハイコンピューティングとハイメモリの両方を提供し、以下の用途に最適です。

  • 電子設計オートメーション (EDA)

  • リレーショナルデータベースワークロード

ハードウェア仕様

メモリ最適化インスタンスのハードウェア仕様の要約を以下に示します。

インスタンスタイプ デフォルト vCPU メモリ (GiB)
r4.large 2 15.25
r4.xlarge 4 30.5
r4.2xlarge 8 61
r4.4xlarge 16 122
r4.8xlarge 32 244
r4.16xlarge 64 488
r5.large 2 16
r5.xlarge 4 32
r5.2xlarge 8 64
r5.4xlarge 16 128
r5.12xlarge 48 384
r5.24xlarge 96 768
r5d.large 2 16
r5d.xlarge 4 32
r5d.2xlarge 8 64
r5d.4xlarge 16 128
r5d.12xlarge 48 384
r5d.24xlarge 96 768
x1.16xlarge 64 976
x1.32xlarge 128 1,952
x1e.xlarge 4 122
x1e.2xlarge 8 244
x1e.4xlarge 16 488
x1e.8xlarge 32 976
x1e.16xlarge 64 1,952
x1e.32xlarge 128 3,904
z1d.large 2 16
z1d.xlarge 4 32
z1d.2xlarge 8 64
z1d.3xlarge 12 96
z1d.6xlarge 24 192
z1d.12xlarge 48 384

各 Amazon EC2 インスタンスタイプのハードウェア仕様については、「Amazon EC2 インスタンスタイプ」を参照してください。

CPU オプションの指定についての詳細は、「CPU オプションの最適化」を参照してください。

メモリ性能

X1 インスタンスには、300 GiB/秒の持続可能なメモリ読み取り帯域幅と、140 GiB/秒の持続可能なメモリ書き込み帯域幅を提供する、Intel Scalable Memory Buffer が含まれます。

メモリ最適化インスタンスに対して有効にできる RAM の量の詳細については、「ハードウェア仕様」を参照してください。

メモリ最適化インスタンスにはハイメモリがあり、その処理能力を活用するためには 64 ビットの HVM AMI が必要です。HVM AMI は、ハイメモリインスタンスタイプの準仮想化 (PV) AMI よりも優れたパフォーマンスを提供します。詳細については、「」を参照してください。Linux AMI 仮想化タイプ

インスタンスのパフォーマンス

R4 インスタンスは、最大 64 個の vCPU に対応し、E5-2686v4 ベースの 2 個の AWS-customized Intel XEON プロセッサを使用します。このプロセッサはハイメモリ帯域幅と、より大きい L3 キャッシュにより、インメモリアプリケーションのパフォーマンスを向上させます。

X1e および X1 インスタンスは、最大 128 個の vCPU に対応し、4 個の Intel Xeon E7-8880 v3 プロセッサを使用します。このプロセッサは高メモリ帯域幅と、より大きい L3 キャッシュにより、メモリ内アプリケーションのパフォーマンスを向上させます。

メモリ最適化インスタンスは、最新の Intel AES-NI 機能を通じてより高い暗号化のパフォーマンスを実現し、Intel Transactional Synchronization Extensions (TSX) のサポートによりインメモリトランザクションデータ処理のパフォーマンスを高めます。また、Advanced Vector Extensions 2 (Intel AVX2) プロセッサ命令のサポートにより、ほとんどの整数コマンドを 256 ビットに拡大します。

一部のメモリ最適化インスタンスでは、Linux のプロセッサの C ステートと P ステートを制御できます。C ステートは非アクティブ時のコアのスリープレベルを制御し、P ステートは希望するコアからのパフォーマンス (CPU 周波数で測定) を制御します。詳細については、「EC2 インスタンスタイプのプロセッサのステート制御」を参照してください。

ネットワークパフォーマンス

サポート対象のインスタンスタイプで、拡張されたネットワーキング機能を有効にすることができます。拡張ネットワーキングでは、パケット毎秒 (PPS) が非常に大きく、ネットワークのストレスが少なく、レイテンシーが低くなります。詳細については、「Linux の拡張ネットワーキング」を参照してください。

拡張されたネットワーキングのための Elastic Network Adapter (ENA) を使用するインスタンスタイプは、高いパケット/秒パフォーマンスと一貫して低いレイテンシーを同時に実現します。ほとんどのアプリケーションでは、高いレベルのネットワークパフォーマンスが一貫して必要なわけではありませんが、データの送受信時にアクセスする帯域幅を増やすことでメリットを得られます。ENA を使用し、最大 10 Gbps のスループットをサポートするインスタンスタイプでは、ネットワーク I/O クレジットメカニズムを使用して、平均帯域幅使用率に基づいてインスタンスにネットワーク帯域幅を割り当てます。これらのインスタンスでは、ネットワークスループットがベースライン制限を下回るとクレジットを獲得し、ネットワークデータ転送を実行するときにこれらのクレジットを使用できます。10 Gbps 以上の帯域幅に継続的にアクセスする必要があるワークロードの場合は、10 Gbps または 25 Gbps のネットワーク速度をサポートするインスタンスタイプを使用することをお勧めします。

拡張ネットワーキングをサポートするメモリ最適化インスタンスのネットワークパフォーマンスの要約を以下に示します。

インスタンスタイプ ネットワークパフォーマンス 拡張ネットワーキング

r4.4xlarge 以下 | r5.4xlarge 以下 | r5d.4xlarge 以下 | x1e.8large 以下 | z1d.3xlarge 以下

最大 10 Gbps

ENA

r4.8xlarge | r5.12xlarge | r5d.12xlarge | x1.16xlarge | x1e.16xlarge | z1d.6xlarge

10 Gbps

ENA

r4.16xlarge | r5.24xlarge | r5d.24xlarge | x1.32xlarge | x1e.32xlarge | z1d.12xlarge

25 Gbps

ENA

SSD I/O パフォーマンス

カーネルバージョン 4.4 以降の Linux AMI を使用し、インスタンスで利用可能なすべての SSD ベースのインスタンスストアボリュームを使用する場合は、以下の表に示されている IOPS (4,096 バイトブロックサイズ) のパフォーマンスを得ることができます (キューの深さの飽和度において)。それ以外の場合、IOPS パフォーマンスは低下します。

インスタンスサイズ 100% のランダム読み取り時 IOPS 書き込み IOPS

r5d.large *

29,170

14,170

r5d.xlarge *

58,330

28,330

r5d.2xlarge *

116,670

56,670

r5d.4xlarge *

233,330

113,330

r5d.12xlarge

700,000

340,000

r5d.24xlarge

140 万

680,000

z1d.large *

29,170

14,170

z1d.xlarge *

58,330

28,330

z1d.2xlarge *

116,670

56,670

z1d.3xlarge *

175,000

85,000

z1d.6xlarge

350,000

170,000

z1d.12xlarge

700,000

340,000

* これらのインスタンスの場合、最大で指定されたパフォーマンスを得ることができます。

インスタンスに SSD ベースのインスタンスストアボリュームを使用するほど、アーカイブできる書き込み IOPS の数は減少します。これは、SSD コントローラーが実行する必要がある追加の作業が原因です。SSD コントローラーは、利用可能な領域を見つけ、既存のデータを再書き込みし、未使用の領域を消去して、再書き込みができるようにします。このガベージコレクションというプロセスにより、SSD への内部的な書き込み増幅が発生し、ユーザーの書き込み操作に対する SSD 書き込み操作の割合として表示されます。書き込み操作が 4,096 バイトの倍数でないか、4,096 バイトの境界に整合していない場合、パフォーマンスの低下はさらに大きくなります。少量のバイト数または整合していないバイト数で書き込む場合、SSD コントローラーは周辺のデータを読み取り、その結果を新しい場所に保存する必要があります。このパターンにより、書き込み増幅が大幅に増え、レイテンシーが増加し、I/O パフォーマンスが大きく低下します。

SSD コントローラーは、複数の方法を利用すると、書き込み増幅の影響を減らすことができます。このような方法の 1 つには、SSD インスタンスストレージに領域を予約し、コントローラーが書き込み操作に利用できる領域をより効率的に管理できるようにすることです。これをオーバープロビジョニングと呼びます。 インスタンスに提供された SSD ベースのインスタンスストアボリュームには、オーバープロビジョニングに対して予約された領域がありません。書き込み増幅を減らすには、ボリュームの 10% を未使用の状態のままにし、SSD コントローラーがこれをオーバープロビジョニングに使用できるようにすることをお勧めします これにより、使用できるストレージは減りますが、ディスクが総容量に近づいた場合でもパフォーマンスを向上させることができます。

TRIM をサポートするインスタンスストアボリュームの場合、TRIM コマンドを使用して、書き込んだデータが不要になったときはいつでも SSD コントローラーに通知することができます。これにより、より多くの空き領域がコントローラーに与えられ、その結果書き込み増幅が減り、パフォーマンスが向上します。詳細については、「インスタンスストアボリュームの TRIM のサポート」を参照してください。

インスタンスの機能

メモリ最適化インスタンスの機能の概要を以下に示します。

VPC のみ EBS のみ インスタンスストア 配置グループ

R4

はい

はい

はい

R5

はい

はい

はい

R5d

はい

NVME *

はい

X1 はい SSD はい
X1e はい SSD はい

z1d

はい

NVME *

はい

* ルートデバイスボリュームは、Amazon EBS ボリュームにする必要があります。

詳細については、以下を参照してください。

個の vCPU のサポート

メモリ最適化インスタンスは多数の vCPU を提供するため、vCPU の制限が低いオペレーティングシステムで起動の問題が発生することがあります。メモリ最適化インスタンスを起動する場合は、最新の AMI を使用することをお勧めします。

以下の AMI では、メモリ最適化インスタンスの起動がサポートされています。

  • Amazon Linux 2 (HVM)

  • Amazon Linux AMI 2016.03 (HVM) 以降

  • Ubuntu Server 14.04 LTS (HVM)

  • Red Hat Enterprise Linux 7.1 (HVM)

  • SUSE Linux Enterprise Server 12 SP1 (HVM)

  • Windows Server 2016

  • Windows Server 2012 R2

  • Windows Server 2012

  • Windows Server 2008 R2 64 ビット

  • Windows Server 2008 SP2 64 ビット

リリースノート

  • R5、R5d、および z1d インスタンスの要件は以下のとおりです。

    • NVMe ドライバーがインストールされている必要があります。EBS ボリュームは NVMe ブロックデバイスとして公開されます。

    • Elastic Network Adapter (ENA) ドライバーがインストールされている必要があります。

    以下の AMI はこれらの要件を満たしています。

    • Amazon Linux 2

    • Amazon Linux 2014.03 以降

    • Ubuntu 14.04 以降

    • SUSE Linux Enterprise Server 12 以降

    • Red Hat Enterprise Linux 7.4 以降

    • CentOS 7 以降

    • Windows Server 2008 R2 以降

  • Windows Server 2008 SP2 64 ビット AMI を使用して、X1 インスタンス (x1.16xlargeインスタンスは除く) を起動することはできません。

  • Windows Server 2008 SP2 64 ビット AMI を使用して、X1e インスタンスを起動することはできません。

  • Windows Server 2008 R2 64-bit AMI の旧バージョンでは、r4.large および r4.4xlarge インスタンスを起動できません。この問題が発生した場合は、この AMI の最新バージョンに更新してください。

  • R5、R5d、および z1d インスタンスでは ClassicLink はサポートされていません。ClassicLink を使用して、VPC でこれらのインスタンスに EC2-Classic インスタンスをリンクすることはできません。

  • リージョンで起動できるインスタンスの合計数には制限があります。また、一部のインスタンスタイプにはその他の制限もあります。詳細については、「Amazon EC2 で実行できるインスタンスの数はいくつですか?」を参照してください。。制限の引き上げをリクエストするには、Amazon EC2 インスタンス申請フォームを使用します。