Vultr Firewall groups allow you to create rules that filter incoming network traffic to an instance. Firewall rules define the network ports and services to control, filter, and secure network connections to the instance.
Follow this guide to enable a Vultr Firewall group on a Vultr Optimized Cloud Compute instance using the Vultr Customer Portal, API, CLI, or Terraform.
Send a GET
request to the List Instances endpoint and note your target instance's ID.
$ curl "https://api.vultr.com/v2/instances" \
-X GET \
-H "Authorization: Bearer ${VULTR_API_KEY}"
Send a GET
request to the List Firewall Groups endpoint to list all available firewall groups.
$ curl "https://api.vultr.com/v2/firewalls" \
-X GET \
-H "Authorization: Bearer ${VULTR_API_KEY}"
Send a PATCH
request to the Update Instance endpoint to attach a firewall group to the instance.
$ curl "https://api.vultr.com/v2/instances/{instance-id}" \
-X PATCH \
-H "Authorization: Bearer ${VULTR_API_KEY}" \
-H "Content-Type: application/json" \
--data '{
"firewall_group_id" : "<firewall-id>",
}'
List all available firewall groups and note the target firewall group's ID.
$ vultr-cli firewall group list
List all available instances and note your target instance's ID.
$ vultr-cli instance list
Attach the firewall group to the instance.
$ vultr-cli instance update-firewall-group --instance-id <instance-id> --firewall-group-id <firewall-id>
Open your Terraform configuration for the existing Optimized Cloud Compute instance.
Create or reference a vultr_firewall_group
resource and attach it to the instance.
# Create a firewall group
resource "vultr_firewall_group" "web" {
description = "Web server firewall group"
}
# Add example rules to the group
resource "vultr_firewall_rule" "allow_http" {
firewall_group_id = vultr_firewall_group.web.id
protocol = "tcp"
ip_type = "v4"
subnet = "0.0.0.0"
subnet_size = 0
port = "80"
}
resource "vultr_firewall_rule" "allow_https" {
firewall_group_id = vultr_firewall_group.web.id
protocol = "tcp"
ip_type = "v4"
subnet = "0.0.0.0"
subnet_size = 0
port = "443"
}
# Attach the firewall group to the instance
resource "vultr_instance" "occ" {
# ...existing fields (region, plan, os_id, label, etc.)
firewall_group_id = vultr_firewall_group.web.id
}
Apply the configuration and observe the following output:
Apply complete! Resources: 3 added, 0 changed, 0 destroyed.
No comments yet.