

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

# MemoryDB と Amazon VPC
<a name="vpcs"></a>

Amazon Virtual Private Cloud (Amazon VPC) サービスは、従来のデータセンターに非常によく似た仮想ネットワークを定義します。お客様が Amazon VPCで仮想プライベートクラウド（VPC）を設定すると、IP アドレス範囲の選択、サブネットの作成、ルートテーブル、ネットワークゲートウェイ、セキュリティの設定などが可能になります。仮想ネットワークにクラスターを追加でき、Amazon VPC のセキュリティグループを使用して、クラスターへのアクセスを制御できます。

このセクションでは、VPC 内で手動で MemoryDB クラスターを設定する方法を説明します。この情報は、MemoryDB と Amazon VPC との連携について理解を深めたいユーザーを対象としています。

**Topics**
+ [

# MemoryDB と VPC について
](vpcs.mdb.md)
+ [

# Amazon VPC の MemoryDB クラスターにアクセスするためのアクセスパターン
](memorydb-vpc-accessing.md)
+ [

# Virtual Private Cloud (VPC) の作成
](VPCs.creatingVPC.md)

# MemoryDB と VPC について
<a name="vpcs.mdb"></a>

MemoryDB は Amazon VPC と完全に統合されています。MemoryDB ユーザーにとって、これは次のことを意味します。
+ MemoryDB は常に VPC でクラスターを起動します。
+ AWS を初めて使用する場合は、デフォルト VPC が自動的に作成されます。
+ デフォルト VPC をお持ちのお客様が、クラスター起動時にサブネットを指定しなかった場合は、そのクラスターはお客様のデフォルト Amazon VPC で起動されます。

詳細については、「[サポートされているプラットフォームとデフォルト VPC があるかどうかを確認する](https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html#detecting-platform)」を参照してください。

Amazon VPCを使用することによって、従来のデータセンターに非常によく似た仮想ネットワークを AWS クラウド内に作成できます。お客様の VPC はお客様が設定できます。例えば、IP アドレス範囲の選択、サブネットの作成、ルートテーブル、ネットワークゲートウェイ、セキュリティの設定などが可能です。

MemoryDB では、ソフトウェアのアップグレード、パッチ、障害検出、および復旧を管理します。

## VPC での MemoryDB の概要
<a name="memorydbandvpc.overview"></a>
+ VPC は、独自の IP アドレスのブロックが割り当てられた AWS クラウドの独立した部分です。
+ インターネットゲートウェイは VPC を直接インターネットに接続し、他の AWS リソースへのアクセスを提供します。それには、VPC の外部で実行されている Amazon Simple Storage Service (Amazon S3) などのリソースが含まれます。
+ VPC サブネットは、セキュリティおよび運用上のニーズに合わせて AWS リソースを分離できる Amazon VPC の IP アドレス範囲のセグメントです。
+ Amazon VPC セキュリティグループは、MemoryDB クラスターと Amazon EC2 インスタンスのインバウンドとアウトバウンドのトラフィックを制御します。
+ サブネットで MemoryDB クラスターを起動できます。ノードは、サブネットのアドレス範囲のプライベート IP アドレスを持ちます。
+ サブネットで Amazon EC2 インスタンスを起動することもできます。各 Amazon EC2 インスタンスはサブネットのアドレス範囲内のプライベート IP アドレスを持ちます。Amazon EC2 インスタンスは、同じサブネット内のすべてのノードに接続できます。
+ インターネットからアクセス可能な VPC 内の Amazon EC2 インスタンスの場合は、インスタンスに Elastic IP アドレスと呼ばれる静的なパブリックアドレスを割り当てる必要があります。

## 前提条件
<a name="memorydbandvpc.prereqs"></a>

VPC 内に MemoryDB クラスターを作成するには、VPC が次の要件を満たしている必要があります。
+ VPCは、専用ではない Amazon EC2 インスタンスを許可する必要があります。ハードウェア専有インスタンスのテナンシー用に設定された VPC では、MemoryDB を使用できません。
+ VPC 用にサブネットグループを定義する必要があります。MemoryDB はそのキャッシュサブネットグループを使用して、そのサブネット内でノードに関連付けるサブネットおよび IP アドレスを選択します。
+ VPC 用にセキュリティグループを定義する必要があります。または、用意されているデフォルトを使用できます。
+ 各サブネットの CIDR ブロックは、メンテナンス作業で使用する予備の IP アドレスを MemoryDB に提供するのに十分な大きさが必要です。

## ルーティングとセキュリティ
<a name="memorydbandvpc.routingandsecurity"></a>

VPC でルーティングを設定して、トラフィックの送信先（インターネットゲートウェイ、仮想プライベートゲートウェイなど）を制御できます。インターネットゲートウェイの場合、VPC は、同じ VPC で実行されているのではない他の AWS リソースに直接アクセスできます。お客様の組織のローカルネットワークに接続された仮想プライベートゲートウェイのみを選択した場合、VPN 経由でインターネット宛てのトラフィックをルーティングし、ローカルセキュリティポリシーとファイアウォールを使用して出口を制御できます。この場合、インターネット経由で ‭AWS リソースにアクセスする際に、追加の帯域幅料金が発生します。‬‬‬‬

Amazon VPC セキュリティグループを使用して、Amazon VPC 内の MemoryDB クラスターと Amazon EC2 インスタンスをセキュリティで保護することができます。セキュリティグループは、サブネットレベルでなくインスタンスレベルでファイアウォールのように動作します。

**注記**  
基礎となる IP アドレスは変わる可能性があるため、ノードに接続するには DNS 名を使用することを強くお勧めします。

## Amazon VPC ドキュメント
<a name="memorydbandvpc.vpcdocs"></a>

Amazon VPC に関するドキュメントには、Amazon VPC の作成および使用方法について説明する独自のドキュメントがあります。Amazon VPC ガイドの情報の参照先について以下の表にまとめます。


| 説明 | ドキュメント | 
| --- | --- | 
| Amazon VPC の使用を開始する方法 | [Amazon VPC の開始方法](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-getting-started.html) | 
| AWS マネジメントコンソール を通じて Amazon VPC を使用する方法 | [Amazon VPC User Guide](https://docs.aws.amazon.com/vpc/latest/userguide/) | 
| すべての Amazon VPC コマンドの詳細説明 | [Amazon EC2 コマンドラインリファレンス](https://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/) (Amazon VPC コマンドは、Amazon EC2 リファレンスに記載されています) | 
| Amazon VPC API オペレーション、データタイプ、およびエラーの詳細説明 | [Amazon EC2 API リファレンス](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/) (Amazon VPC API オペレーションは、Amazon EC2 リファレンスに記載されています) | 
| オプションとして IPsec VPN 接続のゲートウェイを設定する必要のあるネットワーク管理者向け情報 | [AWS Site-to-Site VPN とは](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) | 

Amazon Virtual Private Cloud の詳細については、「[Amazon Virtual Private Cloud](https://aws.amazon.com/vpc/)」を参照してください。

# Amazon VPC の MemoryDB クラスターにアクセスするためのアクセスパターン
<a name="memorydb-vpc-accessing"></a>

MemoryDB は、Amazon VPC 内のクラスターにアクセスするための以下のシナリオをサポートしています。

**Contents**
+ [

## MemoryDB クラスターと Amazon EC2 インスタンスが同じ Amazon VPC にある場合の MemoryDB クラスターへのアクセス
](#memorydb-vpc-accessing-same-vpc)
+ [

## MemoryDB クラスターと Amazon EC2 インスタンスが異なる Amazon VPC にある場合のアクセス
](#memorydb-vpc-accessing-different-vpc)
  + [同じリージョンの異なる VPC 内](#memorydb-vpc-accessing-different-vpc-same-region)
    + [トランジット・ゲートウェイ の使用](#memorydb-vpc-accessing-using-transit-gateway)
  + [異なるリージョンの異なる VPC 内](#memorydb-vpc-accessing-different-vpc-different-region)
    + [トランジット VPC の使用](#memorydb-vpc-accessing-different-vpc-different-region-using-transit-vpc)
+ [

## 顧客のデータセンター内で実行されるアプリケーションからの MemoryDB クラスターへのアクセス
](#memorydb-vpc-accessing-data-center)
  + [VPN 接続を使用したアクセス](#memorydb-vpc-accessing-data-center-vpn)
  + [Direct Connect の使用](#memorydb-vpc-accessing-data-center-direct-connect)

## MemoryDB クラスターと Amazon EC2 インスタンスが同じ Amazon VPC にある場合の MemoryDB クラスターへのアクセス
<a name="memorydb-vpc-accessing-same-vpc"></a>

最も一般的ユースケースは、EC2 インスタンスにデプロイされたアプリケーションが同じ VPC のクラスターに接続する必要がある場合です。

同じ VPC 内の EC2 インスタンスとクラスター間のアクセスを管理する方法として最も簡単なのは、次の方法です。

1. クラスターの VPC セキュリティグループを作成します。このセキュリティグループを使用して、クラスターへのアクセスを制限できます。例えば、クラスターを作成したときに割り当てたポートと、クラスターにアクセスするのに使用する IP アドレスを使用して TCP へのアクセスを許可する、このセキュリティグループのカスタムルールを作成できます。

   MemoryDB クラスターのデフォルトのポートは `6379` です。

1. EC2 インスタンス (ウェブサーバーとアプリケーションサーバー) 用の VPC セキュリティグループを作成します。このセキュリティグループは、必要に応じて VPC のルーティングテーブルを介してインターネットから EC2 インスタンスへのアクセスを許可できます。例えば、ポート 22 経由で EC2 インスタンスへの TCP アクセスを許可するルールをこのセキュリティグループに設定できます。

1. EC2 インスタンス用に作成したセキュリティグループからの接続を許可するクラスターのセキュリティグループで、カスタムルールを作成します。これは、セキュリティグループのメンバーにクラスターへのアクセスを許可します。

**他のセキュリティグループからの接続を許可する VPC セキュリティグループでルールを作成するには**

1. AWS マネジメントコンソールにサインインして、Amazon VPC コンソール ([https://console.aws.amazon.com/vpc](https://console.aws.amazon.com/vpc)) を開きます。

1. 左のナビゲーションペインで **セキュリティグループ**を選択します。

1. クラスターに使用するセキュリティグループを選択または作成します。**インバウンドルール** で、**インバウンドルールの編集** を選択し、**ルールの追加** を選択します。このセキュリティグループは、他のセキュリティグループのメンバーへのアクセスを許可します。

1. **Type** で **Custom TCP Rule** を選択します。

   1. **Port Range** ポートには、クラスター作成時に使用したポートを指定します。

      MemoryDB クラスターのデフォルトのポートは `6379` です。

   1. **ソース** ボックスに、セキュリティグループの ID の入力を開始します。リストから、Amazon EC2 インスタンスに使用するセキュリティグループを選択します。

1. 終了したら、**保存** を選択します。

## MemoryDB クラスターと Amazon EC2 インスタンスが異なる Amazon VPC にある場合のアクセス
<a name="memorydb-vpc-accessing-different-vpc"></a>

クラスターにアクセスするために使用している EC2 インスタンスとは別の VPC にクラスターがある場合、クラスターにアクセスするにはいくつかの方法がある。クラスターとEC2インスタンスが異なるVPCにあるが、同じリージョンにある場合は、VPCピアリングを使用できる。クラスターとEC2インスタンスが異なるリージョンにある場合、リージョン間でVPN接続を作成できる。

**Topics**
+ [同じリージョンの異なる VPC 内](#memorydb-vpc-accessing-different-vpc-same-region)
+ [異なるリージョンの異なる VPC 内](#memorydb-vpc-accessing-different-vpc-different-region)

 

### MemoryDB クラスターと Amazon EC2 インスタンスが同じリージョン内の異なる Amazon VPC にある場合のアクセス
<a name="memorydb-vpc-accessing-different-vpc-same-region"></a>

*同じリージョンの異なる Amazon VPC で Amazon EC2 インスタンスによってアクセスされるクラスター - VPC ピア接続*

VPC ピア接続は、プライベート IP アドレスを使用して 2 つの VPC 間でトラフィックをルーティングすることを可能にするネットワーク接続です。どちらの VPC のインスタンスも、同じネットワーク内に存在しているかのように、相互に通信できます。VPC ピア接続は、自分の Amazon VPC 間、または、1 つのリージョン内の他の AWS アカウントにある Amazon VPC との間に作成できます。Amazon VPC ピア接続の詳細については、「[VPC ドキュメント](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-peering.html)」を参照してください。

**ピア接続経由で別の Amazon VPC のクラスターにアクセスするには**

1. 2 つの VPC に、重複する IP 範囲がないことを確認します。重複する IP 範囲がある場合、それらをピア接続することができません。

1. 2 つの VPC をピア接続します。詳細については、「[VPC ピア接続の作成と使用](https://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/create-vpc-peering-connection.html)」を参照してください。

1. ルーティングテーブルを更新します。詳細については、「[VPC ピア接続のルートテーブルを更新する](https://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/vpc-peering-routing.html)」を参照してください

1. MemoryDBクラスターのセキュリティグループを変更し、ピアリングされたVPCのApplication Security Groupからのインバウンド接続を許可します。詳細については、「[ピア VPC セキュリティグループの参照](https://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/vpc-peering-security-groups.html)」を参照してください。

ピア接続によりクラスターにアクセスすると、追加のデータ転送コストが発生します。

 

#### トランジット・ゲートウェイ の使用
<a name="memorydb-vpc-accessing-using-transit-gateway"></a>

トランジットゲートウェイを使用すると、同じ AWS リージョンに VPC と VPN 接続をアタッチして、それらの間でトラフィックをルーティングできます。トランジットゲートウェイは AWS アカウント間で機能し、AWS Resource Access Manager を使用してトランジットゲートウェイを他のアカウントと共有できます。他のAWSアカウントとトランジットゲートウェイを共有した後、アカウントの所有者はトランジットゲートウェイにそれらの VPC をアタッチすることができます。どちらのアカウントのユーザーも、アタッチメントをいつでも削除できます。

トランジットゲートウェイでマルチキャストを有効にしてから、ドメインに関連付ける VPC アタッチメントを介してマルチキャストソースからマルチキャストグループメンバーにマルチキャストトラフィックを送信できるようにする トランジットゲートウェイマルチキャストドメインを作成できます。

また、異なるAWSリージョンでトランジットゲートウェイ間にピア接続アタッチメントを作成することもできます。これにより、異なるリージョン間でトランジットゲートウェイのアタッチメント間でトラフィックをルーティングできます。

詳細については、「[トランジットゲートウェイ](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-transit-gateways.html)」を参照してください。

### MemoryDB クラスターと Amazon EC2 インスタンスが異なるリージョン内の異なる Amazon VPC にある場合のアクセス
<a name="memorydb-vpc-accessing-different-vpc-different-region"></a>

#### トランジット VPC の使用
<a name="memorydb-vpc-accessing-different-vpc-different-region-using-transit-vpc"></a>

VPC ピアリングの代わりに使用する、複数の、地理的に離れた VPC とリモートネットワークを接続する別の一般的な方法は、グローバルなネットワーク中継センターとして機能する中継 VPC の作成です。中継 VPC はネットワーク管理を単純化して、複数の VPC とリモートのネットワークを接続するために必要な接続数を最小限に抑えます。この設計は、コロケーション中継ハブを物理的に設立したり、物理的なネットワーク設備をデプロイしたりするための従来の費用をほとんどかけずに実装できるため、時間と労力を節約し、コストも削減できます。

*異なるリージョンの異なる VPC 間での接続*

Transit Amazon VPCが確立されると、あるリージョンの "スポーク "VPCにデプロイされたアプリケーションは、別のリージョン内の "スポーク "VPCにあるMemoryDBクラスターに接続することができます。

**別の AWS リージョン内の異なる VPC のクラスターにアクセスするには**

1. Transit VPC ソリューションをデプロイします。詳細については、「[AWS トランジットゲートウェイ](https://aws.amazon.com/transit-gateway/)」を参照してください。

1. アプリとVPCのVPCルーティングテーブルを更新して、VGW（Virtual Private Gateway）とVPNアプライアンスを経由するトラフィックをルーティングします。ボーダーゲートウェイプロトコル (BGP) を使用した動的ルーティングの場合、ルートは自動的に伝達される可能性があります。

1. MemoryDBクラスターのセキュリティグループを変更して、アプリケーションインスタンスの IP 範囲からのインバウンド接続を許可します。このシナリオでは、アプリケーションサーバーセキュリティグループを参照することはできません。

リージョン間でクラスターにアクセスすると、ネットワークのレイテンシーが生じ、リージョン間のデータ転送コストが追加で発生します。

## 顧客のデータセンター内で実行されるアプリケーションからの MemoryDB クラスターへのアクセス
<a name="memorydb-vpc-accessing-data-center"></a>

もう 1 つのシナリオとして、クライアントまたは顧客のデータセンター内のアプリケーションが VPC の MemoryDB クラスターにアクセスする必要がある場合のようなハイブリッドアーキテクチャが考えられます。このシナリオは、顧客の VPC とデータセンター間で VPN または Direct Connect による接続がある場合にサポートされます。

**Topics**
+ [VPN 接続を使用したアクセス](#memorydb-vpc-accessing-data-center-vpn)
+ [Direct Connect の使用](#memorydb-vpc-accessing-data-center-direct-connect)

 

### 顧客のデータセンター内で実行されるアプリケーションからの VPN 接続を使用した MemoryDB クラスターへのアクセス
<a name="memorydb-vpc-accessing-data-center-vpn"></a>

VPN によるデータセンターから MemoryDB への接続

**VPN 接続経由でオンプレミスアプリケーションから VPC のクラスターにアクセスするには**

1. VPC にハードウェア仮想プライベートゲートウェイを追加して、VPN 接続を確立します。詳細については、「[VPC へのハードウェア仮想プライベートゲートウェイの追加](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)」を参照してください。

1. MemoryDB クラスターがデプロイされているサブネットの VPC ルーティングテーブルを更新して、オンプレミスアプリケーションサーバーからのトラフィックを許可します。BGP を使用した動的ルーティングの場合、ルートは自動的に伝達される可能性があります。

1. MemoryDB クラスターのセキュリティグループを変更して、オンプレミスアプリケーションサーバーからのインバウンド接続を許可します。

VPN 接続経由でクラスターにアクセスすると、ネットワークのレイテンシーが生じ、追加のデータ転送コストが発生します。

 

### 顧客のデータセンター内で実行されるアプリケーションからの Direct Connect を使用した MemoryDB クラスターへのアクセス
<a name="memorydb-vpc-accessing-data-center-direct-connect"></a>

Direct Connect によるデータセンターから MemoryDB への接続

**Direct Connect を使用して、ネットワークで実行されるアプリケーションから MemoryDB クラスターにアクセスするには**

1. Direct Connect 接続を確立します。詳細については、「[AWS Direct Connect 入門ガイド](https://docs.aws.amazon.com/directconnect/latest/UserGuide/getting_started.html)」を参照してください。

1. MemoryDB クラスターのセキュリティグループを変更して、オンプレミスアプリケーションサーバーからのインバウンド接続を許可します。

DX 接続経由でクラスターにアクセスすると、ネットワークのレイテンシーが生じ、追加のデータ転送料金が発生する場合があります。

# Virtual Private Cloud (VPC) の作成
<a name="VPCs.creatingVPC"></a>

この例では、各アベイラビリティーゾーンのプライベートサブネットを持つ Amazon VPCサービスに基づいて仮想プライベートクラウド（VPC）を作成します。

## VPC の作成 (コンソール)
<a name="VPCs.creatingVPCclusters.viewdetails"></a>

**Amazon Virtual Private Cloud 内に MemoryDB キャッシュクラスターを作成するには**

1. AWS マネジメントコンソールにサインインして Amazon VPC コンソール ([https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)) を開きます。

1. VPC ダッシュボードで、**[VPC を作成]** を選択します。

1. **Resources to create** (作成するリソース) で、**VPC only** (VPC など) を選択します。

1. **Number of Availability Zones (AZs)** (アベイラビリティーゾーンの数 (AZ)) で、サブネットを起動するアベイラビリティーゾーンの数を選択します。

1. **Number of public subnets** (パブリックサブネットの数) で、VPC に追加するパブリックサブネットの数を選択します。

1. **Number of private subnets** (プライベートサブネットの数) で、VPC に追加するプライベートサブネットの数を選択します。
**ヒント**  
サブネットの識別子と、どちらがパブリックで、どちらがプライベートであるかを書き留めておきます。この情報は、後でクラスターを起動し、Amazon VPC に Amazon EC2 インスタンスを追加するときに必要になります。

1. Amazon VPC セキュリティグループを作成します。クラスターと Amazon EC2 インスタンスでは、このグループを使用します。

   1. AWS マネジメントコンソール の左のナビゲーションペインで **[セキュリティグループ]** を選択します。

   1. **Create Security Group** (セキュリティグループの作成) を選択します。

   1. 対応するボックスにセキュリティグループの名前と説明を入力します。**[VPC]** の ID を選択します。

   1. すべての設定が正しいことを確認したら、**Yes, Create** を選択します。

1. セキュリティグループのネットワーク Ingress ルールを定義します。このルールは、Secure Shell (SSH) を使用して Amazon EC2 インスタンスに接続することを許可します。

   1. 左のナビゲーションペインで **セキュリティグループ**を選択します。

   1. リストで対象となるセキュリティグループを探して選択します。

   1. **Security Group** の下で、**Inbound** タブを選択します。**Create a new rule** ボックスで、**SSH** を選択し、**Add Rule** を選択します。

      新しいインバウンドルールに次の値を設定して、HTTP へのアクセスを許可します。
      + Type: HTTP
      + ソース: 0.0.0.0/0

   1. 新しいインバウンドルールに次の値を設定して、HTTP へのアクセスを許可します。
      + Type: HTTP
      + ソース: 0.0.0.0/0

      **Apply Rule Changes** を選択します。

これで、VPC内に[サブネットグループ](https://docs.aws.amazon.com/memorydb/latest/devguide/subnetgroups.html)を作成し、[クラスターを作成する](https://docs.aws.amazon.com/memorydb/latest/devguide/getting-started.createcluster.html)準備が整いました。