Tác giả: Chandu Utlapalli
Ngày phát hành: 13 APR 2026
Chuyên mục: Amazon EC2, AWS Elastic Beanstalk, Foundation models
Giới thiệu
AWS Elastic Beanstalk đơn giản hóa quy trình triển khai và mở rộng ứng dụng web. Bạn tải mã của mình lên, và Elastic Beanstalk sẽ xử lý việc cấp phát dung lượng, cân bằng tải, tự động mở rộng và giám sát tình trạng ứng dụng.
Elastic Beanstalk hiện cung cấp tính năng Phân tích AI để giúp khắc phục các sự cố về tình trạng môi trường. Khi bạn yêu cầu phân tích, Elastic Beanstalk sẽ kích hoạt một script trên phiên bản Amazon EC2 trong môi trường của bạn. Script này thu thập các sự kiện môi trường, dữ liệu tình trạng và nhật ký phiên bản, gửi chúng đến Amazon Bedrock để phân tích, và tải kết quả lên Amazon S3. Kết quả là một tập hợp các khuyến nghị khắc phục sự cố từng bước được tùy chỉnh cho các vấn đề cụ thể của môi trường bạn, giúp bạn giảm thời gian trung bình để giải quyết (MTTR).
Trong bảng điều khiển Elastic Beanstalk, nút Phân tích AI xuất hiện trên trang tổng quan môi trường khi trạng thái tình trạng môi trường của bạn chuyển sang Warning, Degraded hoặc Severe. Phân tích AI cũng có thể truy cập được từ trang nhật ký trong bảng điều khiển, AWS CLI hoặc EB CLI.
Điều kiện tiên quyết
Trước khi bắt đầu, hãy đảm bảo rằng bạn có những điều sau:
- Một tài khoản AWS có quyền truy cập vào AWS Elastic Beanstalk và Amazon Bedrock.
- Phiên bản nền tảng Elastic Beanstalk được hỗ trợ – Phân tích AI khả dụng trên các phiên bản nền tảng dựa trên Amazon Linux 2 và AL2023 được phát hành vào hoặc sau ngày 16 tháng 2 năm 2026. Hãy cập nhật môi trường của bạn lên phiên bản nền tảng được hỗ trợ nếu cần.
- Hồ sơ phiên bản (Instance profile) với các quyền cần thiết – Các chính sách được quản lý AWSElasticBeanstalkWebTier, AWSElasticBeanstalkWorkerTier và AWSElasticBeanstalkMulticontainerDocker hiện bao gồm các quyền cần thiết cho phân tích AI. Đính kèm một hoặc nhiều chính sách được quản lý này vào hồ sơ phiên bản của môi trường bạn dựa trên cấp độ môi trường của bạn. Nếu bạn sử dụng hồ sơ phiên bản tùy chỉnh, hãy đảm bảo nó bao gồm các quyền sau:
bedrock:InvokeModelbedrock:ListFoundationModelselasticbeanstalk:DescribeEventselasticbeanstalk:DescribeEnvironmentHealth
- AWS CLI đã được cài đặt và cấu hình với các quyền thích hợp. Xem Cài đặt AWS CLI.
- Chi tiết trường hợp sử dụng Anthropic – Phân tích AI sử dụng các mô hình Anthropic Claude thông qua Amazon Bedrock. Anthropic yêu cầu bạn gửi một biểu mẫu chi tiết trường hợp sử dụng một lần trước khi bạn có thể gọi các mô hình của họ. Để gửi biểu mẫu này, hãy chọn một mô hình Anthropic từ danh mục mô hình trong bảng điều khiển Amazon Bedrock, hoặc gọi API PutUseCaseForModelAccess. Bạn chỉ cần thực hiện việc này một lần cho mỗi tài khoản AWS. Nếu bạn gửi biểu mẫu từ tài khoản quản lý AWS Organizations, nó sẽ tự động bao gồm các tài khoản thành viên trong tổ chức. Để biết thêm thông tin, hãy xem Truy cập các mô hình nền tảng Amazon Bedrock.
- Các Region GovCloud – Nếu bạn đang sử dụng các Region AWS GovCloud (US), bạn phải bật quyền truy cập vào mô hình Anthropic Claude Sonnet và/hoặc Opus mới nhất trong Amazon Bedrock trước khi sử dụng phân tích AI. Để biết hướng dẫn về cách bật quyền truy cập mô hình trong các Region GovCloud, hãy xem Quản lý quyền truy cập vào các mô hình nền tảng Amazon Bedrock. Để biết thông tin về mô hình Anthropic Claude Sonnet và/hoặc Opus mới nhất hiện có, hãy xem Các Region và mô hình được hỗ trợ cho hồ sơ suy luận.
Tổng quan giải pháp
Trong các phần sau, chúng tôi sẽ trình bày cách sử dụng Phân tích AI để chẩn đoán một ứng dụng Node.js bị lỗi sau khi triển khai.
- Tạo môi trường hoạt động: Triển khai một ứng dụng Node.js lên Elastic Beanstalk bằng cách sử dụng các đoạn mã được cung cấp bên dưới.
- Làm hỏng môi trường: Cập nhật ứng dụng bằng mã yêu cầu các biến môi trường bị thiếu. Điều này khiến trạng thái tình trạng môi trường chuyển sang Degraded.
- Sử dụng Phân tích AI: Yêu cầu Phân tích AI từ bảng điều khiển Elastic Beanstalk hoặc AWS CLI để xác định nguyên nhân gốc rễ của sự suy giảm tình trạng.
- Áp dụng bản sửa lỗi và xác minh: Áp dụng các khuyến nghị được tạo bởi Phân tích AI và xác nhận rằng tình trạng môi trường trở lại Ok.
Hình sau đây cho thấy cách Phân tích AI hoạt động:

Hình 1 – Kiến trúc phân tích AI
- Bạn khởi tạo yêu cầu thông qua bảng điều khiển Elastic Beanstalk (nút AI Analysis) hoặc AWS CLI (API RequestEnvironmentInfo với InfoType được đặt thành “analyze”).
- Elastic Beanstalk thu thập dữ liệu môi trường, phân tích nó bằng cách sử dụng Amazon Bedrock (một dịch vụ được quản lý hoàn toàn cung cấp quyền truy cập vào các mô hình nền tảng thông qua API), và lưu trữ kết quả trong Amazon S3.
- Bạn truy xuất kết quả thông qua bảng điều khiển hoặc API RetrieveEnvironmentInfo bằng CLI.
Hướng dẫn chi tiết
Làm theo các bước dưới đây để thiết lập ứng dụng mẫu, làm hỏng nó, khắc phục sự cố bằng Phân tích AI và khôi phục môi trường về trạng thái khỏe mạnh.
Để thử tính năng này, hãy mở terminal của bạn và làm theo các bước dưới đây để tạo một môi trường Elastic Beanstalk mẫu. Đầu tiên, hãy đặt các biến sau. Thay thế các giá trị bằng tên S3 bucket duy nhất của riêng bạn và stack giải pháp Node.js mới nhất cho Region của bạn. Để tìm stack giải pháp mới nhất, hãy chạy aws elasticbeanstalk list-available-solution-stacks.
S3_BUCKET="your-unique-bucket-name"SOLUTION_STACK_NAME="64bit Amazon Linux 2023 v6.9.0 running Node.js 22"
Thiết lập ứng dụng
Chúng tôi sử dụng hai phiên bản của một ứng dụng Node.js đơn giản. Phiên bản đầu tiên (v1-working) là một máy chủ HTTP cơ bản phản hồi các yêu cầu thành công. Phiên bản thứ hai (v2-broken) giới thiệu một sự phụ thuộc vào các biến môi trường chưa được cấu hình trong môi trường Elastic Beanstalk, mô phỏng một vấn đề triển khai phổ biến.
Tạo thư mục dự án:
mkdir test-app && cd test-app
Tạo tệp ứng dụng hoạt động (v1-working):
cat << 'EOF' > workingapp.jsconst http = require('http');const server = http.createServer((req, res) => { res.writeHead(200, { 'Content-Type': 'application/json' }); res.end(JSON.stringify({ status: 'healthy', message: 'App is running' }));});const port = process.env.PORT || 8080;server.listen(port, () => { console.log(`Server running on port ${port}`);});EOF
Tạo tệp ứng dụng bị lỗi (v2-broken):
cat << 'EOF' > brokenapp.jsconst http = require('http');// Application requires these environment variables to functionconst VAR_1 = process.env.TEST_VARIABLE_1;const VAR_2 = process.env.TEST_VARIABLE_2;const VAR_3 = process.env.TEST_VARIABLE_3;if (!VAR_1 || !VAR_2 || !VAR_3) { throw new Error( `Missing required environment variables. ` + `TEST_VARIABLE_1: ${VAR_1 ? 'set' : 'MISSING'}, ` + `TEST_VARIABLE_2: ${VAR_2 ? 'set' : 'MISSING'}, ` + `TEST_VARIABLE_3: ${VAR_3 ? 'set' : 'MISSING'}` );}const server = http.createServer((req, res) => { res.writeHead(200, { 'Content-Type': 'application/json' }); res.end(JSON.stringify({ status: 'healthy', db: VAR_1 }));});const port = process.env.PORT || 8080;server.listen(port, () => { console.log(`Server running on port ${port}`);});EOF
Tạo package.json:
cat << 'EOF' > package.json{ "name": "test-app", "version": "1.0.0", "description": "Sample app that requires environment variables", "main": "app.js", "scripts": { "start": "node app.js" }}EOF
Tạo gói mã nguồn ứng dụng hoạt động:
cp workingapp.js app.jszip -r nodejs-working-app.zip app.js package.json
Tạo gói mã nguồn ứng dụng bị lỗi:
cp brokenapp.js app.jszip -r nodejs-broken-app.zip app.js package.json
Bước 1: Tạo môi trường hoạt động
Đầu tiên, hãy tạo ứng dụng Elastic Beanstalk và triển khai phiên bản hoạt động.
Tạo một S3 bucket:
aws s3 mb s3://$S3_BUCKET --region us-east-1
Tải gói mã nguồn ứng dụng hoạt động lên:
aws s3 cp nodejs-working-app.zip s3://$S3_BUCKET/nodejs-working-app.zip
Tạo ứng dụng Elastic Beanstalk:
aws elasticbeanstalk create-application \ --application-name test-app \ --description "Test application" \ --region us-east-1
Tạo phiên bản ứng dụng:
aws elasticbeanstalk create-application-version \ --application-name test-app \ --version-label v1-working \ --source-bundle S3Bucket="$S3_BUCKET",S3Key="nodejs-working-app.zip" \ --region us-east-1
Tạo môi trường với phiên bản hoạt động:
aws elasticbeanstalk create-environment \ --application-name test-app \ --environment-name test-app-env \ --solution-stack-name "$SOLUTION_STACK_NAME" \ --version-label v1-working \ --option-settings \ Namespace=aws:elasticbeanstalk:environment,OptionName=EnvironmentType,Value=SingleInstance \ Namespace=aws:autoscaling:launchconfiguration,OptionName=IamInstanceProfile,Value=aws-elasticbeanstalk-ec2-role \ --region us-east-1
Sau khi môi trường của bạn được tạo, hãy xác minh tình trạng:
aws elasticbeanstalk describe-environment-health \ --environment-name test-app-env \ --attribute-names All \ --region us-east-1
Đầu ra:
{ "EnvironmentName": "test-app-env", "HealthStatus": "Ok", "Status": "Ready", "Color": "Green", "Causes": [ "Initialization completed 31 seconds ago and took 2 minutes." ], "ApplicationMetrics": { "RequestCount": 0 }, "InstancesHealth": { "NoData": 0, "Unknown": 0, "Pending": 0, "Ok": 1, "Info": 0, "Warning": 0, "Degraded": 0, "Severe": 0 }, "RefreshedAt": "2026-03-25T16:39:11Z"}

Hình 2 – Tình trạng môi trường hiển thị trạng thái Ok (Xanh lá) sau khi triển khai ban đầu
Bước 2: Làm hỏng môi trường
Bây giờ, hãy triển khai phiên bản bị lỗi yêu cầu các biến môi trường bị thiếu.
Tải phiên bản bị lỗi lên:
aws s3 cp nodejs-broken-app.zip s3://$S3_BUCKET/nodejs-broken-app.zip
Tạo phiên bản ứng dụng bị lỗi:
aws elasticbeanstalk create-application-version \ --application-name test-app \ --version-label v2-broken \ --source-bundle S3Bucket="$S3_BUCKET",S3Key="nodejs-broken-app.zip" \ --region us-east-1
Triển khai phiên bản bị lỗi:
aws elasticbeanstalk update-environment \ --environment-name test-app-env \ --version-label v2-broken \ --region us-east-1
Trong vòng vài giây sau khi triển khai hoàn tất, tình trạng môi trường chuyển từ Ok sang Degraded:
aws elasticbeanstalk describe-environment-health \ --environment-name test-app-env \ --attribute-names All \ --region us-east-1
Đầu ra:
{ "EnvironmentName": "test-app-env", "HealthStatus": "Degraded", "Status": "Ready", "Color": "Red", "Causes": [ "Impaired services on all instances." ], "ApplicationMetrics": { "RequestCount": 0 }, "InstancesHealth": { "NoData": 0, "Unknown": 0, "Pending": 0, "Ok": 0, "Info": 0, "Warning": 0, "Degraded": 0, "Severe": 1 }, "RefreshedAt": "2026-03-25T16:43:19Z"}

Hình 3 – Tình trạng môi trường hiển thị trạng thái Degraded (Đỏ) với nút AI Analysis hiển thị
Bước 3: Sử dụng Phân tích AI
Yêu cầu phân tích AI từ AWS CLI hoặc bảng điều khiển Elastic Beanstalk. Cả hai phương pháp đều cho ra kết quả giống nhau. Cách tiếp cận CLI hữu ích cho tự động hóa và viết script, trong khi bảng điều khiển cung cấp một quy trình làm việc trực quan nơi bạn có thể xem kết quả trực tiếp trên trang môi trường. Chúng tôi sẽ trình bày cả hai tùy chọn dưới đây.
Sử dụng AWS CLI
Yêu cầu phân tích:
aws elasticbeanstalk request-environment-info \ --environment-name test-app-env \ --info-type analyze \ --region us-east-1
Sau khi thao tác yêu cầu môi trường hoàn tất, hãy truy xuất kết quả:
aws elasticbeanstalk retrieve-environment-info \ --environment-name test-app-env \ --info-type analyze \ --region us-east-1
Phản hồi bao gồm một mảng EnvironmentInfo với trường Message chứa URL S3 đã được ký trước đến kết quả phân tích:
{ "EnvironmentInfo": [ { "InfoType": "analyze", "Ec2InstanceId": "i-1234567890abcdef0", "SampleTimestamp": "2026-03-20T20:49:22.763Z", "Message": "https://elasticbeanstalk-us-east-1-123456789012.s3.us-east-1.amazonaws.com/resources/environments/logs/analyze/..." } ]}
Tải xuống và xem phân tích:
ANALYSIS_URL=$(aws elasticbeanstalk retrieve-environment-info \ --environment-name test-app-env \ --info-type analyze \ --region us-east-1 \ --query 'sort_by(EnvironmentInfo, &SampleTimestamp)[-1].Message' \ --output text)curl -s "$ANALYSIS_URL"

Hình 4 – Đầu ra phân tích AI được truy xuất qua AWS CLI
Sử dụng bảng điều khiển Elastic Beanstalk
Khi trạng thái tình trạng môi trường của bạn là Warning, Degraded hoặc Severe, nút AI Analysis sẽ xuất hiện trong phần tổng quan môi trường của bảng điều khiển Elastic Beanstalk.
- Điều hướng đến bảng điều khiển Elastic Beanstalk.
- Chọn môi trường của bạn (test-app-env).
- Trên trang tổng quan môi trường, tìm nút AI Analysis xuất hiện khi trạng thái tình trạng cho thấy có vấn đề.
- Chọn AI Analysis để bắt đầu phân tích.

Video 1 – Yêu cầu phân tích AI từ bảng điều khiển Elastic Beanstalk
Nếu bạn muốn khởi động lại quy trình phân tích, bạn có thể nhấp vào nút Reanalyze để bắt đầu một phân tích mới.
Bước 4: Áp dụng bản sửa lỗi và xác minh
Phân tích AI đã xác định rằng ứng dụng bị lỗi vì môi trường không có ba biến môi trường bắt buộc được cấu hình: TEST_VARIABLE_1, TEST_VARIABLE_2 và TEST_VARIABLE_3. Theo khuyến nghị của phân tích AI, hãy đặt các biến môi trường này để giải quyết vấn đề:
aws elasticbeanstalk update-environment \ --environment-name test-app-env \ --option-settings \ Namespace=aws:elasticbeanstalk:application:environment,OptionName=TEST_VARIABLE_1,Value=value1 \ Namespace=aws:elasticbeanstalk:application:environment,OptionName=TEST_VARIABLE_2,Value=value2 \ Namespace=aws:elasticbeanstalk:application:environment,OptionName=TEST_VARIABLE_3,Value=value3 \ --region us-east-1
Sau khi cập nhật môi trường hoàn tất, ứng dụng khởi động thành công và tình trạng môi trường trở lại Ok:
aws elasticbeanstalk describe-environment-health \ --environment-name test-app-env \ --attribute-names All \ --region us-east-1
Đầu ra:
{ "EnvironmentName": "test-app-env", "HealthStatus": "Ok", "Status": "Ready", "Color": "Green", "Causes": [ "Configuration update completed 72 seconds ago and took 54 seconds." ], "ApplicationMetrics": { "RequestCount": 0 }, "InstancesHealth": { "NoData": 0, "Unknown": 0, "Pending": 0, "Ok": 1, "Info": 0, "Warning": 0, "Degraded": 0, "Severe": 0 }, "RefreshedAt": "2026-03-25T17:42:47Z"}

Hình 5 – Tình trạng môi trường được khôi phục về Ok (Xanh lá) sau khi đặt các biến môi trường
Lưu ý: Các bước trong hướng dẫn này cũng có thể được thực hiện bằng cách sử dụng EB CLI. Để biết thêm thông tin, hãy xem Tài liệu tham khảo lệnh EB CLI.
Các phương pháp hay nhất
Hãy xem xét các khuyến nghị này để tận dụng tối đa phân tích AI cho môi trường của bạn.
- Sử dụng các phiên bản nền tảng được hỗ trợ: Đảm bảo môi trường của bạn đang chạy phiên bản nền tảng Amazon Linux 2 hoặc AL2023 được phát hành vào hoặc sau ngày 16 tháng 2 năm 2026. Cập nhật nền tảng của bạn nếu bạn không thấy tùy chọn Phân tích AI.
- Thực hiện các bản sửa lỗi tăng dần: Nếu phân tích khuyến nghị nhiều hành động, hãy thực hiện chúng từng bước một để cô lập thay đổi nào giải quyết vấn đề.
- Xem xét các cân nhắc về quyền riêng tư dữ liệu: Phân tích gửi các sự kiện và nhật ký môi trường đến Amazon Bedrock đang chạy trong tài khoản của bạn. Để biết thêm thông tin về cách Amazon Bedrock xử lý dữ liệu của bạn, hãy xem tài liệu bảo mật của Amazon Bedrock.
Dọn dẹp
Chấm dứt môi trường:
aws elasticbeanstalk terminate-environment \ --environment-name test-app-env \ --region us-east-1
Xóa ứng dụng (sau khi môi trường bị chấm dứt):
aws elasticbeanstalk delete-application \ --application-name test-app \ --terminate-env-by-force \ --region us-east-1
Xóa S3 bucket được sử dụng cho các gói mã nguồn:
aws s3 rb s3://$S3_BUCKET --force --region us-east-1
Xóa thư mục dự án cục bộ:
rm -rf test-app
Kết luận
Phân tích môi trường được hỗ trợ bởi AI trong AWS Elastic Beanstalk giúp giảm đáng kể thời gian và công sức cần thiết để chẩn đoán các vấn đề về tình trạng môi trường. Thay vì phải phân tích thủ công các tệp nhật ký và đối chiếu tài liệu, giờ đây bạn có thể nhận được các khuyến nghị có mục tiêu, có thể thực hiện được chỉ bằng một cú nhấp chuột vào nút AI Analysis trong bảng điều khiển hoặc một lệnh gọi API.
Cho dù bạn thích sử dụng bảng điều khiển Elastic Beanstalk cho các quy trình làm việc trực quan hay AWS CLI/EB CLI cho việc viết script và tự động hóa, phân tích AI đều cung cấp trải nghiệm nhất quán giúp bạn nhanh chóng xác định nguyên nhân gốc rễ và giải quyết vấn đề.
Để tìm hiểu thêm về phân tích môi trường được hỗ trợ bởi AI, hãy xem Hướng dẫn dành cho nhà phát triển AWS Elastic Beanstalk. Để tìm hiểu thêm về AWS Elastic Beanstalk, hãy truy cập trang sản phẩm.
Về tác giả

Chandu Utlapalli
Chandu là Kỹ sư Phát triển Phần mềm tại AWS, làm việc trong dịch vụ Elastic Beanstalk. Anh tập trung vào việc xây dựng các giải pháp đám mây có khả năng mở rộng và tích hợp các khả năng AI để nâng cao năng suất của nhà phát triển và hoạt động đám mây. Ngoài công việc, Chandu thích chơi cricket.
TAGS: AI/ML, AWS Elastic Beanstalk, Best practices, Developer Tools