CÓ GÌ MỚI TRONG INFOBLOX TERRAFORM PROVIDER V2.7

Giới thiệu

Trong lĩnh vực tự động hóa mạng và quản lý cơ sở hạ tầng, Infoblox là đơn vị tiên phong, liên tục cung cấp các giải pháp tiên tiến để đơn giản hóa và hợp lý hóa các nhiệm vụ mạng phức tạp. Bản cập nhật mới nhất, phiên bản v2.7 của Infoblox IPAM Driver cho Terraform, hứa hẹn nâng cao hiệu quả, tính linh hoạt và khả năng kiểm soát tài nguyên mạng. Bản cập nhật này giới thiệu các tính năng và cải tiến mới thú vị đáp ứng nhu cầu ngày càng tăng của quản trị viên mạng và người quản lý cơ sở hạ tầng.

Terraform là một công cụ phần mềm cơ sở hạ tầng dưới dạng mã phổ biến được sử dụng rộng rãi do HashiCorp tạo ra. Người dùng định nghĩa và cung cấp cơ sở hạ tầng trung tâm dữ liệu bằng ngôn ngữ cấu hình khai báo được gọi là Ngôn ngữ cấu hình HashiCorp hoặc tùy chọn là JSON. cho phép bạn xây dựng, thay đổi và tạo phiên bản cho các tài nguyên đám mây và tại chỗ một cách an toàn và hiệu quả. Chúng tôi luôn sửa lỗi bằng các bản cập nhật mới nhất và cố gắng nâng cao trải nghiệm của người dùng, nhưng lần này cũng có một số bổ sung.

Tích hợp Terraform-Infoblox

Một plugin cung cấp cho Terraform, giúp quản lý tài nguyên Infoblox NIOS (Hệ điều hành nhận dạng mạng) bằng các giải pháp cơ sở hạ tầng dưới dạng mã của Terraform, hiện đã có sẵn. Plugin cho phép quản lý vòng đời của tài nguyên Infoblox NIOS DDI. Plug-In Infoblox IPAM cho Terraform giao tiếp với Infoblox vNIOS thông qua REST API để cung cấp dịch vụ quản lý địa chỉ IP và DNS. Thay vì cung cấp thủ công địa chỉ IP và bản ghi DNS cho các thiết bị và giao diện mạng trong cơ sở hạ tầng của bạn, Plug-In Infoblox IPAM cho Terraform tự động hóa các quy trình IPAM. Phiên bản mới nhất của nhà cung cấp Infoblox là v2.7 .

Tài nguyên có sẵn

Hiện tại, tài nguyên Terraform có thể được chia thành hai loại: Tài nguyên Terraform và Nguồn dữ liệu. Tài nguyên Terraform cấu thành một khối tài nguyên mô tả một hoặc nhiều đối tượng NIOS Grid, chẳng hạn như một vùng chứa mạng. Nguồn dữ liệu Terraform cho phép dữ liệu được truy xuất hoặc tính toán để sử dụng ở nơi khác trong cấu hình Terraform. Với Nguồn dữ liệu, cấu hình Terraform được xây dựng dựa trên thông tin được xác định bên ngoài Terraform hoặc được xác định bởi một cấu hình Terraform riêng biệt.

Để thực hiện thao tác fetch, create, read, update hoặc delete trên một đối tượng NIOS, bạn phải định nghĩa khối tài nguyên thích hợp trong tệp cấu hình Terraform (.tf). Các chủ đề sau đây nêu chi tiết các tài nguyên và nguồn dữ liệu được Infoblox IPAM Plug-In phiên bản v2.7 hỗ trợ cho Terraform và bao gồm các ví dụ thích hợp về các khối phải được định nghĩa trong tệp cấu hình. Để biết thêm chi tiết về các tài nguyên và Nguồn dữ liệu khả dụng của Terraform, hãy truy cập Infoblox Plug-In cho Terraform . Đọc thêm trên sổ đăng ký chính thức của Terraform cho Infoblox .

Những phát triển, bổ sung và cập nhật gần đây

 
Nâng cấp phiên bản Terraform từ 0.14 lên 1.8.1

Để sử dụng các tính năng và chức năng mới từ phiên bản 2.7, bạn sẽ cần nâng cấp phiên bản Terraform của mình.

  • Cải thiện hiệu suất: Các bản cập nhật sẽ tối ưu hóa mã và giới thiệu các thuật toán hiệu quả hơn, giúp cải thiện hiệu suất của các hệ thống tích hợp.
  • Khả năng tương thích: Các phiên bản mới hơn sẽ đảm bảo khả năng tương thích với các tính năng mới/mới nhất mà chúng tôi đã thêm vào plugin.

Cập nhật Go-Lang từ 1.17 lên 1.21 hoặc mới hơn & phiên bản Go-client lên v2.7.0

Chúng tôi vẫn giữ nguyên lập trường giống như các phiên bản trước và rất rõ ràng rằng chỉ khi bạn có kế hoạch phát triển một plugin bao gồm các tính năng không có trong phiên bản đã phát hành thì bạn mới cần cài đặt Infoblox  -Go-Client và ngôn ngữ lập trình Go.

  • Cải thiện hiệu suất: Các bản cập nhật sẽ tối ưu hóa mã và giới thiệu các thuật toán hiệu quả hơn, giúp cải thiện hiệu suất của các hệ thống tích hợp.
  • Khả năng tương thích: Các phiên bản mới hơn sẽ đảm bảo khả năng tương thích với các tính năng mới/mới nhất mà chúng tôi đã thêm vào plugin.

Hỗ trợ chức năng nhập khối

Hình 1

Tại sao phải nhập khẩu?

Terraform Import giúp dễ dàng đưa các tài nguyên đám mây đã có trước vào quản trị Terraform. Để áp dụng các bản cập nhật cho cùng một tập hợp cơ sở hạ tầng thông qua Cơ sở hạ tầng dưới dạng Mã (IaC) trong tương lai, lệnh Terraform CLI import được sử dụng để đọc cơ sở hạ tầng thực tế và cập nhật trạng thái.

Tính nhất quán của cấu hình: Terraform Import đảm bảo rằng tất cả tài nguyên của bạn, bất kể nguồn gốc, đều được quản lý và theo dõi một cách nhất quán. Phương pháp theo dõi này giúp tránh tình trạng trôi cấu hình thủ công và duy trì một nguồn duy nhất đáng tin cậy cho cơ sở hạ tầng của bạn.

Tăng dần việc áp dụng: Terraform Import cho phép bạn áp dụng Terraform cho các tài nguyên hiện có theo từng bước. Bạn không cần phải bắt đầu từ đầu và bạn có thể quản lý cơ sở hạ tầng của mình bằng Terraform một cách dần dần mà không bị gián đoạn.

Cộng tác và Kiểm soát Phiên bản: Bằng cách nhập tài nguyên, bạn có thể cộng tác với nhóm của mình bằng cách sử dụng trạng thái Terraform được kiểm soát phiên bản chung. Theo cách này, bạn sẽ tăng cường cộng tác nhóm và đảm bảo mọi người làm việc với cùng một định nghĩa cơ sở hạ tầng.

Kể từ Terraform plug-in v2.2.0 , chỉ có thể nhập các tài nguyên đơn lẻ bằng ID tham chiếu tương ứng của chúng với lệnh CLI. Đọc thêm để nhập một tài nguyên đơn lẻ . Tuy nhiên, với plug-in phiên bản 2.7, chúng tôi đã cải tiến plug-in để nhập nhiều tài nguyên bằng một lệnh duy nhất được gọi là “khối nhập”. Ví dụ: bạn có thể nhập tất cả các bản ghi (bản ghi A, AAAA, MX, PTR, v.v.) có trong một hoặc nhiều vùng, tất cả các mạng có trong một vùng chứa mạng vào tệp trạng thái Terraform của bạn thông qua một tệp cấu hình Terraform duy nhất. Khối nhập nhanh hơn và hiệu quả hơn lệnh nhập, vì nó có thể tự động nhập nhiều tài nguyên, điều này sẽ không giúp bạn tiết kiệm đáng kể thời gian và công sức, nhưng cũng cung cấp cho bạn nhiều tùy chọn hơn để phân loại hoặc sắp xếp dữ liệu của mình theo nhóm bằng cách nhập và lưu chúng trong các tệp trạng thái Terraform được sắp xếp hợp lý.

Ngoài ra, xin lưu ý rằng ID nội bộ của Terraform được gán cho tài nguyên khi lệnh Terraform plan được chạy lần đầu tiên sẽ được giữ nguyên ngay cả khi lệnh Terraform apply tiếp theo bị hủy, mặc dù tài nguyên không được Terraform quản lý.

Nhập bằng cách sử dụng Khối nhập

Xác định khối nhập trong tệp cấu hình Terraform (.tf) của tài nguyên phải được nhập. Trong tệp .tf của tài nguyên cần nhập, hãy bao gồm khối sau:


        import { 
        to = <resource_type>.<resource_name> 
        id = "reference_id" 
        } 
        

Các tham số bạn có thể xác định trong khối nhập là:

Tham số Bắt buộc/Tùy chọn Sự miêu tả
ĐẾN Yêu cầu Chỉ định địa chỉ phiên bản của tài nguyên này trong tệp trạng thái Terraform.
nhận dạng Yêu cầu Chỉ định ID nội bộ Terraform được NIOS chỉ định cho tài nguyên. Nó được gọi là ID tham chiếu trong khối nhập và là ID nội bộ Terraform cho các bản ghi máy chủ.

Ví dụ:


        #terraform block
        terraform { 
          required_providers { 
            infoblox = { 
              source = "infobloxopen/infoblox" 
              version = "2.7.0" 
             } 
          } 
        }
        
        #provider block
        provider "infoblox" { 
          server = "<your_grid_IP" 
          username = "admin" 
          password = "*****"
        }
        
        #import all A-records from the zone /example1.org
        data "infoblox_a_record" "data-a-rec" { 
          filters = { 
            zone = "example1.org" 
            view = "default" 
           } 
        }
        
        import { 
          for_each = data.infoblox_a_record.data-a-rec.results 
          id       = each.value.id 
          to       = infoblox_a_record.imported_records["${each.value.fqdn}"] 
        }

        resource "infoblox_a_record" "imported_records" { 
          for_each = { for record in data.infoblox_a_record.data-a-rec.results : record.fqdn => record } 
          fqdn      = each.value.fqdn 
          ip_addr   = each.value.ip_addr 
          dns_view  = each.value.dns_view 
          ttl       = each.value.ttl 
          comment   = each.value.comment 
          ext_attrs = each.value.ext_attrs 
        }
        

Nguồn tài nguyên và dữ liệu cho vùng chuyển tiếp có điều kiện DNS

Đây là phần bổ sung thêm một nguồn tài nguyên và nguồn dữ liệu mới vào khả năng hiện tại của plug-in. Tài nguyên infoblox_zone_forward cho phép bạn thực hiện các thao tác tạo, cập nhật và xóa trên các vùng chuyển tiếp trong thiết bị Infoblox NIOS. Tài nguyên infoblox_zone_forward tương ứng với đối tượng WAPI ‘zone_forward’ trong NIOS. Bộ chuyển tiếp là máy chủ tên mà tất cả các máy chủ tên khác trước tiên gửi các truy vấn mà chúng không thể giải quyết cục bộ. Sau đó, bộ chuyển tiếp gửi các truy vấn này đến các máy chủ DNS bên ngoài mạng, tránh nhu cầu các máy chủ tên khác trong mạng của bạn phải gửi các truy vấn ra bên ngoài. Cuối cùng, bộ chuyển tiếp sẽ xây dựng bộ nhớ đệm thông tin, bộ nhớ đệm này sẽ sử dụng để giải quyết các truy vấn. Điều này làm giảm lưu lượng truy cập Internet qua mạng và giảm thời gian phản hồi cho các máy khách DNS. Điều này hữu ích trong các tổ chức cần giảm thiểu lưu lượng truy cập ra bên ngoài, chẳng hạn như văn phòng từ xa có kết nối chậm đến mạng của công ty. Bạn có thể chọn bất kỳ thành viên Grid nào để hoạt động như một bộ chuyển tiếp. Bạn phải định cấu hình tường lửa của mình để cho phép thành viên Grid đó giao tiếp với các máy chủ DNS bên ngoài. Bạn cũng có thể cấu hình NIOS để gửi truy vấn đến một hoặc nhiều bộ chuyển tiếp. Ngoài ra, bạn có thể xác định danh sách bộ chuyển tiếp cho toàn bộ Grid, cho từng thành viên Grid hoặc cho từng chế độ xem DNS.

Nếu cấu hình mạng của bạn bao gồm Infoblox BloxOne Threat Defense, bạn có thể cấu hình các thành viên NIOS Grid (thiết bị vật lý hoặc ảo) để chuyển tiếp các truy vấn đệ quy đến BloxOne Threat Defense. 

Khi có nhiều hơn một bộ chuyển tiếp trong Grid, bộ giải quyết NIOS sử dụng số liệu được làm mịn có nguồn gốc từ RTT (Thời gian khứ hồi) để chọn máy chủ tên để gửi truy vấn đến. RTT là khoảng thời gian giữa thời điểm truy vấn được gửi và thời điểm nhận được phản hồi.

Ví dụ về các tập lệnh cho các nguồn tài nguyên vùng chuyển tiếp


        #Copy Terraform and Provider Block from above example script 
        #forward zone with ns_group and external_ns_group
        resource "infoblox_zone_forward" "forward_zone3" { 
          fqdn = "params_ns_ens.ex.org" 
          ns_group = "test" 
          external_ns_group = "stub server" 
        }
       

        #Copy Terraform and Provider Block from above example script. 
        #forward mapping zone, with minimum set of parameters
        resource "infoblox_zone_forward" "forward_zone1" { 
          fqdn = "min_params.ex.org" 
          forward_to { 
             name = "test22.dz.ex.com" 
             address = "10.0.0.1" 
            } 
         forward_to { 
            name = "test2.dz.ex.com" 
            address = "10.0.0.2" 
           } 
        }
        
        
        #Copy Terraform and Provider Block from above example script. 
        #forward zone with full set of parameters
        resource "infoblox_zone_forward" "forward_zone2" { 
          fqdn = "max_params.ex.org" #required 
          view = "nondefault_view" #optional 
          zone_format = "FORWARD" #optional 
          comment = "test sample forward zone" #optional 
          forward_to { 
            name = "te32.dz.ex.com" 
            address = "10.0.0.1" 
           } 
        forwarding_servers { 
          name = "infoblox.172_28_83_216" 
          forwarders_only = true 
          use_override_forwarders = false 
          forward_to { 
            name = "cc.fwd.com" 
            address = "10.1.1.1" 
           } 
        } 
       forwarding_servers { 
         name = "infoblox.172_28_83_0" 
         forwarders_only = true 
         use_override_forwarders = true 
         forward_to { 
            name = "kk.fwd.com" 
            address = "10.2.1.31" 
           } 
         } 
       }
        

Nguồn dữ liệu cho Host Record, IPv6 Network Container và IPv6 Network

Tính năng này là một phần bổ sung của các nguồn dữ liệu vào các tài nguyên đã có trong kho lưu trữ của chúng tôi. Bốn nguồn dữ liệu mới này đã được giới thiệu với bản phát hành này và là phần mở rộng của nỗ lực trước đó của chúng tôi nhằm đưa nhiều tài nguyên hơn vào phạm vi tìm kiếm thuộc tính mở rộng đa giá trị cho các nguồn dữ liệu để tìm kiếm dễ dàng và hiệu quả các đối tượng/tài nguyên nhằm tăng khả năng quản lý. Để xem cấu trúc phù hợp để tìm nguồn dữ liệu, bạn có thể tham khảo Khả năng tìm kiếm thông qua Thuộc tính mở rộng trong các nguồn dữ liệu .

Phần kết luận

Bản cập nhật mới nhất cho Infoblox IPAM Driver cho Terraform đánh dấu một cột mốc quan trọng trong tự động hóa mạng và quản lý cơ sở hạ tầng. Với các tính năng mới, chẳng hạn như IPv6 Network Resource, quản lý tài nguyên nâng cao và tích hợp liền mạch với Infoblox Cloud Platform, người dùng có thể mở khóa các cấp độ hiệu quả, tính linh hoạt và khả năng kiểm soát mới đối với môi trường mạng của họ.

Khi các tổ chức tiếp tục áp dụng chuyển đổi số và áp dụng công nghệ đám mây gốc, Infoblox IPAM Driver for Terraform luôn sẵn sàng đáp ứng nhu cầu phát triển của cơ sở hạ tầng CNTT hiện đại. Cho dù bạn đang quản lý mạng quy mô nhỏ hay triển khai doanh nghiệp lớn, Infoblox vẫn cam kết trao quyền cho người dùng bằng các giải pháp sáng tạo giúp đơn giản hóa sự phức tạp và thúc đẩy thành công trong kinh doanh.

Hãy theo dõi các bản cập nhật và cải tiến trong tương lai khi chúng tôi tiếp tục đổi mới và mang lại giá trị cho khách hàng. Hãy theo dõi các bản cập nhật và cải tiến trong tương lai khi chúng tôi tiếp tục đổi mới và mang lại giá trị cho khách hàng.