すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:永続メモリ搭載インスタンスへの Redis アプリケーションのデプロイ

最終更新日:Apr 11, 2026

re6p-redis などの永続メモリインスタンスは、高い CPU 対メモリ比を提供します。これにより、メモリ 1 GiB あたりのコストを大幅に削減して Redis アプリケーションを実行できます。このトピックでは、複数のオペレーティングシステム向けに、これらのインスタンスに Redis アプリケーションを迅速にデプロイする方法について説明します。

背景情報

本トピックで説明する Redis アプリケーションを迅速にデプロイする手順は、特定のインスタンスタイプとイメージバージョンに適用されます。要件は次のとおりです:

  • インスタンスタイプ:ecs.re6p-redis.large、ecs.re6p-redis.xlarge、ecs.re6p-redis.2xlarge、ecs.re6p-redis.4xlarge、ecs.re6p-redis.13xlarge

  • イメージバージョン

    • Alibaba Cloud Linux 2

    • CentOS 7.6 以降

    • Ubuntu 18.04 および 20.04

Alibaba Cloud Linux 2 での Redis アプリケーションのデプロイ

Alibaba Cloud Linux 2 は Redis アプリケーション用に特別に最適化されています。コミュニティオペレーティングシステムと比較して、Redis アプリケーションの全体的なパフォーマンスを 20% 以上向上させます。

Alibaba Cloud Linux 2 には、Redis 6.0.5 および Redis 3.2.12 用の yum ソースが組み込まれています。sudo yum install コマンドを実行して、これらのバージョンをデプロイできます。他のバージョンの Redis を手動でデプロイすることも可能です。詳細については、「CentOS での Redis アプリケーションのデプロイ」と「Ubuntu での Redis アプリケーションのデプロイ」をご参照ください。

このセクションで使用するリソースは次のとおりです:

  • インスタンスタイプ:ecs.re6p-redis.2xlarge

  • イメージ:Alibaba Cloud Linux 2.1903 LTS 64 ビット

  1. 永続メモリインスタンスを購入します。

    詳細については、「カスタムインスタンスの作成」をご参照ください。次の設定にご注意ください。

    • インスタンス:[x86-Compute] アーキテクチャセクションで、メモリ最適化タイプ をクリックし、ecs.re6p-redis.2xlarge インスタンスタイプを選択します。

    • イメージ:Alibaba Cloud Linux 2.1903 LTS 64 ビットを選択します。

  2. インスタンスにログインします。

    詳細については、「接続方法」をご参照ください。

  3. 必要に応じて Redis 6.0.5 または Redis 3.2.12 をデプロイします。

    • Redis 6.0.5 をデプロイする場合:

      sudo yum install -y alinux-release-experimentals && \
      sudo yum install -y redis-6.0.5
    • Redis 3.2.12 をデプロイする場合:

      sudo yum install -y alinux-release-experimentals && \
      sudo yum install -y redis-3.2.12
  4. Redis アプリケーションを起動し、DRAM と永続メモリの容量を設定します。

    コマンド例は次のとおりです。

    • 推奨される DRAM と永続メモリの比率は 1:4 です。

      export MEMKIND_DAX_KMEM_NODES=1 && \
      sudo redis-server /etc/redis.conf --port 8369 --memory-alloc-policy ratio --dram-pmem-ratio 1 4 --hashtable-on-dram yes --daemonize yes --logfile /tmp/redis_8369.log --protected-mode no --bind 0.0.0.0
    • DRAM と永続メモリの比率をカスタマイズして、他のアプリケーション用に DRAM を確保することもできます。たとえば、比率を 1:16 に設定し、2 GiB の DRAM と 32 GiB の永続メモリで構成される 34 GiB のメモリを割り当てることができます。

      export MEMKIND_DAX_KMEM_NODES=1 && \
      sudo redis-server /etc/redis.conf --port 8369 --memory-alloc-policy ratio --dram-pmem-ratio 1 16 --maxmemory 34G

CentOS での Redis アプリケーションのデプロイ

このセクションで使用するリソースとソフトウェアは次のとおりです:

  • インスタンスタイプ:ecs.re6p-redis.2xlarge

  • イメージ:CentOS 7.6

  • Redis:Redis 4.0.14

  • memkind:memkind 1.10.1-rc2

説明

先に進む前に、リソースが https://github.com/ からダウンロードされていることを確認してください。ダウンロードに失敗した場合は、成功するまでコマンドを再実行してください。

  1. 永続メモリインスタンスを購入します。

    詳細については、「カスタムインスタンスの作成」をご参照ください。次の設定にご注意ください。

    • インスタンス:[x86-Compute] アーキテクチャセクションで、 メモリ最適化タイプ をクリックし、ecs.re6p-redis.2xlarge インスタンスタイプを選択します。

    • イメージ:CentOS 7.6 (64 ビット) を選択します。

  2. インスタンスにログインします。

    詳細については、「接続方法」をご参照ください。

  3. コンパイル環境を準備します。

    export MEMKIND_DAX_KMEM_NODES=1 && \
    sudo yum -y install numactl-devel.x86_64 && \
    sudo yum -y groupinstall 'Development Tools'
  4. Redis 4.0.14 のソースコードを準備します。

    sudo wget https://github.com/redis-io/redis/archive/4.0.14.tar.gz && \
    sudo wget https://github.com/redis/redis/compare/4.0.14...tieredmemdb:4.0.14-devel.diff -O redis_4.0.14_diff_tieredmemdb.patch && \
    tar xzvf 4.0.14.tar.gz && \
    cd redis-4.0.14 && \
    git apply --ignore-whitespace ../redis_4.0.14_diff_tieredmemdb.patch
    説明

    このパッチは永続メモリを有効にするために使用されます。Redis のバージョンが異なると、必要なパッチも異なります。詳細については、「永続メモリを有効にするためのパッチのダウンロード」をご参照ください。

  5. memkind のソースコードを準備します。

    memkind は、永続メモリの割り当てと管理に使用されるメモリ管理ツールです。

    1. memkind ソースコードのダウンロード

      sudo wget https://github.com/memkind/memkind/archive/v1.10.1-rc2.tar.gz && \
      tar xzvf v1.10.1-rc2.tar.gz && \
      mv memkind-1.10.1-rc2/* ./deps/memkind
    2. オプション:makefile の調整

      説明

      ldd --version を実行して glibc のバージョンを確認できます。glibc のバージョンが 2.17 以降の場合は、次の手順をスキップして Redis を直接コンパイルできます。

      cd ./deps/memkind && \
      sudo wget https://github.com/memKeyDB/memKeyDB/wiki/files/0001-Use-secure_getenv-when-possible.patch && \
      git apply --ignore-whitespace 0001-Use-secure_getenv-when-possible.patch && \
      cd ../../
      説明

      パッチのダウンロードに失敗した場合は、コマンドを再実行するときに cd ./deps/memkind && \ を含めないでください。

  6. Redis をコンパイルしてインストールします。

    make clean && \
    make distclean && \
    make MALLOC=memkind -j 4 && \
    sudo make install
  7. Redis アプリケーションを起動し、DRAM と永続メモリの容量を設定します。

    コマンド例は次のとおりです。

    説明

    /home/user を実際のユーザーフォルダーへのパスに置き換えてください。

    • 推奨される DRAM と永続メモリの比率は 1:4 です。

      redis-server /home/user/redis-4.0.14/redis.conf --port 8369 --memory-alloc-policy ratio --dram-pmem-ratio 1 4 --hashtable-on-dram yes --daemonize yes --logfile /tmp/redis_8369.log --protected-mode no --bind 0.0.0.0
    • DRAM と永続メモリの比率をカスタマイズして、他のアプリケーション用に DRAM を確保することもできます。たとえば、比率を 1:16 に設定し、2 GiB の DRAM と 32 GiB の永続メモリで構成される 34 GiB のメモリを割り当てることができます。

      redis-server /home/user/redis-4.0.14/redis.conf --port 8369 --memory-alloc-policy ratio --dram-pmem-ratio 1 16 --maxmemory 34G

Ubuntu での Redis アプリケーションのデプロイ

このセクションで使用するリソースとソフトウェアは次のとおりです:

  • インスタンスタイプ:ecs.re6p-redis.2xlarge

  • イメージ:Ubuntu 20.04

  • Redis:Redis 6.2.5

  • memkind:memkind 1.10.1-rc2

説明

先に進む前に、リソースが https://github.com/ からダウンロードされていることを確認してください。ダウンロードに失敗した場合は、成功するまでコマンドを再実行してください。

  1. 永続メモリインスタンスを購入します。

    詳細については、「カスタムインスタンスの作成」をご参照ください。次の設定にご注意ください。

    • インスタンス:[x86-Compute] アーキテクチャセクションで、 メモリ最適化タイプ をクリックし、ecs.re6p-redis.2xlarge インスタンスタイプを選択します。

    • イメージ:Ubuntu 20.04 64 ビットを選択します。

  2. インスタンスにログインします。

    詳細については、「接続方法」をご参照ください。

  3. コンパイル環境を準備します。

    export MEMKIND_DAX_KMEM_NODES=1 && \
    sudo apt update && \
    sudo apt -y install git && \
    sudo apt install -y libnuma-dev && \
    sudo apt install -y numactl
  4. Redis 6.2.5 のソースコードを準備します。

    sudo wget https://download.redis.io/releases/redis-6.2.5.tar.gz && \
    sudo wget https://github.com/redis/redis/compare/6.2.5...tieredmemdb:6.2.5-devel.diff -O redis_6.2.5_diff_tieredmemdb.patch && \
    tar xzf redis-6.2.5.tar.gz && \
    cd redis-6.2.5 && \
    git apply --ignore-whitespace ../redis_6.2.5_diff_tieredmemdb.patch
    説明

    このパッチは永続メモリを有効にするために使用されます。Redis のバージョンが異なると、必要なパッチも異なります。詳細については、「永続メモリを有効にするためのパッチのダウンロード」をご参照ください。

  5. memkind のソースコードを準備します。

    memkind は、永続メモリの割り当てと管理に使用されるメモリ管理ツールです。

    1. memkind ソースコードのダウンロード

      sudo wget https://github.com/memkind/memkind/archive/v1.10.1-rc2.tar.gz && \
      tar xzvf v1.10.1-rc2.tar.gz && \
      mv memkind-1.10.1-rc2/* ./deps/memkind/
    2. makefile の調整

      説明

      ldd --version を実行して glibc のバージョンを確認できます。glibc のバージョンが 2.17 以降の場合は、次の手順をスキップして Redis を直接コンパイルできます。

      cd ./deps/memkind && \
      sudo wget --no-check-certificate https://github.com/memKeyDB/memKeyDB/wiki/files/0001-Use-secure_getenv-when-possible.patch && \
      git apply --ignore-whitespace 0001-Use-secure_getenv-when-possible.patch && \
      cd ../../
      説明

      パッチのダウンロードに失敗した場合は、コマンドを再実行するときに cd ./deps/memkind && \ を含めないでください。

  6. Redis をコンパイルしてインストールします。

    make clean && \
    make distclean && \
    make MALLOC=memkind -j 4 && \
    sudo make install
  7. Redis アプリケーションを起動し、DRAM と永続メモリの容量を設定します。

    コマンド例は次のとおりです。

    説明

    /home/user を実際のユーザーフォルダーへのパスに置き換えてください。

    • 推奨される DRAM と永続メモリの比率は 1:4 です。

      redis-server /home/user/redis-6.2.5/redis.conf --port 8369 --memory-alloc-policy ratio --dram-pmem-ratio 1 4 --hashtable-on-dram yes --daemonize yes --logfile /tmp/redis_8369.log --protected-mode no --bind 0.0.0.0
    • DRAM と永続メモリの比率をカスタマイズして、他のアプリケーション用に DRAM を確保することもできます。たとえば、比率を 1:16 に設定し、2 GiB の DRAM と 32 GiB の永続メモリで構成される 34 GiB のメモリを割り当てることができます。

      redis-server /home/user/redis-6.2.5/redis.conf --port 8369 --memory-alloc-policy ratio --dram-pmem-ratio 1 16 --maxmemory 34G

永続メモリを有効にするためのパッチのダウンロード

コマンド例のダウンロード URL と、ファイル名に含まれるバージョン番号を置き換えてください。たとえば、Redis 6.2.5 用のパッチをダウンロードするコマンドは次のようになります。

sudo wget https://github.com/redis/redis/compare/6.2.5...tieredmemdb:6.2.5-devel.diff -O redis_6.2.5_diff_tieredmemdb.patch

サポートされているパッチのダウンロード URL は次のとおりです。