Giới thiệu Vùng đích AWS có thể lập trình trong mô-đun Terraform

Chào mọi người! Vào tháng XNUMX, OTUS khai giảng khóa học mới - Kiến trúc giải pháp đám mây. Để chuẩn bị cho sự bắt đầu của khóa học này, chúng tôi sẽ chia sẻ với bạn bản dịch tài liệu thú vị về chủ đề này.

Giới thiệu Vùng đích AWS có thể lập trình trong mô-đun Terraform

Vùng đích AWS là giải pháp giúp khách hàng nhanh chóng thiết lập môi trường AWS đa tài khoản, an toàn dựa trên các biện pháp thực hành tốt nhất.

Trong hơn XNUMX năm, nhóm của chúng tôi tại Mitoc Group đã làm việc không mệt mỏi để giúp các tổ chức lớn chuyển đổi và xây dựng hoặc di chuyển thành công kỹ thuật số của họ sang đám mây AWS. Nói cách khác, trích lời những người bạn của chúng tôi tại AWS: “Khách hàng của chúng tôi đang tự đổi mới mình với AWS”. Thay mặt cho khách hàng, đó là một nỗ lực không ngừng nghỉ để phát minh lại và đơn giản hóa cơ chế và AWS đã làm rất tốt việc giải quyết các vấn đề phức tạp bằng các giải pháp dễ học.

Giới thiệu Vùng đích AWS có thể lập trình trong mô-đun Terraform
Vùng đích AWS (nguồn)

Vùng đích AWS là gì?

Theo thông tin từ một nguồn chính thức:

AWS Landing Zone là giải pháp giúp khách hàng nhanh chóng thiết lập môi trường AWS an toàn với nhiều tài khoản dựa trên các phương pháp thực hành tốt nhất của AWS. Với rất nhiều tùy chọn, việc thiết lập môi trường nhiều tài khoản có thể tốn thời gian, liên quan đến việc định cấu hình nhiều tài khoản và dịch vụ cũng như yêu cầu hiểu biết sâu sắc về các dịch vụ AWS.

Vùng đích AWS đã giảm đáng kể độ phức tạp và tính nhất quán của các mẫu thiết kế tương tự được cung cấp cho các khách hàng khác nhau. Mặt khác, nhóm của chúng tôi đã phải cấu hình lại một số thành phần CloudFormation thành các thành phần Terraform để tiếp tục sử dụng chúng cho mục đích tự động hóa.

Vì vậy, chúng tôi đã tự hỏi, tại sao không xây dựng toàn bộ giải pháp AWS Landing Zone trên Terraform? Chúng ta có thể làm được điều này không và liệu nó có giải quyết được vấn đề của khách hàng không? spoiler: nó sẽ và đã quyết định rồi! 🙂

Khi nào bạn không nên sử dụng AWS Landing Zone?

Nếu bạn đang xử lý các dịch vụ đám mây và tài nguyên đám mây thông thường trong một hoặc hai tài khoản AWS thì những biện pháp này có thể là quá mức cần thiết. Ai không liên quan đến vấn đề này có thể đọc tiếp :)

Bạn nên cân nhắc điều gì trước khi bắt đầu công việc?

Nhiều tổ chức lớn mà chúng tôi hợp tác đã có sẵn một số loại chiến lược đám mây. Các công ty gặp khó khăn trong việc triển khai thành công các dịch vụ đám mây nếu không có tầm nhìn và kỳ vọng rõ ràng. Vui lòng dành thời gian để xác định chiến lược của bạn và hiểu cách AWS phù hợp với chiến lược đó.

Khi thiết lập chiến lược, khách hàng thành công của AWS Landing Zone chủ động tập trung vào những điều sau:

  • Tự động hóa đơn giản không phải là một lựa chọn. Tự động hóa gốc trên nền tảng đám mây được ưu tiên.
  • Các nhóm luôn sử dụng cùng một cơ chế với cùng một bộ công cụ để cung cấp tài nguyên đám mây. Tốt hơn là sử dụng Terraform.
  • Người dùng đám mây hiệu quả nhất có khả năng tạo các quy trình có thể sử dụng lại và cung cấp chúng dưới dạng dịch vụ có thể sử dụng lại thay vì mã có thể sử dụng lại. Kiến trúc không có máy chủ được ưa thích.

Giới thiệu Mô-đun Terraform cho Vùng đích AWS

Sau vài tháng làm việc chăm chỉ, tôi xin hân hạnh được giới thiệu với các bạn Mô-đun Terraform cho Vùng đích AWS. Mã nguồn được lưu trữ trên GitHub và phiên bản phát hành ổn định được xuất bản trên Sổ đăng ký mô-đun Terraform.

Để bắt đầu, chỉ cần bật main.tf vào mã của bạn:

module "landing_zone" {
  source     = "TerraHubCorp/landing-zone/aws"
  version    = "0.0.6"
  root_path  = "${path.module}"
  account_id = "${var.account_id}"
  region     = "${var.region}"
  landing_zone_components = "${var.landing_zone_components}"
}

Lưu ý: Đảm bảo bật variables.tf và mọi thứ bạn có thể cần từ outputs.tf.

Để dễ hiểu hơn, chúng tôi đã thêm các giá trị mặc định vào terraform.tfvars:

account_id = "123456789012"
region = "us-east-1"
landing_zone_components = {
  landing_zone_pipeline_s3_bucket = "s3://terraform-aws-landing-zone/mycompany/landing_zone_pipeline_s3_bucket/default.tfvars"
  [...]
}

Điều này có nghĩa là khi sử dụng mô-đun này terraform bạn sẽ cần:

  1. Thay đổi giá trị account_id и region của riêng bạn, tương ứng với dữ liệu trong Tổ chức AWS;
  2. Thay đổi giá trị landing_zone_components những thứ phù hợp với trường hợp sử dụng Vùng đích AWS của bạn;
  3. Thay đổi s3://terraform-aws-landing-zone/mycompany tới khối của bạn S3 và tiền tố khóa S3nơi bạn sẽ lưu trữ các tập tin .tfvars (hoặc đường dẫn tuyệt đối đến tập tin .tfvars trong bộ nhớ cục bộ của bạn).

Mô-đun này có thể có hàng chục, hàng trăm hoặc hàng nghìn thành phần có thể triển khai nhưng không phải tất cả chúng đều nên hoặc sẽ được triển khai. Trong thời gian chạy, các thành phần không thuộc bản đồ biến landing_zone_components sẽ bị bỏ qua.

Kết luận

Chúng tôi rất vui mừng và tự hào được chia sẻ thành quả từ những nỗ lực của mình nhằm giúp khách hàng xây dựng tính năng tự động hóa gốc trên nền tảng đám mây. Mô-đun Terraform dành cho AWS Landing Zone là một giải pháp khác giúp các tổ chức nhanh chóng thiết lập môi trường AWS an toàn với nhiều tài khoản dựa trên các biện pháp thực hành tốt nhất của AWS. Chúng tôi nhận thức rõ rằng AWS đang phát triển với tốc độ cực kỳ nhanh và chúng tôi cam kết phát triển nhanh chóng một giải pháp địa hình bao trùm tất cả các cơ sở và cũng tích hợp với các giải pháp sản xuất AWS khác.

Đó là tất cả. Chúng tôi đang chờ ý kiến ​​​​của bạn và mời bạn hội thảo trên web miễn phí trong đó chúng tôi Hãy cùng nghiên cứu thiết kế kiến ​​trúc miền Cloud Landing Zone và xem xét các mẫu kiến ​​trúc của các miền chính.

Nguồn: www.habr.com

Thêm một lời nhận xét