Provision Firewall với Terraform

Cập nhật lần cuối: 2025/04/14 14:46:18

ĐIỀU KIỆN

  • Cài đặt phiên bản Terraform từ v1.8 trở lên.
  • Cài đặt Go phiên bản từ 1.22 trở lên ( để xây dựng plugin )
  • Có thông tin về API key của tài khoản trên CMC Cloud ( cần báo admin của CMC Cloud active API key)

 

 

CÁC BƯỚC THỰC HIỆN

CMC cung cấp dịch vụ Cloud Firewall, là một phương pháp bảo mật mạng, được triển khai trong môi trường Cloud. Đây là giải pháp giúp bảo vệ mạng, dữ liệu và ứng dụng được lưu trữ trên Cloud hiệu quả, bao gồm các máy chủ ảo, các dịch vụ trực tuyến hoặc nơi lưu trữ dữ liệu.

 

Hiện tại , CMC cung cấp cả 2 loại firewall : Firewall mã nguồn mở ( open source firewall ) , như Pfsense hoặc VyoS , và firewall thương mại ( commercial firewall) , như Checkpoint , Pablo Alto và Fortinet.

Dưới đây là hướng dẫn khởi tạo VM Firewall Fortinet trên CMC Cloud với Terraform

 

Bước 1 : Tạo file fw.tf với các thông tin sau

data "cmccloudv2_flavor_ec" "flavor_ec" {

    # flavor_id = ""

    name = "c6.small.1"  # lựa chọn flavor cho VM

    #cpu = 1

    #ram = 2 

}

 

data "cmccloudv2_vpc" "vpc1" {

    name = "vpc_terraform" # lựa chọn VPC đã tạo

}

 

data "cmccloudv2_subnet" "subnet1" {

    vpc_id = "${data.cmccloudv2_vpc.vpc1.id}"

    cidr = "192.168.1.0/24" # lựa chọn subnet đã tạo

}

 

data "cmccloudv2_image" "firewall" {

    os = "firewall" # chọn loại OS là firewall

    visibility = "public" // public, shared, private

    name = "FortiGate OS 7.2.0"  # search image with name contains `22.04`

} # lựa chọn firewall Fortigate version 7.2.0

 

resource "cmccloudv2_server" "server_firewall" {

    name = "server_firewall" # đặt tên cho firewall

    billing_mode = "monthly" # chọn chế độ thanh toán, monthly hoặc hourly

    zone = "AZ2" # lựa chọn AZ muốn triển khai , AZ1,AZ2 hoặc AZ3

    flavor_id = "${data.cmccloudv2_flavor_ec.flavor_ec.id}"

    source_id = "${data.cmccloudv2_image.firewall.id}"

    source_type = "image"

    volume_size = 40 # lựa chọn dung lượng OS disk

    volume_type = "highio"

    subnet_id = "${data.cmccloudv2_subnet.subnet1.id}"

    security_group_names = ["default" ]

    #key_name = ""

    #user_data = ""

    password = "xxxxxxxx"# lựa chọn password, tối thiểu 8 ký tự , có chữ hoa và ký tự đặc biệt

    tags{
               key = "key1"
               value = "val1"
       }

    vm_state = "active"

}

 

Bước 2 : Kiểm tra lại thông tin file fw.tfterraform plan ( để kiểm tra lại resource muốn tạo ) . Khởi chạy terraform apply để khởi tạo tài nguyên.

 

Bước 3 : Kiểm tra tài nguyên đã tạo 

  • Kiểm tra với tài nguyên đã tạo với Terraform : 

Sử dụng câu lệnh terraform state show “ tên resource” để hiển thị chi tiết thông tin về Firewall đã tạo

ex: terraform state show cmccloudv2_server.server_firewall

 

  • Kiểm tra với tài nguyên đã tạo trên Portal: 

Truy cập Portalv2 , trên thanh công cụ , chọn dịch vụ Elastic Cloud Server. Tại đây sẽ hiển thị danh sách các VM của bạn. Click vào VM Firewall đã tạo để hiển thị thông tin chi tiết 

    back to top

    logo

    © 2023, CMC Cloud. All rights reserved.

    Business Registration Certificate

    Giấy ĐKKD: 0102900049. Nơi cấp: Sở Kế hoạch & Đầu tư Thành phố Hà Nội

    Chịu trách nhiệm nội dung: Đặng Tùng Sơn