Ansible cho AWS - Quản lý đám mây dễ dàng



Blog Ansible for AWS này nói về việc có lợi thế hơn trong việc sử dụng Ansibe với AWS, thể hiện sự tự động hóa trong việc tạo và cung cấp Phiên bản EC2.

Các công ty đã đầu tư rất nhiều thời gian và tiền bạc để phát triển và cài đặt phần mềm nhằm cải thiện hoạt động của họ. Sự ra đời của điện toán đám mây đã cho phép doanh nghiệp của họ truy cập phần mềm trên internet như một dịch vụ được chứng minh là hiệu quả và an toàn hơn. Tích hợp một công cụ tự động hóa CNTT như Ansible sẽ dễ dàng cung cấp và quản lý cơ sở hạ tầng đám mây của bạn như AWS giống như trúng số độc đắc. Và đó là những gì chúng ta sẽ nói trong blog Ansible for AWS này.

Nhật ký:





Nếu bạn muốn thành thạo DevOps, ' khóa học sẽ là lựa chọn đi đến của bạn.

Tại sao các công ty chuyển sang đám mây?

Như đã đề cập trước đó, Điện toán có thể cho phép các công ty truy cập máy chủ như phần mềm qua internet. Nói rõ hơn, Điện toán đám mây giống như cắm vào lưới điện trung tâm thay vì tạo ra nguồn điện của riêng bạn. Đám mây đã trở thành bình thường mới và điều này giúp tiết kiệm rất nhiều thời gian và tiền bạc. Hãy cùng xem xét một số lợi thế về lý do tại sao các công ty chuyển sang đám mây.



1. Tính linh hoạt:

Tăng trưởng kinh doanh không bao giờ là tĩnh. Các dịch vụ dựa trên đám mây phù hợp với nhu cầu kinh doanh đang phát triển và biến động. Tính năng mở rộng và thu nhỏ quy mô triển khai của bạn dựa trên yêu cầu làm cho nó rất linh hoạt.

2. Phục hồi sau thảm họa:

Mọi doanh nghiệp nên đầu tư vào việc khắc phục hậu quả thiên tai. Mỗi công ty tài sản cuối cùng đều đầu tư rất nhiều vào việc khắc phục hậu quả thiên tai. Các công ty khởi nghiệp và công ty có ngân sách thấp thiếu tiền và kỹ năng cần thiết cho việc này và không thể có đặc điểm phục hồi sau thảm họa chức năng phù hợp. Đám mây cung cấp các giải pháp khôi phục sau thảm họa cho khách hàng để phát triển các kế hoạch hiệu quả và mạnh mẽ.

3. Cập nhật phần mềm tự động:

Như bạn đã biết, đám mây là dịch vụ được cung cấp bởi internet và do đó tất cả các máy chủ đều nằm ngoài tầm với của bạn hay đúng hơn là không khiến bạn đau đầu. Các nhà cung cấp sẽ chăm sóc chúng, bao gồm cập nhật khi được yêu cầu và thực hiện kiểm tra an ninh thường xuyên. Điều này một lần nữa kết thúc tiết kiệm rất nhiều thời gian và tiền bạc.



4. Giảm chi phí:

Việc thiết lập một trung tâm dữ liệu từ đầu có thể rất tốn kém. Việc chạy và bảo trì sẽ làm tăng thêm chi phí. Bạn cần công nghệ phù hợp, phần cứng phù hợp, nhân viên phù hợp với kiến ​​thức và kinh nghiệm phù hợp, điều mà đối với tôi nghe có vẻ rất nhiều việc. Ngoài ra, không hứa hẹn lắm, có hàng triệu cách điều này có thể xảy ra sai. Di chuyển lên đám mây mang lại cho bạn điểm cộng này.

5. Khả năng mở rộng:

Cách lập kế hoạch truyền thống để tăng trưởng bất ngờ là mua và giữ các máy chủ, bộ nhớ và giấy phép bổ sung. Có thể mất nhiều năm trước khi bạn thực sự sử dụng chúng. Nền tảng đám mây cho phép bạn mở rộng các tài nguyên này khi cần thiết. Việc mở rộng quy mô động này hoàn toàn phù hợp để tăng trưởng không thể đoán trước.

6. Bảo mật dữ liệu:

Thông thường, tốt hơn hết là bạn nên lưu trữ dữ liệu của mình trên đám mây thay vì lưu trữ chúng trên một thiết bị vật lý như máy tính xách tay hoặc đĩa cứng. Có nhiều khả năng các thiết bị vật lý này bị đánh cắp hoặc bị vỡ. Đám mây cho phép bạn xóa dữ liệu từ xa hoặc chuyển chúng sang máy chủ khác để đảm bảo rằng dữ liệu vẫn nguyên vẹn và an toàn.

7. Tăng cường cộng tác:

Sử dụng nền tảng đám mây cho phép nhóm truy cập, chỉnh sửa và chia sẻ tài liệu mọi lúc, mọi nơi. Họ có thể làm việc cùng nhau do đó tăng hiệu quả. Điều này cũng cung cấp các bản cập nhật theo thời gian thực và minh bạch.

Tính năng Ansible

Ansible có một số tính năng độc đáo và khi các tính năng đó cộng tác với Amazon Web Services, sẽ để lại dấu ấn. Hãy cùng xem những tính năng đáng kinh ngạc này:

  1. Ansible dựa trên kiến ​​trúc không tác nhân, không giống như Chef và Puppet
  2. Ansible truy cập máy chủ của nó thông qua SSH, điều này làm cho việc giao tiếp giữa máy chủ và máy chủ giống như một cái tích tắc
  3. Không cần cơ sở hạ tầng bảo mật tùy chỉnh
  4. Việc định cấu hình sách chơi và mô-đun cực kỳ dễ dàng vì nó tuân theo định dạng YAML
  5. Có nhiều loại mô-đun cho khách hàng của mình
  6. Cho phép quản lý cấu hình hoàn chỉnh, điều phối và khả năng triển khai
  7. Ansible Vault giữ bí mật an toàn

Tại sao sử dụng Ansible cho AWS?

Bây giờ chúng ta đã đi qua những lợi ích của việc sử dụng Nền tảng đám mây như AWS và các tính năng độc đáo của Ansible, hãy cùng xem điều kỳ diệu được tạo ra bằng cách tích hợp hai huyền thoại này.

1. Đám mây dưới dạng nhóm dịch vụ

Đám mây không chỉ là một nhóm máy chủ trên trung tâm dữ liệu của người khác mà còn hơn thế nữa. Bạn sẽ nhận ra điều đó khi bạn đã triển khai các dịch vụ của mình trên đó. Có nhiều dịch vụ có sẵn cho phép bạn nhanh chóng triển khai và mở rộng các ứng dụng của mình. Tự động hóa Ansible giúp bạn quản lý môi trường AWS của mình như một nhóm dịch vụ thay vì sử dụng chúng như một nhóm máy chủ.

cách sử dụng css sprites

2. Mô-đun Ansible hỗ trợ AWS

Ansible được sử dụng để định nghĩa, triển khai và quản lý nhiều loại dịch vụ. Hầu hết các môi trường AWS phức tạp đều có thể được cấp phép rất dễ dàng bằng cách sử dụng playbook. Tính năng tốt nhất là bạn tạo kết nối máy chủ-máy chủ lưu trữ và sau đó chạy playbook chỉ trên một hệ thống và cung cấp cho nhiều hệ thống khác tùy chọn mở rộng quy mô và thu nhỏ theo yêu cầu.

Ansible có hàng trăm mô-đun hỗ trợ AWS và một số mô-đun trong số đó bao gồm:

  • Tự động chia tỷ lệ nhóm
  • Sự hình thành mây
  • CloudTrail
  • CloudWatch
  • DynamoDB
  • ElastiCache
  • Điện toán đám mây đàn hồi (EC2)
  • Trình quản lý truy cập danh tính (IAM)
  • Lambda
  • Dịch vụ cơ sở dữ liệu quan hệ (RDS)
  • Tuyến đường53
  • Nhóm bảo mật
  • Dịch vụ lưu trữ đơn giản (S3)
  • Đám mây riêng ảo (VPC)
  • Và nhiều thứ khác nữa

3. Khoảng không quảng cáo động

Trong môi trường phát triển, các máy chủ tiếp tục hoạt động và ngừng hoạt động với các yêu cầu kinh doanh đa dạng. Trong trường hợp này, sử dụng khoảng không quảng cáo tĩnh có thể không đủ. Những tình huống như vậy yêu cầu sử dụng Khoảng không quảng cáo động. Điều này cho phép bạn lập bản đồ máy chủ dựa trên các nhóm được cung cấp bởi tập lệnh khoảng không quảng cáo, không giống như khoảng không quảng cáo thông thường buộc bạn phải lập bản đồ máy chủ theo cách thủ công, điều này rất tẻ nhạt.

4. Tự động hóa an toàn

Giả sử rằng bạn có một nhóm gồm 5 người và mỗi người trong số họ có hai cấp dưới không hoàn toàn có kỹ năng. Bạn sẽ không muốn cấp cho họ quyền truy cập đầy đủ vào toàn bộ quá trình triển khai. Đó là khi bạn nhận ra sự cần thiết của việc hạn chế ủy quyền.

Ansible Tower cung cấp tính năng này để hạn chế sự cho phép. Vì vậy, về cơ bản, bạn đã chọn ai có thể làm những gì, điều này giúp bạn dễ dàng kiểm duyệt hơn.Ngoài ra, Ansible Tower mã hóa thông tin đăng nhập và các dữ liệu nhạy cảm khác và bạn chỉ cấp cho cấp dưới quyền truy cập vào các tài nguyên liên quan trong khi hạn chế quyền truy cập của họ vào những tài nguyên không liên quan.

Demo: Tự động hóa việc cung cấp phiên bản EC2 bằng Ansible

Trong phần Demo này, tôi sẽ trình bày cách Ansible hỗ trợ AWS bằng cách chỉ ra cách tự động hóa việc khởi động và cung cấp phiên bản EC2. Bắt đầu nào.

Bước 1 :

Cài đặt Ansible trên nút máy chủ của bạn và tạo kết nối SSH giữa máy chủ của bạn và các nút máy khách trên AWS. Trong trường hợp này, tôi đã tạo hai phiên bản EC2, một máy chủ mà Ansible được cài đặt trên đó và máy khách kia là máy khách.

Bước 2:

Bây giờ hãy đảm bảo rằng bạn đã cài đặt tất cả các yêu cầu. Theo tài liệu, đây là các yêu cầu sau:

  • Python> = 2,6
  • bỏ phiếu

Cài đặt python bằng lệnh sau:

$ sudo apt cài đặt python

Cài đặt boto bằng lệnh sau:

$ sudo apt cài đặt python-pip
$ pip cài đặt boto

Boto là một giao diện python để sử dụng các dịch vụ Web của Amazon. Bạn sẽ phải nhập nó bằng lệnh sau:

$ python
nút nhập $
$ thoát ()

bình chọn - Ansible For AWS - Edureka

Bước 3:

Bạn phải định cấu hình AWS của mình. Sử dụng lệnh sau cho tương tự:

cấu hình $ aws

Và thêm id khóa truy cập AWS, khóa bí mật và vùng mặc định của bạn (là tùy chọn).

Bước 4:

Viết một playbook để bắt đầu và cung cấp một phiên bản EC2.

$ sudo vi /etc/ansible/launch.yml

--- - name: Tạo máy chủ phiên bản ec2: web collect_facts: false vars: region: us-west-1 instance_type: t2.micro ami: ami-05ea7729e394412c8 keypair: priyajdm task: - name: Tạo phiên bản ec2 ec2: aws_access_key : '********************' aws_secret_key: '************************ **************** 'key_name:' {{keypair}} 'group: khởi chạy-wizard-26 instance_type:' {{instance_type}} 'image:' {{ami}} 'wait: true region:' {{region}} 'count: 1 vpc_subnet_id: subnet-02f498e16fd56c277 gán_public_ip: yes register: ec2

Bạn nên biết mã hoạt động như thế nào trước khi thực thi nó. Hãy để tôi giải thích cuốn sách này để hiểu rõ hơn.

Tên: Nó có thể là bất cứ điều gì theo nghĩa đen. Một thực tiễn tốt là giữ một cái tên mô tả cơ bản về nhiệm vụ mà nó thực hiện.

Tổ chức: Đề cập đến tên của danh sách máy chủ lưu trữ mà playbook cần được thực thi. Trong trường hợp của tôi thì đó là Web .

collect_facts: Tham số này cho Ansible biết để thu thập tất cả các dữ kiện, biến và dữ liệu có liên quan để tham khảo trong tương lai. Trong trường hợp của chúng tôi, chúng tôi đã đặt nó thành false vì chúng tôi không có quyền thu thập dữ kiện (IP addr., Hostname, v.v.).

ai: Phần này xác định và khởi tạo tất cả các biến mà chúng tôi sẽ sử dụng trong sách phát này. Chúng tôi có bốn biến ở đây:

cách biên dịch trong java
  • khu vực xác định khu vực mà cá thể EC2 cần xuất hiện
  • instance_type xác định loại trường hợp mà chúng tôi đang cố gắng đưa ra. Trong trường hợp của chúng tôi, chúng tôi đang sử dụng t2.micro
  • cái nào xác định AMI của trường hợp chúng tôi đang cố gắng đưa ra

  • keypair xác định cặp khóa mà chúng tôi sẽ sử dụng để đưa ra phiên bản

ec2: Đây là một mô-đun do Ansible cung cấp được sử dụng để bắt đầu hoặc kết thúc một phiên bản EC2.

Mô-đun này có một số tham số nhất định mà chúng tôi sẽ sử dụng để chỉ định các lỗi khác của phiên bản EC2 mà chúng tôi đang cố gắng khởi động.

  • Chúng tôi bắt đầu bằng cách đề cập đến id khóa truy cập AWS và khóa bí mật bằng cách sử dụng các tham số aws_access_keyaws-secret_key .
  • key_name: chuyển biến xác định cặp khóa đang được sử dụng ở đây
  • nhóm: đề cập đến tên của nhóm bảo mật. Điều này xác định các quy tắc bảo mật của phiên bản EC2 mà chúng tôi đang cố gắng đưa ra
  • instance_type: chuyển biến xác định loại phiên bản chúng tôi đang sử dụng ở đây
  • hình ảnh: chuyển biến xác định AMI của hình ảnh mà chúng tôi đang cố gắng bắt đầu
  • chờ đợi: Điều này có giá trị boolean là true hoặc false. Nếu đúng, nó sẽ đợi phiên bản đạt được trạng thái mong muốn trước khi trả về
  • khu vực: chuyển biến xác định vùng mà một cá thể EC2 cần được tạo.
  • đếm: Tham số này chỉ định số lượng phiên bản cần được tạo. Trong trường hợp này, tôi chỉ đề cập đến một nhưng điều này phụ thuộc vào yêu cầu của bạn.
  • vpc_subnet_id: chuyển id mạng con mà bạn muốn tạo phiên bản
  • gán_public_ip: Tham số này có giá trị boolean. Nếu đúng như trong trường hợp của chúng tôi, một IP công cộng sẽ được gán cho phiên bản khi được cung cấp trong VPC.

Bước 5:

Bây giờ bạn đã hiểu mọi dòng trong playbook, hãy tiếp tục và thực hiện nó. Sử dụng lệnh sau:

$ ansible-playbook /etc/ansible/launch.yml


Sau khi thực hiện playbook, bạn sẽ thấy một phiên bản đang được tạo.


Và TADA! Bạn đã tự động hóa thành công việc cấp phép phiên bản EC2. Theo cách tương tự, bạn cũng có thể viết một playbook để dừng phiên bản EC2.

Điều này đưa chúng ta đến phần cuối của blog Ansible For AWS. Nếu bạn thấy bài viết này hữu ích, hãy xem ' do Edureka cung cấp. Nó bao gồm tất cả các công cụ đã làm cho ngành CNTT hoạt động hiệu quả.