How to assign floating ip address using terraform?

January 26, 2017 187 views
Networking CentOS

I'm unable to join floating ip and droplet creation.

# I create a resource:
resource "digitalocean_droplet" "mail" {
  image = "centos-7-x64"
  name = "mail"
  region = "${var.region}"
  size = "2gb"
  private_networking = true
}
#I create a floating ip:
resource "digitalocean_floating_ip" "mail" {
  droplet_id = "${digitalocean_droplet.mail.id}"
  region = "${var.region}"
}

The IDs are the same, but the IP's are not.

$ doctl compute droplet list
ID      Name    Public IPv4 Public IPv6 Memory  VCPUs   Disk    Region  Image           Status  Tags
38296000    mail    188.166.174.104         2048    2   40  lon1    CentOS 7.3.1611 x64 active  
$ doctl compute fip list
IP      Region  Droplet ID  Droplet Name
67.207.68.145   lon1    38296000    mail

How do I get the droplet to take the floating IP address?

Thanks,

1 Answer

When you assign a floating IP address to a droplet you're actually just adding an additional IPv4 interface. Meaning that your droplet is now accessible by two public IP addresses, the IP address assigned to the droplet originally and the new floating IP.

So in your case, you were actually successful in assigning the floating IP. Your droplet (ID# 38296000) is reachable at both 188.166.174.104, the IP assigned to the droplet when it was created, and 67.207.68.145, the floating IP.

These two tutorials provide helpful information regarding setting up and implementing floating IPs:

Hope this helps. Good Luck!

A DigitalOcean Floating IP is a publicly-accessible static IP address that can be mapped to one of your Droplets. A Floating IP can also be instantly remapped, via the DigitalOcean Control Panel or API, to one of your other Droplets in the same datacenter. This instant remapping capability grants you the ability to design and create High Availability (HA) server infrastructures by adding redundancy to the entry point, or gateway, to your servers.
Have another answer? Share your knowledge.