AWS Có Gì Mới: Tổng Hợp re:Invent 2025 → Đầu 2026
This is the first part
You've reached the end
AWS ra tính năng mới gần như mỗi ngày, và phần lớn trôi qua trong dòng thông báo mà ít ai kịp thử. Series này là một bản tin định kỳ làm đúng việc lọc: chọn cái đáng quan tâm, nói thẳng vì sao nó đáng, và thử thật cái nào thử được. Kỳ đầu bắt kịp khoảng sáu tháng, từ re:Invent cuối 2025 tới đầu 2026; các kỳ sau sẽ gọn lại theo tháng. Bài đi qua nhiều mảng, từ serverless tới AI, bảo mật, chi phí, và cả những dịch vụ đang bị khai tử. Mọi mục dẫn nguồn tài liệu AWS, và mọi demo đều chạy thật trên một tài khoản thật rồi dọn sạch.
Serverless
Lambda Durable Functions
Lambda giờ chạy được những quy trình nhiều bước, dài hơi ngay trong một hàm, tới một năm, mà vẫn giữ tiến độ qua các lần gián đoạn. Mô hình gọi là durable execution: hàm dùng checkpoint để ghi tiến độ và tự phục hồi bằng cách replay, chạy lại từ đầu nhưng bỏ qua những bước đã xong. Trong code bạn dùng hai khối chính: step (chạy logic, có retry và checkpoint) và wait (tạm dừng không tốn compute). Đây là đối thủ nhẹ ký của Step Functions cho những workflow gắn chặt với code ứng dụng (tài liệu có hẳn mục so sánh hai cái).
Thử thật bằng AWS CLI. Hàm viết bằng SDK mới @aws/durable-execution-sdk-js:
import { withDurableExecution } from "@aws/durable-execution-sdk-js";
export const handler = withDurableExecution(async (event, context) => {
const message = await context.step("greet", (stepCtx) => {
stepCtx.logger.info("STEP greet running");
return "Hello from a durable function!";
});
await context.wait({ seconds: 10 }); // tạm dừng, không tốn compute
context.logger.info("RESUMED after wait"); // replay-aware: chỉ log một lần
return { statusCode: 200, body: message };
});
Kích hoạt durable execution bằng cờ --durable-config khi tạo hàm:
aws lambda create-function --function-name durable-demo --runtime nodejs22.x \
--role "$ROLE" --handler index.handler --zip-file fileb://function.zip \
--durable-config '{"ExecutionTimeout": 900, "RetentionPeriodInDays": 1}'
Gọi nó, và để ý thời gian:
$ time aws lambda invoke --function-name 'durable-demo:$LATEST' --payload '{}' response.json
thời gian invoke: 13s
$ cat response.json
{"statusCode":200,"body":"Hello from a durable function!"}
Mười ba giây, vì hàm tạm dừng 10 giây ở wait rồi mới resume và trả kết quả. Trong 10 giây đó hàm không tốn compute. Bằng chứng thú vị nhất nằm ở log: dù hàm replay từ đầu sau khi resume, mỗi dòng log chỉ xuất hiện đúng một lần:
$ aws logs tail /aws/lambda/durable-demo --since 5m | grep -oE '"message":"[^"]*"' | sort | uniq -c
1 "message":"RESUMED after wait"
1 "message":"STEP greet running"
SDK biết đang replay nên không log lại những gì đã làm. Cơ chế checkpoint-and-replay là vậy: code chạy lại nhưng các bước đã hoàn thành được lấy từ kết quả lưu sẵn thay vì chạy lại. Hợp cho order processing, workflow phê duyệt có người tham gia, hay chuỗi gọi mô hình AI dài. (📄 whats-new · Durable functions)
Lambda cross-account DynamoDB Streams
Một hàm Lambda ở account này giờ được kích hoạt bởi DynamoDB Streams ở account khác, chỉ bằng cách đặt một resource policy lên stream. Trước đây kiến trúc multi-account phải dựng giải pháp nhân bản dữ liệu phức tạp để chia sẻ qua account; giờ bỏ được lớp đó. Đáng chú ý với ai chạy nhiều account theo Organizations. (📄 whats-new)
Containers
EKS Capabilities (GA) — Argo CD được quản lý
Đây là thay đổi đáng chú ý nhất mảng container kỳ này. EKS Capabilities là các thành phần nền tảng được AWS quản lý hoàn toàn, chạy ngoài cluster, để giảm việc vận hành. Ba capability lúc ra mắt: continuous deployment bằng Argo CD, quản lý tài nguyên AWS bằng ACK (AWS Controllers for Kubernetes), và điều phối tài nguyên động bằng KRO (Kube Resource Orchestrator). AWS lo auto scaling, vá, nâng cấp cho chúng; bạn chỉ dùng.
Việc dựng Argo CD tự quản lý (cài, HA, vá, nâng cấp) lâu nay là gánh nặng của đội platform. Capability biến nó thành một lệnh. Thử thật trên một cluster EKS dựng bằng eksctl. Hai điều cần biết trước: capability Argo CD bắt buộc AWS Identity Center để xác thực (không hỗ trợ local user), và cần một IAM role tin tưởng service capabilities.eks.amazonaws.com. Khi đã có cả hai:
aws eks create-capability --cluster-name whatsnew-eks --capability-name my-argocd \
--type ARGOCD --role-arn "$CAPABILITY_ROLE_ARN" --delete-propagation-policy RETAIN \
--configuration '{"argoCd":{
"awsIdc":{"idcInstanceArn":"'$IDC_INSTANCE_ARN'","idcRegion":"ap-southeast-1"},
"rbacRoleMappings":[{"role":"ADMIN","identities":[{"id":"'$IDC_USER_ID'","type":"SSO_USER"}]}]}}'
Lệnh trả về ngay với status CREATING; AWS dựng hạ tầng Argo chạy ngoài cluster và cài CRD vào cluster. Sau vài phút nó ACTIVE:
$ aws eks describe-capability --cluster-name whatsnew-eks --capability-name my-argocd \
--query 'capability.{Name:capabilityName,Type:type,Status:status}'
{ "Name": "my-argocd", "Type": "ARGOCD", "Status": "ACTIVE" }
Bằng chứng rằng Argo CD đã được cài thật: các custom resource của nó xuất hiện trong cluster mà ta không hề helm install hay kubectl apply gì:
$ kubectl api-resources | grep argoproj.io
applications app,apps argoproj.io/v1alpha1 true Application
applicationsets appset,appsets argoproj.io/v1alpha1 true ApplicationSet
appprojects appproj argoproj.io/v1alpha1 true AppProject
Có Application và ApplicationSet là dùng được Argo CD theo lối GitOps: trỏ vào một Git repo, Argo CD đồng bộ trạng thái cluster về đúng những gì khai trong repo. Khác biệt so với tự dựng là toàn bộ phần cài đặt, HA, vá, nâng cấp Argo CD do AWS lo; mỗi loại capability chỉ một cái trên mỗi cluster. (📄 whats-new · Create an Argo CD capability (CLI))
EKS Dashboard
Một bảng điều khiển tập trung nhìn toàn bộ hạ tầng Kubernetes qua nhiều Region và nhiều account trong Organization: phiên bản Kubernetes, trạng thái hỗ trợ, lịch end-of-life auto-upgrade, phiên bản AMI của managed node group, phiên bản add-on. Hữu ích cho việc quản trị và lập kế hoạch ở quy mô nhiều cluster mà không phải nhảy qua lại giữa các Region. (📄 whats-new)
Data
DynamoDB multi-Region strong consistency (GA)
DynamoDB global tables lâu nay là eventually consistent giữa các Region: ghi ở Region A, đọc ở Region B có thể thấy giá trị cũ trong chốc lát. Tính năng mới cho phép strong consistency đa Region (MRSC): đọc ở Region nào cũng thấy ngay giá trị mới nhất, với RPO bằng không. Đổi lại có một ràng buộc kiến trúc cụ thể: MRSC cần đúng ba participant — hai replica và một witness — ở các Region được hỗ trợ (hiện là nhóm US, không có ap-southeast-1).
Thử thật. Tạo bảng rỗng ở us-east-2, rồi bật MRSC kèm replica us-east-1 và witness us-west-2:
aws dynamodb update-table --table-name mrsc-demo --region us-east-2 \
--replica-updates '[{"Create":{"RegionName":"us-east-1"}}]' \
--global-table-witness-updates '[{"Create":{"RegionName":"us-west-2"}}]' \
--multi-region-consistency STRONG
Một lưu ý thực tế: lệnh này lần đầu có thể trả UnrecognizedClientException nếu chạy ngay khi bảng vừa active; thử lại sau vài giây là được. Khi replica và witness đều ACTIVE:
$ aws dynamodb describe-table --table-name mrsc-demo --region us-east-2 \
--query 'Table.{MRSC:MultiRegionConsistency,Replicas:Replicas[*].ReplicaStatus,Witness:GlobalTableWitnesses[*].WitnessStatus}'
{ "MRSC": "STRONG", "Replicas": ["ACTIVE"], "Witness": ["ACTIVE"] }
Giờ là phép thử: ghi ở us-east-2, đọc strong-consistent ngay lập tức ở us-east-1, không chờ:
$ aws dynamodb put-item --table-name mrsc-demo --region us-east-2 \
--item '{"PK":{"S":"song#hey-jude"},"plays":{"N":"100"}}' # 07:52:27
$ aws dynamodb get-item --table-name mrsc-demo --region us-east-1 \
--key '{"PK":{"S":"song#hey-jude"}}' --consistent-read # 07:52:29
{"PK":{"S":"song#hey-jude"},"plays":{"N":"100"}}
Ghi lúc 52:27, đọc strong-consistent ở Region khác lúc 52:29 ra đúng giá trị vừa ghi, không có cửa sổ "đọc trúng giá trị cũ". Và conditional write áp nhất quán xuyên Region: một update-item từ us-east-1 với điều kiện attribute_exists(PK) cộng plays lên 101 thành công. MRSC hợp cho ứng dụng multi-Region cần đảm bảo đọc-sau-ghi tuyệt đối, đổi lại mô hình ba participant và giới hạn Region. (📄 whats-new)
AI và GenAI
Bedrock thêm 18 open-weight model, dùng chung một API
Bedrock mở rộng lớn nhất từ trước tới nay: 18 model open-weight mới từ nhiều nhà cung cấp (Google Gemma 3, Mistral Large 3, Qwen3, OpenAI gpt-oss, NVIDIA Nemotron, MiniMax, Moonshot Kimi...). Điểm hay không phải số lượng mà là cùng một API: gọi model nào cũng qua Converse API thống nhất, đổi model-id là xong, không đổi hạ tầng, không phải xin access từng cái.
Thử thật. Liệt kê vài model mới rồi gọi hai cái khác nhà cung cấp bằng đúng cùng một lệnh:
$ aws bedrock list-foundation-models --region us-east-1 \
--query "modelSummaries[?contains(modelId,'qwen')||contains(modelId,'gpt-oss')].modelId"
openai.gpt-oss-20b-1:0 openai.gpt-oss-120b-1:0 qwen.qwen3-32b-v1:0 qwen.qwen3-next-80b-a3b ...
$ aws bedrock-runtime converse --model-id "qwen.qwen3-32b-v1:0" \
--messages '[{"role":"user","content":[{"text":"Reply in 5 words: why use serverless?"}]}]'
"Cost, scalability, simplicity, speed, no server management."
Một chi tiết đáng biết với model reasoning: gpt-oss trả về hai khối content, reasoningContent rồi mới tới text, nên đọc kết quả phải lấy đúng khối:
$ aws bedrock-runtime converse --model-id "openai.gpt-oss-20b-1:0" --messages '[...]' \
--query 'output.message.content'
[ {"reasoningContent": ...}, {"text": "A Lambda cold start is the latency that occurs when AWS Lambda must spin up a fresh execution environment..."} ]
Chi phí đo được bằng usage trong response (lần gọi trên: 13 input + 10 output = 23 token), nên dễ kiểm soát. (📄 whats-new)
Bedrock AgentCore (GA) và bạn đồng hành
Cùng mạch AI agent, AgentCore đã GA: một nền tảng để xây, triển khai, vận hành agent ở quy mô lớn, với runtime tới tám giờ, session isolation, hỗ trợ giao thức Agent-to-Agent, AgentCore Gateway biến API và hàm Lambda thành tool cho agent, AgentCore Identity, và observability qua CloudWatch. Đầu 2026 thêm managed harness và AgentCore CLI để dựng agent nhanh hơn, cùng việc Bedrock đưa thêm model OpenAI và Codex (limited preview). Đây là hướng AWS đang đẩy mạnh nhất; một bài demo agent riêng sẽ xứng đáng hơn là nhồi vào bản tin. (📄 AgentCore GA · features mới · OpenAI models + Codex)
S3 Vectors (GA)
Một kiểu bucket S3 mới lưu vector native, cho RAG và semantic search ở quy mô tỉ vector, rẻ hơn database vector chuyên dụng tới 90%. Tới hai tỉ vector mỗi index, truy vấn trả về dưới một giây (khoảng 100ms khi query thường xuyên), tích hợp với Bedrock Knowledge Bases.
Thử thật bằng namespace CLI mới s3vectors:
aws s3vectors create-vector-bucket --vector-bucket-name "$B"
aws s3vectors create-index --vector-bucket-name "$B" --index-name demo \
--data-type float32 --dimension 4 --distance-metric cosine
aws s3vectors put-vectors --vector-bucket-name "$B" --index-name demo --vectors '[
{"key":"apple","data":{"float32":[1.0,0.1,0.0,0.0]}},
{"key":"banana","data":{"float32":[0.9,0.2,0.1,0.0]}},
{"key":"car","data":{"float32":[0.0,0.0,1.0,0.9]}}]'
Query một vector gần nhóm "trái cây", lấy hai kết quả gần nhất:
$ aws s3vectors query-vectors --vector-bucket-name "$B" --index-name demo \
--query-vector '{"float32":[1.0,0.15,0.0,0.0]}' --top-k 2 --return-distance
{"vectors":[
{"key":"apple","distance":0.001136},
{"key":"banana","distance":0.007856}],
"distanceMetric":"cosine"}
Hai vector gần nhất là apple và banana, car bị loại vì xa. Lưu trữ vector mà chỉ trả phí kiểu S3, không nuôi cụm vector database, là một lựa chọn chi phí đáng cân nhắc cho RAG. (📄 whats-new)
Nova Act (GA)
Một dịch vụ mới để xây agent tự động hóa thao tác trên giao diện web: điền form, tìm và trích xuất, đặt mua, kiểm thử QA, với độ tin cậy cao cho dùng doanh nghiệp. Dùng mô hình Nova 2 Lite, định nghĩa workflow bằng ngôn ngữ tự nhiên cộng Python, prototype trên playground rồi deploy lên AWS. Hiện chỉ ở Region US East (N. Virginia), nên muốn thử phải dùng Region đó. (📄 whats-new)
Bảo mật và vận hành
Security Hub (GA) — phân tích rủi ro thời gian thực
Security Hub được làm lại với phân tích rủi ro gần thời gian thực: tương quan và làm giàu tín hiệu từ GuardDuty, Inspector và CSPM thành insight hành động được, kèm exposure findings, kiểm kê tài nguyên theo hướng bảo mật, trực quan hóa attack path, và workflow phản hồi tự động. Bật được cho một account hay cả Organization.
Bật và xác nhận nhanh bằng CLI:
$ aws securityhub enable-security-hub
$ aws securityhub describe-hub \
--query '{HubArn:HubArn,SubscribedAt:SubscribedAt,AutoEnableControls:AutoEnableControls}'
{ "HubArn": "arn:aws:securityhub:...:hub/default", "SubscribedAt": "2026-...", "AutoEnableControls": true }
$ aws securityhub disable-security-hub # tắt ngay để tránh phí khi chỉ thử
Cần nói thẳng giới hạn của demo CLI: giá trị thật của Security Hub mới nằm ở console (màn hình risk analytics, attack path) và ở việc có GuardDuty/Inspector feed dữ liệu vào; CLI chỉ đủ để xác nhận đã bật. Phần trực quan nên xem trên console. (📄 whats-new)
CloudWatch Investigations (GA)
Một AI agent trong CloudWatch tìm bất thường, gom tín hiệu liên quan, đề xuất giả thuyết nguyên nhân gốc và bước khắc phục, khởi động từ alarm hoặc Amazon Q, tích hợp Slack/Teams, không tính phí thêm. (Lưu ý: GA từ giữa 2025, hơi cũ so với cửa sổ sáu tháng, nhưng đáng nhắc cho ai làm ops.) (📄 whats-new)
Compute và chi phí
Graviton5 (Preview)
Thế hệ CPU Graviton thứ năm của AWS, hiện ở dạng preview qua instance EC2 M9g: nhanh hơn M8g rõ rệt (AWS công bố tới ~25% compute, ~30% database, ~35% web/ML), băng thông mạng và EBS cao hơn. Vẫn là preview nên chưa dùng cho production, nhưng là tín hiệu về hướng price-performance của AWS. (📄 whats-new)
Savings Plans và RI Group Sharing (GA)
Cho phép chia sẻ phần tiết kiệm của Savings Plans và Reserved Instances cho nhóm account cụ thể trong Organization, thay vì dùng chung toàn tổ chức. Hữu ích khi muốn phần tiết kiệm về đúng nhóm chịu trách nhiệm chi phí. (📄 whats-new)
Lifecycle — cái sắp ngừng, nên biết để lên kế hoạch
Bản tin không chỉ có cái mới; cái sắp mất cũng quan trọng không kém. AWS công bố một loạt dịch vụ chuyển vào diện maintenance (ngừng nhận khách hàng mới từ 07/11/2025) hoặc sunset. Vài cái đáng chú ý: Amazon CodeCatalyst, CodeGuru Reviewer, S3 Object Lambda, Amazon Glacier (dịch vụ riêng, khác storage class), Migration Hub vào maintenance; AWS Proton và IoT Greengrass v1 vào sunset (khách hiện tại nên lên kế hoạch migrate trong 12 tháng). Nếu kiến trúc của bạn đang dựa vào một trong số này, đây là lúc xem phương án thay thế. (📄 whats-new)
Mọi demo trong bài đã chạy thật trên một tài khoản thật rồi xóa sạch, không để lại tài nguyên tính tiền. Từ kỳ tới, bản tin gọn lại theo tháng: điểm cái mới trong tháng và thử thật một hai cái nổi bật.
This is the first part
You've reached the end