It turns out that it's pretty easy to connect to EC2 by using Quagga with Debian Linux.
/etc/network/interfaces
auto lo
iface lo inet loopback
allow-hotplug eth0
iface eth0 inet static
address 10.x.x.x
netmask 255.255.255.0
network 10.x.x.x
broadcast 10.x.x.x
gateway 10.x.x.x
allow-hotplug eth1
iface eth1 inet static
address 169.254.237.18
netmask 255.255.255.252
network 169.254.237.16
broadcast 169.254.237.19
/etc/quagga/bgpd.conf
!
! Zebra configuration saved from vty
! 2006/06/09 16:13:05
!
hostname rr1-bgp
password zebra
enable password zebra
log file /var/log/quagga/bgpd.log
!
router bgp 65000
neighbor 169.254.237.17 remote-as 7224
neighbor 169.254.237.17 password PASSWORD_FROM_AWS_CONSOLE
network 10.10.21.0/24
!
line vty
However, as Quagga does not really support BFD we also gave BIRD (http://bird.network.cz) a try. A connection can be established with both, but I think it's better to support BFD on our side, too.
/etc/bird.conf
router id 169.254.237.18;
#debug protocols all;
protocol direct {
interface "eth0";
}
protocol kernel {
persist;
scan time 20;
export all;
}
protocol device {
scan time 100;
}
protocol bgp {
description "My BGP link";
local as 65000;
neighbor 169.254.237.17 as 7224;
password "PASSWORD_FROM_AWS_CONSOLE";
export all;
bfd on;
}
protocol bfd {
interface "eth*" {
min rx interval 5000 ms;
min tx interval 5000 ms;
idle tx interval 5000 ms;
};
multihop {
interval 200 ms;
multiplier 10;
};
neighbor 169.254.237.17;
}