Udemy
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Sử dụng Terraform và Ansible để triển khai các dịch vụ AWS
Rating: 5.0 out of 5(5 ratings)
33 students

Sử dụng Terraform và Ansible để triển khai các dịch vụ AWS

Khóa học sử dụng Terraform và Ansible để triển khai các dịch vụ trong đám mây AWS
Created byLuu Ho Phuong
Last updated 6/2024
Vietnamese

What you'll learn

  • Học được cách sử dụng Terraform để tự động hóa việc tạo ra cơ sở hạ tầng điện toán đám mây, từ việc xác định và quản lý sự phụ thuộc giữa các tài nguyên AWS
  • Hiểu biết được cách phát triển một dự án hạ tầng đám mây AWS sử dụng Terraform kết hợp với Ansible.
  • Bạn sẽ hiểu sâu hơn về các dịch vụ hạ tầng AWS như dịch vụ cân bằng tải ALB, AWS Route 53, AWS EC2, VPC, và AWS Certificate Manager.
  • Học cách sử dụng Ansible để tự động hóa việc cài đặt và cấu hình hệ thống, cũng như việc triển khai ứng dụng và quản lý điều hành.
  • Có được một kiến thức cơ bản về Devops
  • Tự tin hơn rất nhiều khi đi phỏng vấn xin việc các vị trí như: System Admin, System Engineer, Cloud Engineer, Developer, và DevOps.

Course content

4 sections • 29 lectures • 8h 31m total length
  • Giới thiệu về khóa học Infrastructure As Code với Terraform và Ansible10:31
  • Slide khóa học0:02
  • Chú ý quan trọng về điều kiện để tham gia khóa học2:04
  • Setup môi trường Terraform6:42

    Bạn sẽ học được gì trong bài này?

    Trong bài học đầu tiên của khóa học, bạn sẽ tìm hiểu cách cài đặt Terraform trên hệ điều hành CentOS để chuẩn bị môi trường cho toàn bộ các bài thực hành triển khai hạ tầng AWS bằng Infrastructure as Code (IaC). Bạn sẽ thực hiện quá trình download Terraform từ trang chủ HashiCorp, cài đặt công cụ vào hệ thống và cấu hình để có thể sử dụng Terraform ở mọi vị trí trong Linux.

    Việc cài đặt đúng Terraform là bước nền tảng trước khi chúng ta bắt đầu xây dựng và tự động hóa hạ tầng AWS. Sau khi hoàn thành bài học này, bạn sẽ có một môi trường làm việc sẵn sàng cho tất cả các bài học và bài thực hành trong khóa học.

    Sau bài học này, bạn sẽ có thể:

    • Hiểu vai trò của Terraform trong việc triển khai hạ tầng theo mô hình Infrastructure as Code (IaC).

    • Tải xuống phiên bản Terraform phù hợp từ trang chủ HashiCorp.

    • Giải nén gói cài đặt Terraform trên hệ điều hành Linux.

    • Hiểu vai trò của biến môi trường PATH trong Linux.

    • Cài đặt file thực thi Terraform vào thư mục thuộc biến môi trường PATH.

    • Chạy Terraform từ bất kỳ vị trí nào trên hệ điều hành mà không cần chỉ định đường dẫn tuyệt đối.

    • Kiểm tra phiên bản hệ điều hành Linux trước khi cài đặt Terraform.

    • Kiểm tra phiên bản Terraform sau khi cài đặt bằng lệnh terraform -version.

    • Xác nhận Terraform đã được cài đặt và hoạt động chính xác trên CentOS.

    Đây là một bài học quan trọng dành cho Cloud Engineer, DevOps Engineer, Platform Engineer, Site Reliability Engineer (SRE), System Administrator, Solutions Architect và những học viên đang chuẩn bị cho các kỳ thi AWS Certified Solutions Architect – Associate (SAA-C03), AWS Certified SysOps Administrator – Associate (SOA-C02) hoặc muốn triển khai hạ tầng AWS theo mô hình Infrastructure as Code (IaC). Sau bài học này, bạn sẽ biết cách cài đặt và kiểm tra Terraform trên Linux theo đúng Best Practices, sẵn sàng cho các bài học triển khai hạ tầng AWS bằng Terraform trong những phần tiếp theo của khóa học.

  • Cấp quyền truy cập cho Terraform10:02

    Bạn sẽ học được gì trong bài này?

    Trong bài học này, bạn sẽ tìm hiểu cách cấp quyền truy cập AWS cho Terraform để Terraform có thể tự động triển khai và quản lý các tài nguyên trên AWS. Đây là một bước cấu hình quan trọng trước khi bắt đầu xây dựng hạ tầng bằng Infrastructure as Code (IaC), bởi Terraform chỉ có thể tạo, cập nhật hoặc xóa tài nguyên khi được cấp đầy đủ quyền thông qua hệ thống AWS Identity and Access Management (IAM).

    Bạn sẽ được giới thiệu hai phương pháp xác thực phổ biến nhất trong thực tế: sử dụng IAM User với Access Key và Secret Access Key, hoặc sử dụng IAM Role gắn trực tiếp vào một EC2 Instance đóng vai trò là Terraform Controller. Mỗi phương pháp đều có ưu điểm riêng và được áp dụng trong những môi trường triển khai khác nhau.

    Sau bài học này, bạn sẽ có thể:

    • Hiểu vì sao Terraform cần quyền truy cập để quản lý tài nguyên AWS.

    • Hiểu vai trò của AWS Identity and Access Management (IAM) trong việc phân quyền.

    • Hiểu các quyền cần thiết để Terraform có thể tạo, cập nhật và xóa tài nguyên AWS.

    • Tìm hiểu phương pháp sử dụng IAM User cho Terraform.

    • Tạo một IAM User dành riêng cho Terraform.

    • Gán các IAM Policy cần thiết cho Terraform User.

    • Hiểu vai trò của Access Key và Secret Access Key trong quá trình xác thực.

    • Hiểu cách Terraform sử dụng thông tin xác thực để truy cập AWS.

    • Tìm hiểu phương pháp sử dụng IAM Role cho Terraform.

    • Tạo một EC2 IAM Role với các quyền phù hợp.

    • Gắn IAM Role vào một EC2 Instance làm Terraform Controller.

    • Hiểu cơ chế Terraform tự động lấy thông tin xác thực từ Instance Metadata Service (IMDS) khi chạy trên EC2.

    • So sánh ưu điểm và hạn chế của phương pháp IAM User và IAM Role.

    • Hiểu khi nào nên sử dụng IAM User và khi nào nên sử dụng IAM Role trong môi trường thực tế.

    • Áp dụng các nguyên tắc bảo mật khi cấp quyền cho Terraform theo mô hình Least Privilege.

    Đây là một bài học quan trọng dành cho Cloud Engineer, DevOps Engineer, Platform Engineer, Site Reliability Engineer (SRE), System Administrator, Solutions Architect và những học viên đang chuẩn bị cho các kỳ thi AWS Certified Solutions Architect – Associate (SAA-C03), AWS Certified SysOps Administrator – Associate (SOA-C02) hoặc muốn triển khai hạ tầng AWS theo mô hình Infrastructure as Code (IaC). Sau bài học này, bạn sẽ biết cách lựa chọn và cấu hình phương pháp xác thực phù hợp để Terraform có thể quản lý tài nguyên AWS một cách an toàn, hiệu quả và theo đúng AWS Security Best Practices.

  • Setup AWS CLI và Ansible19:23

    Bạn sẽ học được gì trong bài này?

    Trong bài học này, bạn sẽ chuẩn bị Terraform Controller để sẵn sàng triển khai hạ tầng AWS bằng cách cài đặt các công cụ cần thiết, bao gồm Python, PIP, Ansible và AWS CLI trên hệ điều hành Linux CentOS. Đồng thời, bạn cũng sẽ cấu hình môi trường làm việc, tạo thư mục lưu trữ các Terraform và Ansible Templates, cũng như thiết lập thông tin xác thực để AWS CLI có thể giao tiếp với tài khoản AWS.

    Đây là bước chuẩn bị quan trọng trước khi bắt đầu tự động hóa hạ tầng bằng Terraform và Ansible. Sau khi hoàn thành bài học này, bạn sẽ có một môi trường làm việc hoàn chỉnh để triển khai, cấu hình và quản lý các dịch vụ AWS một cách hiệu quả.

    Sau bài học này, bạn sẽ có thể:

    • Hiểu vì sao một số ứng dụng yêu cầu SELinux được cấu hình phù hợp hoặc vô hiệu hóa.

    • Kiểm tra trạng thái cấu hình của SELinux trên CentOS.

    • Cập nhật hệ điều hành trước khi cài đặt các công cụ cần thiết.

    • Cài đặt Python 3.11 và kiểm tra phiên bản Python.

    • Hiểu vai trò của PIP trong việc quản lý các gói Python.

    • Cài đặt và nâng cấp PIP.

    • Sử dụng PIP để cài đặt và quản lý các Python Packages.

    • Tạo thư mục làm việc để lưu trữ các Terraform Templates và Ansible Playbooks.

    • Tải xuống file cấu hình ansible.cfg từ GitHub.

    • Cài đặt Ansible bằng PIP.

    • Cài đặt Ansible thông qua trình quản lý gói của CentOS và so sánh các phương pháp cài đặt.

    • Kiểm tra phiên bản và xác nhận Ansible đã được cài đặt thành công.

    • Cài đặt AWS CLI phiên bản 2 trên Linux.

    • Cài đặt và sử dụng các công cụ hỗ trợ như unzip.

    • Kiểm tra phiên bản AWS CLI sau khi cài đặt.

    • Cấu hình thông tin xác thực cho AWS CLI bằng lệnh aws configure.

    • Hiểu vai trò của Access Key ID, Secret Access Key, Region và Output Format trong AWS CLI.

    • Kiểm tra khả năng kết nối giữa AWS CLI và tài khoản AWS.

    • Liệt kê các EC2 Instances bằng lệnh aws ec2 describe-instances.

    • Xác nhận Terraform Controller đã sẵn sàng để triển khai và quản lý hạ tầng AWS.

    Đây là một bài học quan trọng dành cho Cloud Engineer, DevOps Engineer, Platform Engineer, Site Reliability Engineer (SRE), System Administrator, Solutions Architect và những học viên đang chuẩn bị cho các kỳ thi AWS Certified Solutions Architect – Associate (SAA-C03), AWS Certified SysOps Administrator – Associate (SOA-C02) hoặc muốn triển khai hạ tầng AWS theo mô hình Infrastructure as Code (IaC). Sau bài học này, bạn sẽ biết cách xây dựng một Terraform Controller hoàn chỉnh với Python, Ansible và AWS CLI, đồng thời cấu hình môi trường làm việc và xác thực với AWS theo đúng Best Practices, sẵn sàng cho các bài thực hành triển khai hạ tầng AWS bằng Terraform và Ansible.

Requirements

  • Để tham gia khóa học này, bạn cần có hiểu biết cơ bản về các dịch vụ AWS như EC2, Route 53, VPC, AWS CLI, và cần có một kiến thức cơ bản về các lệnh Linux, và Linux Bash Shell, hoặc Python.

Description

  • Khóa học này là một cơ hội tuyệt vời để nâng cao kỹ năng của bạn, và giúp bạn hiểu biết được cách sử dụng các công cụ mạnh mẽ như Terraform và Ansible trong việc tự động hóa triển khai và quản lý cơ sở hạ tầng điện toán đám mây AWS một cách hiệu quả. Bạn sẽ học được cách tạo ra những phép biến đổi đặc biệt trong môi trường đám mây.

  • Khóa học được thiết kế chi tiết, đễ hiểu, rõ ràng, và đơn giản nhất với các bài giảng hướng dẫn bạn từng bước một
     sử dụng Terraform Code Blocks và Ansible Playbooks, giúp bạn dễ dàng áp dụng kiến thức vào công việc thực tế.

  • Mỗi bài học là một bước tiến mới trong tự động hóa việc xây dựng một hạ tầng hệ thống trong đám mây AWS thông qua một dự án.

  • Và bởi vì chúng ta sẽ xây dựng các Terraform templates và các Ansible playbooks cho dự án này từ đầu đến cuối, do đó bạn sẽ hiểu sâu hơn về Terraform, Ansible và cơ sở hạ tầng đám mây AWS.

  • Cuối cùng bạn sẽ thấy là bạn sẽ có kiến thức, kỹ năng tốt hơn cũng như tự tin hơn sau tất cả những gì mà bạn đã được học trong khóa học này.

Who this course is for:

  • Lãnh đạo, Quản lý CNTT, muốn tìm hiểu về tự động hóa hệ thống hạ tầng điện toán đám mây.
  • Sinh viên các trường CNTT, kỹ thuật, Cá nhân đang kinh doanh, hoặc đang muốn khởi nghiệp
  • Nhân viên phòng IT, Kỹ sư quản trị hệ thống, Cloud Engineers, Devops Engineer, kỹ sư phát triển phần mềm