

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# MemoryDB とは
<a name="what-is-memorydb"></a>

MemoryDB は、超高速パフォーマンスを実現する、耐久性に優れたインメモリデータベースサービスです。マイクロサービスアーキテクチャを備えた最新のアプリケーション専用に構築されています。

MemoryDB は、人気のオープンソースデータストアである Valkey および Redis OSS と互換であり、既に使用されているのと同じ柔軟で使いやすいデータ構造および API、コマンドを使用してアプリケーションを迅速に構築できます。MemoryDB では、すべてのデータがメモリに保存されるため、読み取り (マイクロ秒)、書き込みレイテンシー (数ミリ秒)、高いスループットを実現できます。また、MemoryDB はマルチ AZ トランザクションログを使用して複数のアベイラビリティーゾーン (AZ) にデータを永続的に保存し、迅速なフェイルオーバー、データベースリカバリ、ノード再起動を可能にします。

 メモリ内のパフォーマンスとマルチ AZ の耐久性を兼ね備えた MemoryDB は、マイクロサービスアプリケーションの高性能プライマリデータベースとして使用できるため、キャッシュと耐久性の高いデータベースの両方を個別に管理する必要がありません。

**Topics**
+ [MemoryDB の機能](servicename-feature-overview.md)
+ [MemoryDB コアコンポーネント](components.md)
+ [関連サービス](related-services-choose-between-memorydb-and-redis.md)
+ [リージョンとアベイラビリティーゾーンの選択](regionsandazs.md)
+ [MemoryDB にアクセスする](nodes-connecting.md)
+ [MemoryDB セキュリティ](memorydb-security.md)

# MemoryDB の機能
<a name="servicename-feature-overview"></a>

MemoryDB は、超高速パフォーマンスを実現する、耐久性に優れたインメモリデータベースサービスです。MemoryDB には以下の機能が含まれます。
+ プライマリノードには強固な一貫性を、レプリカノードには最終的な一貫性を保証します。詳細については、「[整合性](consistency.md)」を参照してください。
+ マイクロ秒単位の読み取りと1桁のミリ秒単位の書き込みレイテンシーで、クラスターあたり最大1億6,000万TPSです。
+ 柔軟で使いやすい Valkey および Redis OSS データ構造と API。ほとんど変更を加えずに、新しいアプリケーションの構築や既存の Valkey ベースおよび Redis OSS ベースのアプリケーションの移行を簡単に行うことができます。
+ マルチ AZ トランザクションログを使用したデータ耐久性により、データベースの復旧と再起動を迅速に行えます。
+ 自動フェイルオーバー、ノード障害の検出と復旧によるマルチ AZ の可用性。
+ ノードを追加および削除して、垂直方向にスケールするのは簡単です。ノードタイプを大きくおよび小さいノードタイプに移動して、垂直方向にスケールすることもできます。シャードを追加することで書き込みスループットをスケーリングでき、レプリカを追加することで読み取りスループットをスケーリングできます。
+ プライマリノードでは書き込み後の読み取りの一貫性、レプリカノードでは最終的な整合性が保証されます。
+ MemoryDB は、転送中の暗号化、保存時の暗号化、および [アクセスコントロールリスト (ACL) によるユーザー認証](clusters.acls.md) 経由でのユーザー認証をサポートします。
+ Amazon S3 での自動スナップショット。保存期間は最大 35 日間です。
+ クラスターあたり最大 500 ノードと 100 TB を超えるストレージ (シャードあたり 1 レプリカ) Support。
+ TLS による転送中の暗号化と AWS KMS キーによる保存時の暗号化。
+ Valkey および Redis OSS [アクセスコントロールリスト (ACL) によるユーザー認証](clusters.acls.md) によるユーザー認証と認可。
+ AWS Graviton2 インスタンスタイプSupport。
+ CloudWatch、Amazon VPC、CloudTrail、Amazon SNS などの他の AWS サービスと統合して、モニタリング、セキュリティ、通知を行います。
+ フルマネージド型のソフトウェアパッチ適用とアップグレード。
+ AWS Identity and Access Management (IAM) の統合と管理 API のタグベースのアクセス制御。

# MemoryDB コアコンポーネント
<a name="components"></a>

ここでは、MemoryDB のデプロイメントの主なコンポーネントの概要を確認できます。

**Topics**
+ [クラスター](#whatis.clusters)
+ [ノード](#whatis.components.nodes)
+ [シャード](#whatis.components.Shards)
+ [パラメータグループ](#whatis.components.parametergroups)
+ [サブネットグループ](#whatis.components.subnetgroups)
+ [アクセスコントロールリスト](#whatis.components.acls)
+ [[ユーザー]](#whatis.components.user)

## クラスター
<a name="whatis.clusters"></a>

クラスターは、単一のデータセットを提供する、1 つ以上のノードの集合です。MemoryDB データセットはシャードに分割され、各シャードには、プライマリノードと最大 5 個のリードノードが含まれます。プライマリノードは読み取りリクエストと書き込みリクエストを処理し、レプリカは読み取りリクエストのみを処理します。プライマリノードはレプリカノードにフェイルオーバーして、そのレプリカをそのシャードの新しいプライマリノードに昇格させることができます。MemoryDB はデータベースエンジンとして Valkey または Redis OSS を実行し、クラスターを作成するときにはクラスターのエンジンバージョンを指定します。クラスターを作成および変更するには AWS CLI、、MemoryDB API、または を使用します AWS マネジメントコンソール。

各 MemoryDB クラスターは、Valkey または Redis OSS エンジンバージョンを実行します。エンジンの各バージョンには、独自のサポート機能があります。さらに、エンジンの各バージョンは、パラメータグループに一連のパラメータを保有し、これにより管理するクラスターの動作を制御します。

クラスターの計算容量とメモリの容量は、クラスターのノードタイプによって決まります。お客様のニーズに最も合うノードの種類を選択できます。ニーズが時間の経過と共に変化する場合は、ノードの種類を変更できます。詳細については、「[サポートされているノードの種類](nodes.supportedtypes.md)」を参照してください。

**注記**  
MemoryDB ノードタイプの料金情報については、「[MemoryDB 料金](https://aws.amazon.com/memorydb/pricing/)」を参照してください。

Amazon Virtual Private Cloud (Amazon VPC) サービスを使用して、仮想プライベートクラウド (VPC) 上のクラスターを実行できます。VPC を使用する場合、仮想ネットワーキング環境を制御できます。独自の IP アドレスの範囲を選択し、サブネットを作成してルーティングおよびアクセス制御リストを設定できます。MemoryDB は、スナップショット、ソフトウェアパッチ、自動的な障害検出、および復旧を管理します。VPC でクラスターを実行するために、追加料金はかかりません。MemoryDB で Amazon VPC を使用する方法については、「[MemoryDB と Amazon VPC](vpcs.md)」を参照してください。

クラスターを対象とした多くの MemoryDB オペレーションがあります。
+ クラスターの作成
+ クラスターの変更
+ クラスターのスナップショットの作成
+ クラスターの削除
+ クラスターのエレメントの表示
+ クラスター間で送受信されるコスト配分タグの追加または削除

詳細については、次の関連トピックを参照してください。
+ [クラスターの管理](clusters.md) および [ノードの管理](nodes.md)

  クラスター、ノードおよび関連オペレーションに関する情報。
+ [MemoryDB の耐障害性](disaster-recovery-resiliency.md)

  クラスターの耐障害性向上に関する情報。

## ノード
<a name="whatis.components.nodes"></a>

ノードは MemoryDB デプロイメントの最小構成要素であり、Amazon EC2 インスタンスを使用して実行されます。各ノードは、クラスター作成時に選択したエンジンバージョンを実行します。ノードは、クラスターに属するシャードに属します。

各ノードは、クラスター作成時に選択したバージョンでエンジンのインスタンスを実行します。必要に応じて、クラスター内のノードを別のタイプにスケールアップまたはスケールダウンできます。詳細については、「[Scaling (スケーリング)](scaling.md)」を参照してください。

クラスター内の各ノードは同じノードタイプです。複数のタイプのキャッシュノードがサポートされており、それぞれ異なる量のメモリあります。サポートされているノードタイプについては、「[サポートされているノードの種類](nodes.supportedtypes.md)」を参照してください。

ノードの詳細については、「[ノードの管理](nodes.md)」を参照してください。

## シャード
<a name="whatis.components.Shards"></a>

シャードは 1～6 個のノードをグループ化したもので、1 つはプライマリ書き込みノードとして、残りの 5 つはリードレプリカとして機能します。MemoryDB クラスターには常に少なくとも 1 つのシャードがあります。

MemoryDB クラスターには、最大 500 個のシャードがあり、データはシャード間で分割されます。例えば、83 個のシャード (シャードごとに 1 つのプライマリと 5 レプリカ) と 500 個のシャード (プライマリのみでレプリカなし) の範囲で、500 個のノードクラスターを設定できます。増加に対応できる十分な IP アドレスがあることを確認してください。一般的な落とし穴として、サブネットグループ内のサブネットの CIDR 範囲が小さすぎる、またはサブネットが他のクラスターで共有され、頻繁に使用されていることが挙げられます。

*複数ノードシャード* では、1 つの読み書き可能プライマリノードと 1～5 個のレプリカノードを含めることで、レプリケーションを実装します。詳細については、「[MemoryDB レプリケーションを理解する](replication.md)」を参照してください。

シャードの詳細については、「[シャードの使用](shards.md)」を参照してください。

## パラメータグループ
<a name="whatis.components.parametergroups"></a>

パラメータグループを使用すると、クラスター上のエンジンのランタイム設定を簡単に管理できます。パラメータは、メモリの使用状況、項目サイズなどを制御するために使用されます。MemoryDB パラメータグループはクラスターに適用可能なエンジン固有パラメータの名前付きコレクションであり、クラスター内のノードはすべてまったく同じ方法で設定されます。

MemoryDB パラメータグループの詳細については、「[パラメータグループを使用したエンジンパラメータの設定](parametergroups.md)」を参照してください。

## サブネットグループ
<a name="whatis.components.subnetgroups"></a>

サブネットグループ** は、Amazon Virtual Private Cloud (VPC) 環境で実行しているクラスターに対して指定できるサブネット (通常はプライベート) の集合です。

Amazon VPC でクラスターを作成する場合、サブネットグループを指定するか、デフォルトで提供されるサブネットグループを使用できます。MemoryDB はそのキャッシュサブネットグループを使用して、そのサブネット内でノードに関連付けるサブネットおよび IP アドレスを選択します。

MemoryDB サブネットグループの詳細については、「[サブネットおよびサブネットグループ](subnetgroups.md)」を参照してください。

## アクセスコントロールリスト
<a name="whatis.components.acls"></a>

アクセスコントロールリストは、1 人以上のユーザーのコレクションです。アクセス文字列は、「[ACL ルール](https://valkey.io/topics/acl)」に従い、Valkey または Redis OSS のコマンドとデータへのユーザーアクセスを許可します。

MemoryDB アクセスコントロールリストの詳細については、「[アクセスコントロールリスト (ACL) によるユーザー認証](clusters.acls.md)」を参照してください。

## [ユーザー]
<a name="whatis.components.user"></a>

ユーザーにはユーザー名とパスワードがあり、MemoryDB クラスターのデータへのアクセスやコマンドの発行に使用されます。ユーザーはアクセスコントロールリスト (ACL) のメンバーであり、これを使用して MemoryDB クラスターでのそのユーザーの権限を決定できます。詳細については、[アクセスコントロールリスト (ACL) によるユーザー認証](clusters.acls.md) を参照してください。

# 関連サービス
<a name="related-services-choose-between-memorydb-and-redis"></a>

[ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/whatis.html) 

MemoryDB と ElastiCache のどちらを使用するかを決める際には、以下の比較を検討してください。
+ MemoryDB は、超高速のプライマリデータベースを必要とするワークロード向けの、耐久性に優れたインメモリデータベースです。ワークロードが超高速のパフォーマンス (マイクロ秒の読み取りと 1 桁ミリ秒の書き込みレイテンシー) を提供する耐久性のあるデータベースを必要とする場合は、MemoryDB の使用を検討する必要があります。また、Valkey または Redis OSS のデータ構造と API を使用して、プライマリで耐久性の高いデータベースを使用してアプリケーションを構築したい場合も、MemoryDB が適している可能性があります。最後に、MemoryDB を使用してアプリケーションアーキテクチャを簡素化し、データベースの使用をキャッシュに置き換えて耐久性とパフォーマンスを向上させることで、コストを削減することを検討してください。
+ ElastiCache は、Valkey および Redis OSS を使用して他のデータベースやデータストアからデータをキャッシュするために一般的に使用されるサービスです。既存のプライマリデータベースまたはデータストアによるデータアクセスを高速化 (マイクロ秒単位の読み取り/書き込みパフォーマンス) させるキャッシュワークロードには、ElastiCache を検討すべきです。また、Valkey または Redis OSS のデータ構造と API を使用してプライマリデータベースまたはデータストアに保存されているデータにアクセスする場合にも、ElastiCache を検討する必要があります。

# リージョンとアベイラビリティーゾーンの選択
<a name="regionsandazs"></a>

AWS クラウドコンピューティングリソースは、高可用性データセンター設備に収容されています。スケーラビリティと信頼性を向上させるために、これらのデータセンターの設備は物理的に異なる場所に配置されています。これらの場所は、*リージョン*と*アベイラビリティーゾーン*に分類されます。

AWS リージョンは大きく、広く分散した地理的な場所です。アベイラビリティーゾーンとは、別のアベイラビリティーゾーンで発生した障害から隔離するために作られた AWS リージョン内の場所です。アベイラビリティーゾーンは、同じ AWS リージョン内の他のアベイラビリティーゾーンに低価格かつ低レイテンシーのネットワーク接続を提供します。

**重要**  
各リージョンは完全に独立しています。お客様が開始した MemoryDB のアクティビティ (例えば、クラスターの作成) は、現在のデフォルトリージョンでのみ実行されます。

特定のリージョン内のクラスターを作成または操作するには、対応するリージョンのサービスエンドポイントを使用します。サービスエンドポイントについては、「[MemoryDB マルチリージョン](multi-region.md)」を参照してください。

MemoryDB マルチリージョンにより、可用性と回復力の両方を向上できます。さらに、マルチリージョンアプリケーションの場合は、ローカルでの低レイテンシーの読み取りと書き込みというメリットも得られます。MemoryDB マルチリージョンの操作については、「[サポートされているリージョンおよびエンドポイント](#supportedregions)」を参照してください。

## ノードの配置
<a name="regionsandazs.AZMode"></a>

少なくとも 1 つのレプリカを持つクラスターは、AZ にまたがっている必要があります。単一の AZ 内のすべてを検索できる唯一の方法は、単一ノードのシャードで構成されるクラスターを使用することです。

ノードを異なる AZ に配置することで、MemoryDB は 1 つの AZ で停電などの障害が発生した場合に可用性が失われる可能性を排除します。
+ [MemoryDB クラスターの作成](getting-started.md#clusters.create)
+ [MemoryDB クラスターの変更](clusters.modify.md)

## サポートされているリージョンおよびエンドポイント
<a name="supportedregions"></a>

MemoryDB は、複数の AWS リージョンで利用可能です。つまり、要件に合った場所で MemoryDB クラスターを起動できます。例えば、お客様の最寄りの AWS リージョンで起動するか、特定の AWS リージョンで起動して特定の法的要件を満たすことができます。さらに、MemoryDB が新しい AWS リージョンでも利用可能になると、そのリージョンでは、EmoryDB はその時点で最新の 2 つの `MAJOR.MINOR` バージョンをサポートします。バージョンの詳細については、「[エンジンバージョン](engine-versions.md)」を参照してください。

デフォルトでは、AWS SDK、AWS CLI、MemoryDB API、および MemoryDB コンソールは米国東部 (バージニア北部) リージョンを参照します。MemoryDB が新しいリージョンで利用できるようになるにつれ、これらのリージョン用の新しいエンドポイントも、HTTPリクエスト、AWS SDK、AWS CLI、コンソールで使用できるようになります。

各リージョンは、他のリージョンと完全に分離されるように設計されています。各リージョンには複数のアベイラビリティーゾーン (AZ) があります。別のアベイラビリティーゾーンのノードを起動して、最大限の耐障害性を実現できます。リージョンとアベイラビリティーゾーンの詳細については、このトピックの最初の「[リージョンとアベイラビリティーゾーンの選択](#regionsandazs)」を参照してください。


**MemoryDB がサポートされているリージョン**  

| リージョン名/リージョン | エンドポイント | プロトコル | 
| --- | --- | --- | 
| 米国東部 (オハイオ) リージョン `us-east-2` | `memory-db.us-east-2.amazonaws.com` | HTTPS | 
| 米国東部(バージニア州北部) リージョン `us-east-1` | `memory-db.us-east-1.amazonaws.com` | HTTPS | 
| US West (N. California) リージョン `us-west-1` | `memory-db.us-west-1.amazonaws.com` | HTTPS | 
| 米国西部 (オレゴン) リージョン `us-west-2` | `memory-db.us-west-2.amazonaws.com` | HTTPS | 
| カナダ (中部) リージョン `ca-central-1` | `memory-db.ca-central-1.amazonaws.com` | HTTPS | 
| アジアパシフィック (香港) リージョン `ap-east-1` | `memory-db.ap-eastl-1.amazonaws.com` | HTTPS | 
| アジアパシフィック (ムンバイ) リージョン `ap-south-1` | `memory-db.ap-south-1.amazonaws.com` | HTTPS | 
| アジアパシフィック (東京) リージョン `ap-northeast-1` | `memory-db.ap-northeast-1.amazonaws.com` | HTTPS | 
| Asia Pacific (Seoul) Region `ap-northeast-2` | `memory-db.ap-northeast-2.amazonaws.com` | HTTPS | 
| アジアパシフィック (シンガポール) リージョン `ap-southeast-1` | `memory-db.ap-southeast-1.amazonaws.com` | HTTPS | 
| アジアパシフィック (シドニー) リージョン `ap-southeast-2` | `memory-db.ap-southeast-2.amazonaws.com` | HTTPS | 
| 欧州 (フランクフルト) リージョン `eu-central-1` | `memory-db.eu-central-1.amazonaws.com` | HTTPS | 
| 欧州 (アイルランド) リージョン `eu-west-1` | `memory-db.eu-west-1.amazonaws.com` | HTTPS | 
| 欧州 (ロンドン) リージョン `eu-west-2` | `memory-db.eu-west-2.amazonaws.com` | HTTPS | 
| 欧州 (パリ) リージョン `eu-west-3` | `memory-db.eu-west-3.amazonaws.com` | HTTPS | 
| 欧州 (ストックホルム) リージョン `eu-north-1` | `memory-db.eu-north-1.amazonaws.com` | HTTPS | 
| 欧州 (ミラノ) リージョン `eu-south-1` | `memory-db.eu-south-1.amazonaws.com` | HTTPS | 
| 欧州 (スペイン) リージョン `eu-south-2` | `memory-db.eu-south-2.amazonaws.com` | HTTPS | 
| 南米 (サンパウロ) リージョン `sa-east-1` | `memory-db.sa-east-1.amazonaws.com` | HTTPS | 
| 中国 (北京) リージョン `cn-north-1` | `memory-db---cn-north-1.amazonaws.com.rproxy.goskope.com.cn` | HTTPS | 
| 中国 (寧夏) リージョン `cn-northwest-1` | `memory-db---cn-northwest-1.amazonaws.com.rproxy.goskope.com.cn` | HTTPS | 

リージョンごとの AWS 製品およびサービスの表については、「[リージョンごとの製品とサービス](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/)」を参照してください。

リージョン内でサポートされているアベイラビリティーゾーンのテーブルについては、「[サブネットおよびサブネットグループ](subnetgroups.md)」を参照してください。

# MemoryDB にアクセスする
<a name="nodes-connecting"></a>

 MemoryDB クラスターの各エンドポイントには、アドレスとポートが含まれています。このクラスターエンドポイントは Valkey および Redis OSS クラスタープロトコルをサポートしているため、クライアントはクラスター内の各ノードの特定のロール、IP アドレス、スロットを検出できます。プライマリノードに障害が発生し、代わりにレプリカがプロモートされた場合、Valkey または Redis OSS クラスタープロトコルを使用してクラスターエンドポイントに接続し、新しいプライマリノードを検出できます。

 **cluster nodes** または **cluster slots** コマンドを使用してノードエンドポイントを検出するには、クラスターエンドポイントに接続する必要があります。キーに適したノードが見つかったら、そのノードに直接接続して読み取り/書き込みリクエストを行うことができます。Valkey または Redis OSS クライアントはクラスターエンドポイントを使用して自動的に正しいノードに接続できます。

クラスター内の特定のノードをトラブルシューティングするには、ノード固有のエンドポイントを使用することもできますが、通常の使用では必要ありません。

 クラスターのエンドポイントを見つけるには、以下を参照してください。
+ [(AWS CLI) MemoryDB クラスターのエンドポイントの検索](endpoints.md#endpoints.find.cli)
+ [MemoryDB クラスターのエンドポイントを検索する (MemoryDB API)](endpoints.md#endpoints.find.api)

ノードまたはクラスターへの接続については、「[redis-cli を使用して MemoryDB ノードに接続する](getting-started.md#connect-tls)」を参照してください。

# MemoryDB セキュリティ
<a name="memorydb-security"></a>

MemoryDB のセキュリティは次の 3 つのレベルで管理されます。
+ MemoryDB クラスターと ノードに対する Amazon RDS 管理アクションを実行できるユーザーを管理するには、AWS Identity and Access Management (IAM)を使用します。IAM 認証情報を使用して AWS に接続するとき、‭AWS‬ アカウントには、オペレーションの実行に必要なアクセス許可を付与する IAM ポリシーが必要です。詳細については、[MemoryDB でのアイデンティティとアクセス権の管理](iam.md)を参照してください。
+ クラスターへのアクセスレベルを制御するには、指定された権限を持つユーザーを作成し、アクセスコントロールリスト (ACL) に割り当てます。次に ACL は 1 つ以上のクラスターに関連付けられます。詳細については、「[アクセスコントロールリスト (ACL) によるユーザー認証](clusters.acls.md)」を参照してください。
+ MemoryDB クラスターは、Amazon VPC サービスに基づいて 仮想プライベートクラウド (VPC) で作成する必要があります。VPC 内の MemoryDB クラスター用のノードのエンドポイントとポートへの接続を開くことができるデバイスと Amazon EC2 インスタンスを制御するには、VPC セキュリティグループを使用します。これらのエンドポイントおよびポートの接続には TLS/SSL (Transport Layer Security/Secure Sockets Layer) を使用できます。さらに、ファイアウォールルールは、動作しているデバイスが MemoryDB クラスターへの接続を開くことができるかどうかを制御することができます。VPC の詳細については、「[MemoryDB と Amazon VPC](vpcs.md)」を参照してください。

セキュリティ設定の詳細については、「[MemoryDB 内のセキュリティ](security.md)」を参照してください。