Skip to content

NAT Adapter on Amazon EC2

Takuya ASADA edited this page Jul 6, 2015 · 3 revisions

Create EC2 instance

  1. Press "Launch Instance" on EC2
  2. In Quick Start tab, select "Ubuntu Server 14.04 LTS (HVM), SSD Volume Type"
  3. Select c4.xlarge
  4. On Auto-assign Public IP, select Enable
  5. Press Review and Launch
  6. Press Edit Security Group, add All traffic - All - 0 - 65535 - Custom IP: for incoming connection test
  7. Press Review and Launch, then press Launch

Install SeaStar on EC2 instance

Install required packages:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get install software-properties-common python-software-properties
sudo apt-get update
sudo apt-get install libaio-dev ninja-build ragel libhwloc-dev libnuma-dev libpciaccess-dev libcrypto++-dev libboost-all-dev python3.4 make git g++-4.9 gcc-4.9-multilib g++-4.9-multilib linux-image-extra-3.13.0-48-generic iperf nginx uml-utilities bridge-utils

Checkout source code, then build it:

git clone https://github.com/syuu1228/seastar.git -b nat-adapter-dev2
cd seastar
rm -rf dpdk
git clone https://github.com/cloudius-systems/dpdk.git
./configure.py --disable-xen --enable-dpdk --compiler=g++-4.9
ninja

Prepare bridge manually instead of using scripts/install.sh, since nmcli on Ubuntu 14.04 doesn't compatible with our script:

cat > bridge.sh << EOS
#!/bin/sh

killall dhclient
ifconfig eth0 0.0.0.0
brctl addbr br0
brctl addif br0 eth0
dhclient br0
EOS

Launch SeaStar with NAT adapter

Create bridge, then run SeaStar on tmux. tmux is required, otherwise SeaStar process dies on network connection lost.

cd seastar
sudo sh bridge.sh
cd scripts
tmux -c "sudo sh -e run.sh nat.config"