Hello Alain,

We switched from EC2 to VPC a couple of years ago.  The process for us was 
long, slow, and multi step for our (at the time) 6 node cluster.

In our case, we don't need to consider multi-DC.  However, in our 
infrastructure we were rapidly running out of IP addresses, and wished to move 
to VPC to give us a nearly inexhaustible supply.  In addition, AWS VPC gives us 
an additional layer of security for our Cassandra cluster. 

To do this, we setup our VPC to have both private and public subnets.  Public 
subnets were accessible to the Internet (when instances were assigned a public 
IP), while private subnets could not (although instances on the subnet could 
access the Internet via a NAT instance).  We wished for to be Cassandra on the 
private subnet.  However, this introduced a complication.  EC2 instances would 
not be able to communicate directly to our VPC instances on a private subnet. 

So, to achieve this, while still having an operating Cassandra DB without 
downtime, we essentially had to stage Cassandra instances on our public subnet, 
assigning IPs and reconfiguring nodes until we had a mixed EC2/VPC Public 
subnet cluster, then start moving systems to the private subnet, continuing the 
process until all instances were on a private subnet.  During the process we 
carefully orchestrated configuration like broadcast and seeds to make sure the 
cluster continued to function properly and all nodes could communicate with 
each other.  We also had to carefully orchestrate the assigning of AWS security 
groups to make sure everyone could talk to each other during this process.

Also keep in mind that the use of public IPs for communications will add to 
your AWS costs.  During our transition we had to do this for a short time while 
EC2 instances were communicating with VPC instances, but we were able to switch 
to 100% internal IPs when we completed (you will still get inter availability 
zone charges regardless)

This process was complex enough that I wrote detailed series of steps, for each 
node in our cluster.

-Mike
 

________________________________
 From: Alain RODRIGUEZ <arodr...@gmail.com>
To: user@cassandra.apache.org 
Sent: Thursday, June 5, 2014 8:12 AM
Subject: VPC AWS
 


Hi guys,

We are going to move from a cluster made of simple Amazon EC2 servers to a VPC 
cluster. We are using Cassandra 1.2.11 and I have some questions regarding this 
switch and the Cassandra configuration inside a VPC.

Actually I found no documentation on this topic, but I am quite sure that some 
people are already using VPC. If you can point me to any documentation 
regarding VPC / Cassandra, it would be very nice of you. We have only one DC 
for now, but we need to remain multi DC compatible, since we will add DC very 
soon.

Else, I would like to know if I should keep using EC2MultiRegionSnitch or 
change the snitch to anything else.

What about broadcast/listen ip, seeds...?

We currently use public ip as for broadcast address and for seeds. We use 
private ones for listen address. Machines inside the VPC will only have private 
IP AFAIK. Should I keep using a broadcast address ?

Is there any other incidence when switching to a VPC ?

Sorry if the topic was already discussed, I was unable to find any useful 
information...

Reply via email to