Tôi có thể sử dụng PHP trong AWS không?

Amazon EC2 cho phép các cá nhân triển khai nhiều ứng dụng khác nhau. Sử dụng Amazon EC2, bạn có thể khởi chạy nhiều hay ít máy chủ ảo tùy theo hoàn cảnh nhất định. Do đó, trong blog này, tôi sẽ thảo luận về việc triển khai một ứng dụng PHP bằng cách sử dụng phiên bản Amazon EC2

Hướng dẫn này hướng dẫn bạn quy trình khởi chạy phiên bản RDS DB bên ngoài AWS Elastic Beanstalk và định cấu hình môi trường có độ sẵn sàng cao chạy ứng dụng PHP để kết nối với nó. Việc chạy một phiên bản CSDL bên ngoài Elastic Beanstalk sẽ tách cơ sở dữ liệu khỏi vòng đời của môi trường của bạn. Điều này cho phép bạn kết nối với cùng một cơ sở dữ liệu từ nhiều môi trường, trao đổi cơ sở dữ liệu này với cơ sở dữ liệu khác hoặc thực hiện triển khai xanh lam/xanh lá cây mà không ảnh hưởng đến cơ sở dữ liệu của bạn

Hướng dẫn sử dụng một ứng dụng PHP mẫu sử dụng cơ sở dữ liệu MySQL để lưu trữ dữ liệu văn bản do người dùng cung cấp. Ứng dụng mẫu sử dụng các tệp cấu hình để định cấu hình cài đặt PHP và để tạo bảng trong cơ sở dữ liệu cho ứng dụng sử dụng. Nó cũng chỉ ra cách sử dụng tệp Trình soạn thảo để cài đặt các gói trong quá trình triển khai

điều kiện tiên quyết

Trước khi bạn bắt đầu, hãy tải xuống gói nguồn ứng dụng mẫu từ GitHub. eb-demo-php-simple-app-1. 3. khóa kéo

Các quy trình trong hướng dẫn này dành cho các tác vụ Amazon Relational Database Service [Amazon RDS] giả định rằng bạn đang khởi chạy tài nguyên trong Amazon Virtual Private Cloud [Amazon VPC] mặc định. Tất cả các tài khoản mới bao gồm một VPC mặc định ở mỗi khu vực. Nếu bạn không có VPC mặc định, quy trình sẽ thay đổi. Xem Sử dụng Elastic Beanstalk với Amazon RDS để biết hướng dẫn về nền tảng EC2-Classic và VPC tùy chỉnh

Khởi chạy một phiên bản CSDL trong Amazon RDS

Để sử dụng cơ sở dữ liệu bên ngoài với ứng dụng đang chạy trong Elastic Beanstalk, trước tiên hãy khởi chạy phiên bản CSDL với Amazon RDS. Khi bạn khởi chạy một phiên bản với Amazon RDS, phiên bản đó hoàn toàn độc lập với Elastic Beanstalk và môi trường Elastic Beanstalk của bạn, đồng thời sẽ không bị Elastic Beanstalk chấm dứt hoặc theo dõi

Sử dụng bảng điều khiển Amazon RDS để khởi chạy phiên bản CSDL MySQL Multi-AZ. Việc chọn triển khai Multi-AZ đảm bảo rằng cơ sở dữ liệu của bạn sẽ chuyển đổi dự phòng và tiếp tục khả dụng nếu phiên bản CSDL nguồn ngừng hoạt động

Để khởi chạy phiên bản RDS DB trong VPC mặc định

  1. Mở bảng điều khiển RDS

  2. Trong ngăn điều hướng, chọn Cơ sở dữ liệu

  3. Chọn Tạo cơ sở dữ liệu

  4. Chọn Chuẩn Tạo

    Không chọn Easy Create. Nếu bạn chọn nó, bạn không thể định cấu hình các cài đặt cần thiết để khởi chạy RDS DB này

  5. Trong Cấu hình bổ sung, đối với Tên cơ sở dữ liệu ban đầu, nhập ebdb

  6. Xem lại cài đặt mặc định và điều chỉnh các cài đặt này theo yêu cầu cụ thể của bạn. Hãy chú ý đến các tùy chọn sau

    • Lớp phiên bản CSDL – Chọn kích thước phiên bản có dung lượng bộ nhớ và sức mạnh CPU phù hợp với khối lượng công việc của bạn

    • Triển khai Multi-AZ – Để có tính sẵn sàng cao, hãy đặt tùy chọn này thành Tạo nút Bản sao/Bộ đọc Aurora trong một AZ khác

    • Tên người dùng chính và Mật khẩu chính – Tên người dùng và mật khẩu cơ sở dữ liệu. Ghi lại các cài đặt này vì bạn sẽ sử dụng chúng sau này

  7. Xác minh cài đặt mặc định cho các tùy chọn còn lại, sau đó chọn Tạo cơ sở dữ liệu

Tiếp theo, hãy sửa đổi nhóm bảo mật được đính kèm với phiên bản CSDL của bạn để cho phép lưu lượng truy cập vào trên cổng thích hợp. Đây cũng chính là nhóm bảo mật mà bạn sẽ đính kèm vào môi trường Elastic Beanstalk của mình sau này, vì vậy quy tắc mà bạn thêm vào sẽ cấp quyền truy cập cho các tài nguyên khác trong cùng một nhóm bảo mật

Để sửa đổi các quy tắc gửi đến trên nhóm bảo mật được đính kèm với phiên bản RDS của bạn

  1. Mở bảng điều khiển Amazon RDS

  2. Chọn cơ sở dữ liệu

  3. Chọn tên phiên bản CSDL của bạn để xem thông tin chi tiết

  4. Trong phần Kết nối, hãy ghi lại các Mạng con, Nhóm bảo mật và Điểm cuối được hiển thị trên trang này. Điều này là để bạn có thể sử dụng thông tin này sau

  5. Trong Bảo mật, bạn có thể thấy nhóm bảo mật được liên kết với phiên bản CSDL. Mở liên kết để xem nhóm bảo mật trong bảng điều khiển Amazon EC2

  6. Trong chi tiết nhóm bảo mật, chọn Inbound

  7. Chọn Chỉnh sửa

  8. Chọn Thêm quy tắc

  9. Đối với Loại, hãy chọn công cụ DB mà ứng dụng của bạn sử dụng

  10. Đối với Nguồn, hãy nhập sg- để xem danh sách các nhóm bảo mật khả dụng. Chọn nhóm bảo mật được liên kết với nhóm Auto Scaling được sử dụng với môi trường Elastic Beanstalk của bạn. Điều này là để các phiên bản Amazon EC2 trong môi trường có thể truy cập vào cơ sở dữ liệu

  11. Chọn Lưu

Tạo phiên bản CSDL mất khoảng 10 phút. Trong thời gian chờ đợi, hãy tạo môi trường Elastic Beanstalk của bạn

Tạo môi trường Elastic Beanstalk

Sử dụng bảng điều khiển Elastic Beanstalk để tạo môi trường Elastic Beanstalk. Chọn nền tảng PHP và chấp nhận cài đặt mặc định và mã mẫu. Sau khi khởi chạy môi trường, bạn có thể định cấu hình môi trường để kết nối với cơ sở dữ liệu, sau đó triển khai ứng dụng mẫu mà bạn đã tải xuống từ GitHub

Để khởi chạy một môi trường [bảng điều khiển]

Quá trình tạo môi trường mất khoảng 5 phút và tạo các tài nguyên sau

  • Phiên bản EC2 – Máy ảo Amazon Elastic Compute Cloud [Amazon EC2] được định cấu hình để chạy các ứng dụng web trên nền tảng mà bạn chọn

    Mỗi nền tảng chạy một bộ phần mềm, tệp cấu hình và tập lệnh cụ thể để hỗ trợ một phiên bản ngôn ngữ, khung, bộ chứa web cụ thể hoặc sự kết hợp của những thứ này. Hầu hết các nền tảng sử dụng Apache hoặc NGINX làm proxy ngược đặt trước ứng dụng web của bạn, chuyển tiếp các yêu cầu tới ứng dụng đó, cung cấp nội dung tĩnh và tạo nhật ký truy cập và lỗi

  • Nhóm bảo mật phiên bản – Nhóm bảo mật Amazon EC2 được định cấu hình để cho phép lưu lượng truy cập vào trên cổng 80. Tài nguyên này cho phép lưu lượng HTTP từ bộ cân bằng tải đến phiên bản EC2 đang chạy ứng dụng web của bạn. Theo mặc định, lưu lượng truy cập không được phép trên các cổng khác

  • Bộ cân bằng tải – Bộ cân bằng tải Cân bằng tải đàn hồi được định cấu hình để phân phối các yêu cầu đến các phiên bản đang chạy ứng dụng của bạn. Bộ cân bằng tải cũng loại bỏ nhu cầu hiển thị trực tiếp các phiên bản của bạn với internet

  • Nhóm bảo mật cân bằng tải – Nhóm bảo mật Amazon EC2 được định cấu hình để cho phép lưu lượng truy cập vào trên cổng 80. Tài nguyên này cho phép lưu lượng HTTP từ internet đến bộ cân bằng tải. Theo mặc định, lưu lượng truy cập không được phép trên các cổng khác

  • Auto Scaling group – Nhóm Auto Scaling được định cấu hình để thay thế một phiên bản nếu phiên bản đó bị chấm dứt hoặc không khả dụng

  • Bộ chứa Amazon S3 – Một vị trí lưu trữ mã nguồn, nhật ký và các thành phần tạo tác phẩm khác được tạo khi bạn sử dụng Elastic Beanstalk

  • Cảnh báo Amazon CloudWatch – Hai cảnh báo CloudWatch theo dõi tải trên các phiên bản trong môi trường của bạn và được kích hoạt nếu tải quá cao hoặc quá thấp. Khi báo thức được kích hoạt, nhóm Auto Scaling của bạn sẽ tăng hoặc giảm tỷ lệ để phản hồi

  • Ngăn xếp AWS CloudFormation – Bean Beanalk đàn hồi sử dụng AWS CloudFormation để khởi chạy tài nguyên trong môi trường của bạn và phổ biến các thay đổi cấu hình. Các tài nguyên được xác định trong một mẫu mà bạn có thể xem trong bảng điều khiển AWS CloudFormation

  • Tên miền – Một tên miền định tuyến đến ứng dụng web của bạn ở dạng subdomain. region. đàn hồi. com

Tất cả các tài nguyên này được quản lý bởi Elastic Beanstalk. Khi bạn chấm dứt môi trường của mình, Elastic Beanstalk sẽ chấm dứt tất cả các tài nguyên chứa trong đó. Phiên bản RDS DB mà bạn đã khởi chạy nằm ngoài môi trường của bạn, vì vậy bạn chịu trách nhiệm quản lý vòng đời của nó

Bộ chứa Amazon S3 mà Elastic Beanstalk tạo được chia sẻ giữa các môi trường và không bị xóa trong quá trình chấm dứt môi trường. Để biết thêm thông tin, xem Sử dụng Elastic Beanstalk với Amazon S3

Định cấu hình nhóm bảo mật, thuộc tính môi trường và chia tỷ lệ

Thêm nhóm bảo mật của phiên bản CSDL vào môi trường đang chạy của bạn. Quy trình này khiến Bean Beanalk cung cấp lại tất cả các phiên bản trong môi trường của bạn với nhóm bảo mật bổ sung được đính kèm

Để thêm một nhóm bảo mật vào môi trường của bạn

  • làm một điều trong số sau đây

    • Để thêm một nhóm bảo mật bằng bảng điều khiển Elastic Beanstalk

      1. Mở bảng điều khiển Elastic Beanstalk và trong danh sách Khu vực, hãy chọn Khu vực AWS của bạn

      2. Trong ngăn điều hướng, chọn Môi trường rồi chọn tên môi trường của bạn từ danh sách

        Nếu bạn có nhiều môi trường, hãy sử dụng thanh tìm kiếm để lọc danh sách môi trường

      3. Trong ngăn điều hướng, chọn Cấu hình

      4. Trong danh mục Cấu hình phiên bản, chọn Chỉnh sửa

      5. Trong nhóm bảo mật EC2, chọn nhóm bảo mật để đính kèm vào phiên bản, ngoài nhóm bảo mật phiên bản mà Elastic Beanstalk tạo

      6. Chọn Áp dụng ở cuối trang

      7. Đọc cảnh báo rồi chọn Xác nhận

    • Để thêm nhóm bảo mật bằng tệp cấu hình, hãy sử dụng tệp securitygroup-addexisting.configexample

Tiếp theo, hãy sử dụng thuộc tính môi trường để chuyển thông tin kết nối đến môi trường của bạn. Ứng dụng mẫu sử dụng một bộ thuộc tính mặc định khớp với những thuộc tính mà Elastic Beanstalk định cấu hình khi bạn cung cấp cơ sở dữ liệu trong môi trường của mình

Để định cấu hình thuộc tính môi trường cho phiên bản Amazon RDS DB

  1. Mở bảng điều khiển Elastic Beanstalk và trong danh sách Khu vực, hãy chọn Khu vực AWS của bạn

  2. Trong ngăn điều hướng, chọn Môi trường rồi chọn tên môi trường của bạn từ danh sách

    Nếu bạn có nhiều môi trường, hãy sử dụng thanh tìm kiếm để lọc danh sách môi trường

  3. Trong ngăn điều hướng, chọn Cấu hình

  4. Trong danh mục Cấu hình phần mềm, chọn Chỉnh sửa

  5. Trong phần Thuộc tính môi trường, hãy xác định các biến mà ứng dụng của bạn đọc để tạo chuỗi kết nối. Để tương thích với các môi trường có phiên bản RDS DB tích hợp, hãy sử dụng các tên và giá trị sau. Bạn có thể tìm thấy tất cả các giá trị, ngoại trừ mật khẩu của mình, trong bảng điều khiển RDS

    Tên thuộc tính Mô tả Giá trị thuộc tính

    RDS_HOSTNAME

    Tên máy chủ của phiên bản CSDL

    Trên tab Kết nối & bảo mật trên bảng điều khiển Amazon RDS. điểm cuối

    RDS_PORT

    Cổng nơi phiên bản CSDL chấp nhận kết nối. Giá trị mặc định khác nhau giữa các công cụ DB

    Trên tab Kết nối & bảo mật trên bảng điều khiển Amazon RDS. Hải cảng

    RDS_DB_NAME

    Tên cơ sở dữ liệu, ebdb

    Trên tab Cấu hình trên bảng điều khiển Amazon RDS. Tên cơ sở dữ liệu

    RDS_USERNAME

    Tên người dùng mà bạn đã định cấu hình cho cơ sở dữ liệu của mình

    Trên tab Cấu hình trên bảng điều khiển Amazon RDS. tên người dùng chính

    sg-0

    Mật khẩu mà bạn đã cấu hình cho cơ sở dữ liệu của mình

    Không có sẵn để tham khảo trong bảng điều khiển Amazon RDS

  6. Chọn Áp dụng ở cuối trang

Cuối cùng, định cấu hình nhóm Auto Scaling trong môi trường của bạn với số lượng phiên bản tối thiểu cao hơn. Luôn chạy ít nhất hai phiên bản để ngăn các máy chủ web trong môi trường của bạn trở thành một điểm lỗi duy nhất và để cho phép bạn triển khai các thay đổi mà không cần ngừng cung cấp dịch vụ cho trang web của mình

Để định cấu hình nhóm Auto Scaling trong môi trường của bạn để có tính sẵn sàng cao

  1. Mở bảng điều khiển Elastic Beanstalk và trong danh sách Khu vực, hãy chọn Khu vực AWS của bạn

  2. Trong ngăn điều hướng, chọn Môi trường rồi chọn tên môi trường của bạn từ danh sách

    Nếu bạn có nhiều môi trường, hãy sử dụng thanh tìm kiếm để lọc danh sách môi trường

  3. Trong ngăn điều hướng, chọn Cấu hình

  4. Trong danh mục Cấu hình dung lượng, chọn Chỉnh sửa

  5. Trong phần nhóm Auto Scaling, đặt Phiên bản tối thiểu thành sg-1

  6. Chọn Áp dụng ở cuối trang

Triển khai ứng dụng mẫu

Bây giờ, môi trường của bạn đã sẵn sàng để chạy ứng dụng mẫu và kết nối với Amazon RDS. Triển khai ứng dụng mẫu vào môi trường của bạn

Tải xuống gói nguồn từ GitHub, nếu bạn chưa có. eb-demo-php-simple-app-1. 3. khóa kéo

Để triển khai gói nguồn

  1. Mở bảng điều khiển Elastic Beanstalk và trong danh sách Khu vực, hãy chọn Khu vực AWS của bạn

  2. Trong ngăn điều hướng, chọn Môi trường rồi chọn tên môi trường của bạn từ danh sách

    Nếu bạn có nhiều môi trường, hãy sử dụng thanh tìm kiếm để lọc danh sách môi trường

  3. Trên trang tổng quan về môi trường, chọn Tải lên và triển khai

  4. Sử dụng hộp thoại trên màn hình để tải gói nguồn lên

  5. Chọn triển khai

  6. Khi quá trình triển khai hoàn tất, bạn có thể chọn URL trang web để mở trang web của mình trong tab mới

Trang web thu thập nhận xét của người dùng và sử dụng cơ sở dữ liệu MySQL để lưu trữ dữ liệu. Để thêm nhận xét, hãy chọn Chia sẻ suy nghĩ của bạn, nhập nhận xét rồi chọn Gửi suy nghĩ của bạn. Ứng dụng web ghi nhận xét vào cơ sở dữ liệu để bất kỳ phiên bản nào trong môi trường đều có thể đọc được và nó sẽ không bị mất nếu các phiên bản ngừng hoạt động

Dọn dẹp

Khi hoàn thành công việc với Elastic Beanstalk, bạn có thể chấm dứt môi trường của mình. Elastic Beanstalk chấm dứt tất cả các tài nguyên AWS được liên kết với môi trường của bạn, chẳng hạn như phiên bản Amazon EC2, phiên bản cơ sở dữ liệu, bộ cân bằng tải, nhóm bảo mật và cảnh báo

Để chấm dứt môi trường Elastic Beanstalk của bạn

  1. Mở bảng điều khiển Elastic Beanstalk và trong danh sách Khu vực, hãy chọn Khu vực AWS của bạn

  2. Trong ngăn điều hướng, chọn Môi trường rồi chọn tên môi trường của bạn từ danh sách

    Nếu bạn có nhiều môi trường, hãy sử dụng thanh tìm kiếm để lọc danh sách môi trường

  3. Chọn Hành động rồi chọn Chấm dứt môi trường

  4. Sử dụng hộp thoại trên màn hình để xác nhận chấm dứt môi trường

Với Elastic Beanstalk, bạn có thể dễ dàng tạo môi trường mới cho ứng dụng của mình bất kỳ lúc nào

Ngoài ra, bạn có thể chấm dứt các tài nguyên cơ sở dữ liệu mà bạn đã tạo bên ngoài môi trường Elastic Beanstalk của mình. Khi chấm dứt một phiên bản Amazon RDS DB, bạn có thể chụp nhanh và khôi phục dữ liệu về một phiên bản khác sau

Để chấm dứt phiên bản RDS DB của bạn

  1. Mở bảng điều khiển Amazon RDS

  2. Chọn cơ sở dữ liệu

  3. Chọn phiên bản CSDL của bạn

  4. Chọn Hành động, rồi chọn Xóa

  5. Chọn có tạo ảnh tức thời hay không rồi chọn Xóa

Bước tiếp theo

Khi bạn tiếp tục phát triển ứng dụng của mình, có thể bạn sẽ muốn có một cách để quản lý môi trường và triển khai ứng dụng của mình mà không cần tạo thủ công một ứng dụng. zip và tải nó lên bảng điều khiển Elastic Beanstalk. Giao diện dòng lệnh đàn hồi Beanstalk [EB CLI] cung cấp các lệnh dễ sử dụng để tạo, định cấu hình và triển khai các ứng dụng cho môi trường đàn hồi Beanstalk từ dòng lệnh

Ứng dụng mẫu sử dụng tệp cấu hình để định cấu hình cài đặt PHP và tạo bảng trong cơ sở dữ liệu nếu nó chưa tồn tại. Bạn cũng có thể sử dụng tệp cấu hình để định cấu hình cài đặt nhóm bảo mật cho các phiên bản của mình trong quá trình tạo môi trường để tránh cập nhật cấu hình tốn thời gian. Xem Tùy chỉnh môi trường nâng cao với các tệp cấu hình [. ebextensions] để biết thêm thông tin

Để phát triển và thử nghiệm, bạn có thể muốn sử dụng chức năng Elastic Beanstalk để thêm trực tiếp một phiên bản CSDL được quản lý vào môi trường của mình. Để biết hướng dẫn về cách thiết lập cơ sở dữ liệu bên trong môi trường của bạn, hãy xem Thêm cơ sở dữ liệu vào môi trường Elastic Beanstalk của bạn

Nếu bạn cần cơ sở dữ liệu hiệu năng cao, hãy cân nhắc sử dụng Amazon Aurora. Amazon Aurora là một công cụ cơ sở dữ liệu tương thích với MySQL cung cấp các tính năng cơ sở dữ liệu thương mại với chi phí thấp. Để kết nối ứng dụng của bạn với một cơ sở dữ liệu khác, hãy lặp lại các bước cấu hình nhóm bảo mật và cập nhật các thuộc tính môi trường liên quan đến RDS

Cuối cùng, nếu bạn dự định sử dụng ứng dụng của mình trong môi trường sản xuất, bạn sẽ muốn định cấu hình tên miền tùy chỉnh cho môi trường của mình và bật HTTPS cho các kết nối an toàn

Làm cách nào để cài đặt PHP trong AWS?

Bước 1 – Tạo Phiên bản điện toán đám mây đàn hồi AWS, để thực hiện việc này, hãy truy cập How-To-Create-EC2-Instance. Bước 4 – Một lời nhắc sẽ bật lên sau khi kết nối. Bước 5 – Kiểm tra lần đầu, nếu PHP đã được cài đặt hay chưa. Bước 7 – Một lời nhắc sẽ xuất hiện yêu cầu bạn xác nhận, nhấn 'y' để xác nhận

AWS S3 có thể chạy PHP không?

S3 không chạy bất kỳ loại tập lệnh CGI nào [PHP, Perl, Ruby, v.v.]. Hãy nghĩ về nó như một kho lưu trữ hình ảnh và html tĩnh. Nếu bạn muốn lưu trữ ứng dụng PHP của mình trên AWS, hãy cân nhắc sử dụng AWS Beanstalk. Nó sẽ khởi chạy một môi trường [máy chủ, IP, v.v.] nơi bạn có thể triển khai và chạy ứng dụng PHP của mình một cách dễ dàng.

AWS PHP là gì?

PHP trong Cloud9 IDE. AWS Cloud9 là IDE dựa trên đám mây cho phép bạn viết, chạy và gỡ lỗi mã của mình chỉ bằng một trình duyệt . Nó bao gồm trình chỉnh sửa mã, trình gỡ lỗi và thiết bị đầu cuối. Bắt đầu »

Làm cách nào để di chuyển PHP sang AWS?

Bạn cũng có thể tham khảo hướng dẫn di chuyển cụ thể cho WordPress, Drupal và Joomla. .
Bước 1. Sao lưu dữ liệu hiện có. .
Bước 2. Khởi chạy một máy chủ đám mây. .
Bước 3. Sao chép tệp vào máy chủ đám mây. .
Bước 4. Chuyển cơ sở dữ liệu ứng dụng sang máy chủ đám mây. .
Bước 5. Khởi động lại máy chủ

Chủ Đề