- Cloud Computing là gì? Phân biệt IaaS, PaaS và SaaS.
Cloud Computing là mô hình cung cấp tài nguyên công nghệ thông tin (máy chủ, lưu trữ, mạng, phần mềm) qua internet theo mô hình dùng bao nhiêu trả bấy nhiêu (pay-as-you-go), thay vì tự đầu tư hạ tầng vật lý. IaaS (Infrastructure as a…
- AWS EC2 là gì? Các loại instance type phổ biến và khi nào nên chọn loại nào?
Amazon EC2 (Elastic Compute Cloud) là dịch vụ cung cấp máy chủ ảo (virtual machines) trên AWS, cho phép khởi chạy, cấu hình và quản lý server với nhiều OS và cấu hình phần cứng khác nhau. Instance type được nhóm theo họ: T-series (t3,…
- AWS Lambda là gì? Khi nào nên dùng Lambda thay vì EC2? Giải thích cold start và cách giảm thiểu.
AWS Lambda là dịch vụ serverless compute: bạn upload code function, Lambda lo provisioning, scaling và availability. Lambda hợp khi: workload hướng sự kiện (S3 trigger, SQS consumer, API Gateway), task ngắn dưới 15 phút, traffic thất thường hoặc rất thấp, và khi muốn giảm…
- Phân biệt ECS và EKS. Khi nào nên chọn ECS Fargate thay vì EKS?
Amazon ECS (Elastic Container Service) là dịch vụ container orchestration native AWS, đơn giản hơn, tích hợp chặt với các dịch vụ AWS khác (IAM, ALB, CloudWatch), phù hợp team không có Kubernetes expertise. Amazon EKS (Elastic Kubernetes Service) là managed Kubernetes, phù hợp khi…
- Amazon API Gateway là gì? Phân biệt REST API và HTTP API. Cách tích hợp với Lambda?
Amazon API Gateway là managed service cho phép tạo, publish, bảo vệ và monitor HTTP/WebSocket API ở scale lớn — cổng kết nối giữa client và backend (Lambda, EC2, hoặc bất kỳ HTTP endpoint). REST API (v1) là loại cũ hơn, hỗ trợ đầy đủ…
- VPC là gì? Giải thích public subnet vs private subnet và tại sao cần phân tách chúng?
Amazon VPC (Virtual Private Cloud) là mạng ảo riêng biệt, cô lập trong AWS cloud, giúp bạn toàn quyền kiểm soát môi trường mạng: chọn IP range (CIDR), tạo subnet, cấu hình route table, gateway. Public subnet là subnet có route đến Internet Gateway (IGW),…
- Phân biệt Security Groups và Network ACLs (NACLs). Khi nào dùng cái nào?
SG là stateful instance-level firewall; NACL là stateless subnet-level filter. Security Group (SG) hoạt động ở cấp độ instance (ENI level), là stateful — khi cho phép inbound traffic, outbound response tự động được allow không cần rule riêng; chỉ có allow rules, không có…
- Amazon Route 53 là gì? Giải thích các routing policy và use case của từng loại.
Amazon Route 53 là dịch vụ DNS (Domain Name System) managed, highly available của AWS với SLA 100% uptime; tên gọi từ cổng DNS TCP/UDP 53. Các routing policy: - Simple routing — map domain tới một IP/resource, không có logic - Weighted routing —…
- Amazon CloudFront là gì? Giải thích cách CDN hoạt động và các tính năng bảo mật của CloudFront.
Amazon CloudFront là CDN của AWS với hơn 450 edge location toàn cầu, cache content (HTML, CSS, JS, ảnh, video) tại edge gần người dùng để giảm latency và giảm tải cho origin. Luồng chạy: request tới edge gần nhất → cache HIT thì trả…
- Phân biệt Application Load Balancer (ALB), Network Load Balancer (NLB) và Gateway Load Balancer. Khi nào dùng loại nào?
ALB cho Layer-7 HTTP routing; NLB cho Layer-4 high-perf TCP/UDP; GWLB cho virtual network appliances. Application Load Balancer (ALB) hoạt động ở Layer 7 (HTTP/HTTPS), hỗ trợ content-based routing (theo host header, path, query string, HTTP method, headers), WebSocket, HTTP/2, gRPC; tích hợp Cognito authentication,…
- Amazon S3 storage classes là gì? Giải thích lifecycle policy và cách tối ưu chi phí lưu trữ.
S3 có 7 storage class, từ Standard (hot) đến Glacier Deep Archive (cold compliance), mỗi loại tối ưu chi phí cho một access pattern khác nhau — lifecycle policy giúp tự động chuyển đổi và giảm bill. Các storage class: - S3 Standard ($0.023/GB) —…
- So sánh DynamoDB và RDS. Khi nào nên dùng NoSQL thay vì SQL trên AWS?
Amazon DynamoDB là fully managed NoSQL key-value và document database với single-digit millisecond latency ở mọi scale, serverless (không quản lý server), tự động scale, tích hợp DAX (in-memory cache). DynamoDB phù hợp khi: schema flexible (JSON documents), access pattern đơn giản và predictable (query…
- Amazon ElastiCache là gì? Phân biệt Redis và Memcached trên ElastiCache. Các pattern caching phổ biến?
Amazon ElastiCache là dịch vụ managed in-memory caching, hỗ trợ Redis và Memcached, giúp giảm latency database và tăng throughput ứng dụng. ElastiCache for Redis hỗ trợ data structures phong phú (strings, hashes, lists, sets, sorted sets, streams), persistence (RDB/AOF snapshots), replication (primary + read…
- Phân biệt EBS, EFS và Instance Store. Use case và giới hạn của từng loại?
Amazon EBS (Elastic Block Store) là block storage gắn vào EC2 instance, như ổ cứng ảo; chỉ gắn được vào 1 EC2 tại một thời điểm (trừ EBS Multi-Attach cho io1/io2), persist sau khi instance terminate (nếu không set DeleteOnTermination), replicated trong cùng AZ. Loại…
- Amazon Aurora có gì đặc biệt? Giải thích Aurora architecture và Aurora Serverless v2.
Amazon Aurora là cloud-native relational database engine do AWS xây dựng từ đầu, tương thích MySQL và PostgreSQL. Architecture Aurora khác biệt: storage layer tách khỏi compute layer — storage tự động scale đến 128TB, replicate 6 copies trên 3 AZ (4/6 write quorum, 3/6…
- Amazon Redshift là gì? Khi nào dùng Redshift thay vì RDS? Giải thích columnar storage và distribution styles.
Amazon Redshift là petabyte-scale data warehouse dựa trên columnar storage, tối ưu cho OLAP (Online Analytical Processing) — complex queries trên large datasets, reporting, BI. Khác biệt với OLTP (RDS): Redshift lưu data theo cột thay vì hàng, giúp compression tốt hơn và scan nhanh…
- Phân biệt SQS, SNS và EventBridge. Khi nào dùng từng service trong kiến trúc event-driven?
Amazon SQS (Simple Queue Service) là managed message queue cho point-to-point async messaging: producer gửi message vào queue, consumer poll và xử lý; message tồn tại cho đến khi consumer xoá (đến 14 ngày); hỗ trợ Standard queue (at-least-once, best-effort ordering) và FIFO queue (exactly-once,…
- Amazon Kinesis là gì? So sánh Kinesis Data Streams, Firehose và Analytics. Khi nào dùng Kinesis thay vì SQS?
Amazon Kinesis là family dịch vụ xử lý real-time streaming data. Kinesis Data Streams (KDS): ingest và store streaming data tạm thời (1-365 ngày), nhiều consumer đọc cùng một stream độc lập (consumer group độc lập), throughput scale bằng shard (1 shard = 1MB/s in,…
- AWS Step Functions là gì? Giải thích Standard vs Express workflows và các use case phù hợp.
AWS Step Functions là serverless workflow orchestration service, cho phép coordinate nhiều Lambda functions và AWS services thành workflows có trạng thái (state machines), với visual diagram, error handling, retry logic, và audit trail tự động. Định nghĩa workflow bằng Amazon States Language (JSON/YAML); các…
- AWS CloudFormation và CDK là gì? Phân biệt và khi nào nên dùng CDK thay vì CloudFormation thuần?
AWS CloudFormation là Infrastructure as Code (IaC) service, định nghĩa AWS resources bằng YAML/JSON templates, deploy và manage infrastructure theo stack; hỗ trợ rollback tự động khi deploy fail, drift detection, change sets (preview thay đổi trước khi apply), nested stacks, cross-stack references. AWS CDK…
- AWS IAM là gì? Giải thích sự khác biệt giữa IAM Users, Groups, Roles và Policies. Best practices bảo mật IAM?
AWS IAM (Identity and Access Management) kiểm soát authentication (ai được phép vào) và authorization (được phép làm gì) trong AWS account. Các định danh: IAM User — định danh cho người dùng cụ thể hoặc ứng dụng, có credentials dài hạn — không nên…
- AWS KMS và Secrets Manager là gì? Giải thích envelope encryption và khi nào dùng từng service.
- Amazon CloudWatch là gì? Giải thích Metrics, Logs, Alarms, Dashboards và các best practices monitoring.
Amazon CloudWatch là observability service tập trung cho monitoring AWS resources và applications. - CloudWatch Metrics: time-series data points (CPU, memory, request count, latency); AWS services tự động gửi metrics (vd: EC2 CPUUtilization mỗi 5 phút, hoặc 1 phút với detailed monitoring); custom metrics từ…
- AWS X-Ray là gì? Giải thích distributed tracing và cách instrument ứng dụng Node.js/Lambda với X-Ray.
- AWS Well-Architected Framework gồm những trụ cột nào? Giải thích từng pillar và best practices chính.
- Làm thế nào để bảo mật một ứng dụng web trên AWS từ đầu đến cuối? (WAF, Shield, GuardDuty, Security Hub)
Bảo mật theo layers (defense in depth): Edge layer — CloudFront với AWS WAF để filter malicious requests (SQL injection, XSS, OWASP Top 10 rules), rate limiting, geo-blocking; Shield Standard (miễn phí, auto) chống DDoS L3/L4, Shield Advanced ($3000/month) cho L7 DDoS mitigation tự động…
- Multi-AZ vs Multi-Region là gì? Khi nào cần multi-region và đánh đổi về độ phức tạp và chi phí?
- Giải thích các Disaster Recovery strategies trên AWS: Backup & Restore, Pilot Light, Warm Standby, Multi-Site Active-Active.
- Serverless architecture patterns là gì? Giải thích các pattern phổ biến: API + Lambda, event-driven, saga pattern.
- Các chiến lược tối ưu chi phí AWS là gì? Làm thế nào để giảm AWS bill 30-50% mà không ảnh hưởng performance?
- Auto-scaling strategies trên AWS là gì? Giải thích Target Tracking, Step Scaling, Scheduled Scaling và Predictive Scaling.
- Blue/Green deployment và Canary deployment trên AWS là gì? Giải thích cách implement từng strategy.
- Shared Responsibility Model của AWS là gì? Ai chịu trách nhiệm phần nào?
Shared Responsibility Model là ranh giới phân chia trách nhiệm bảo mật giữa AWS và khách hàng. Nguyên tắc gọn: AWS lo security of the cloud, khách hàng lo security in the cloud. - AWS chịu trách nhiệm phần hạ tầng nền: data center vật…
- Phân biệt Region và Availability Zone (AZ) trong AWS.
Đây là hai tầng của hạ tầng vật lý AWS. - Region là một khu vực địa lý riêng biệt (ví dụ ap-southeast-1 Singapore, us-east-1 N. Virginia). Mỗi Region tách biệt hoàn toàn với Region khác về mặt vật lý và, theo mặc định, dữ…
- Stop và Terminate một EC2 instance khác nhau thế nào?
Stop là tạm dừng, Terminate là xoá vĩnh viễn. Stop (chỉ áp dụng cho instance dùng EBS làm root): - Instance tắt như tắt máy tính; root EBS volume được giữ lại, nên dữ liệu trên đó còn nguyên khi start lại. - Không tính…
- AMI (Amazon Machine Image) là gì? Dùng để làm gì?
AMI (Amazon Machine Image) là một template chỉ-đọc chứa đầy đủ thông tin để khởi chạy một EC2 instance. Một AMI gồm: - Một hoặc nhiều EBS snapshot (hoặc template cho instance-store) — tức trạng thái ổ đĩa: OS, thư viện, ứng dụng đã cài,…
- Cho EC2 ở private subnet ra internet: NAT Gateway và NAT instance khác nhau ra sao?
Instance trong private subnet không có route trực tiếp ra internet. Để nó gọi ra ngoài (tải update, gọi API) mà không nhận kết nối vào, traffic phải đi qua một NAT đặt ở public subnet. Có hai cách: NAT Gateway — dịch vụ managed…
- VPC Peering và Transit Gateway khác nhau thế nào? Khi nào dùng cái nào?
Cả hai đều nối các VPC lại với nhau, khác ở mô hình kết nối. VPC Peering là kết nối một-một giữa hai VPC: - Traffic đi trực tiếp, độ trễ thấp, không tính phí theo giờ (chỉ trả data transfer). - Không bắc cầu…
- Elastic IP và public IP (auto-assigned) khác nhau thế nào?
Cả hai đều là địa chỉ IPv4 công khai để truy cập instance từ internet, khác ở tính ổn định và quyền sở hữu. Public IP tự cấp (auto-assigned): - AWS cấp từ pool chung khi instance khởi động (nếu subnet bật auto-assign). - Không…
- Ứng dụng chạy trên EC2 cần đọc file trong S3. Vì sao không nên nhúng access key vào code hay biến môi trường?
Vì access key của IAM user là credential dài hạn: nó không tự hết hạn, và một khi lọt ra ngoài (commit nhầm lên Git, log ra console, lộ trong image Docker) thì kẻ tấn công dùng được cho tới khi có người phát hiện…
- Presigned URL của S3 là gì? Thiết kế luồng cho người dùng upload ảnh lên S3 thế nào?
Presigned URL là một URL S3 đã được ký sẵn bằng credential của backend, kèm thời điểm hết hạn. Ai cầm URL đó thì làm được đúng một thao tác đã ký (GET để tải, PUT để ghi) trên đúng một object, mà không cần…
- Log ứng dụng đẩy lên CloudWatch Logs thì mặc định giữ bao lâu? Cấu hình cảnh báo khi có lỗi thế nào?
Mặc định log group có retention là Never expire — log giữ vĩnh viễn và bạn trả tiền lưu trữ mãi. Đây là khoản chi phí bị quên phổ biến nhất trên CloudWatch. Việc đầu tiên khi tạo log group là set retention (vd 14…
- RDS Multi-AZ và Read Replica khác nhau thế nào? Multi-AZ có giúp giảm tải đọc không?
Hai thứ giải quyết hai bài toán khác nhau: Multi-AZ là tính sẵn sàng, read replica là mở rộng khả năng đọc. Multi-AZ (deployment 1 standby): - Có một standby ở AZ khác, replicate đồng bộ. - Standby không phục vụ truy vấn — bạn…
- Review IAM policy thấy `"Action": "s3:*"` với `"Resource": "*"`. Vấn đề ở đâu và siết lại thế nào?
Policy đó cấp toàn quyền S3 trên mọi bucket của account, vi phạm nguyên tắc least privilege. Rủi ro cụ thể: một service chỉ cần đọc một bucket nhưng lại có thể DeleteBucket, đọc bucket chứa log/backup của hệ thống khác, hoặc ghi đè dữ…
- CI/CD trên GitHub Actions cần deploy lên AWS. Bạn cấu hình quyền thế nào để không phải lưu access key trong secrets?
Dùng OIDC federation: GitHub Actions cấp một OIDC token ngắn hạn cho mỗi lần chạy job, AWS tin issuer đó và đổi token lấy credential tạm qua sts:AssumeRoleWithWebIdentity. Không có access key nào nằm trong repo secrets. Các bước: 1. Tạo IAM OIDC identity provider…
- Deploy service sau ALB, target group báo `unhealthy` nhưng SSH vào instance thì app vẫn chạy. Bạn debug theo hướng nào?
Health check của ALB là request HTTP thật do load balancer gửi tới target, nên "app chạy" trên máy chưa đủ. Kiểm tra theo thứ tự: 1. Security group của target có cho phép traffic từ security group của ALB trên đúng traffic port không.…
- App sau load balancer log ra toàn IP nội bộ, không thấy IP thật của client. Nguyên nhân và cách lấy IP thật?
Vì ALB terminate kết nối TCP (kết nối từ client dừng ở ALB) rồi mở kết nối mới tới target, nên remoteAddr mà app thấy chính là IP node của ALB trong subnet. IP thật của client nằm ở header X-Forwarded-For, cùng với X-Forwarded-Proto (http/https…
- Đặt CloudFront trước S3 để phục vụ static asset: chặn truy cập thẳng vào bucket thế nào, và deploy bản mới mà người dùng vẫn thấy file cũ thì xử lý ra sao?
Chặn truy cập thẳng: giữ bucket private hoàn toàn (bật Block Public Access) và dùng Origin Access Control (OAC). CloudFront ký request tới S3 bằng SigV4; bucket policy chỉ cho phép principal cloudfront.amazonaws.com với Condition khoá đúng ARN của distribution. Người dùng gọi URL S3…
- Team 5 người cần chạy API Node.js trên AWS. Bạn chọn Lambda, ECS Fargate hay EC2 và dựa trên tiêu chí gì?
Quyết định theo đặc điểm traffic, thời lượng request và mức vận hành team gánh nổi, không theo "cái nào hiện đại hơn". Lambda — chọn khi traffic thưa hoặc bùng nổ theo đợt, mỗi request ngắn (dưới vài giây), và bạn muốn không quản…
- Lưu DB password và API key của ứng dụng: chọn Secrets Manager hay SSM Parameter Store?
Cả hai đều mã hoá bằng KMS, phân quyền bằng IAM và có audit trong CloudTrail. Khác nhau ở khả năng tự rotate và giá. Secrets Manager - Có rotation tích hợp: gắn Lambda rotation, với RDS/Redshift/DocumentDB thì AWS cung cấp sẵn hàm rotation. -…
- Lambda sau API Gateway thỉnh thoảng trả lỗi 502 và 429, p99 latency vọt lên vài giây. Bạn phân tích và xử lý thế nào?
- Scale ứng dụng lên nhiều container thì RDS báo "too many connections". Nguyên nhân và cách xử lý ở kiến trúc?
- Service trong private subnet gọi S3 rất nhiều, hoá đơn NAT Gateway tăng mạnh. NAT Gateway tính tiền chỗ nào và bạn tối ưu ra sao?
- Hoá đơn AWS tháng này tăng gần gấp đôi trong khi lượng người dùng gần như không đổi. Bạn điều tra và cắt giảm thế nào?
- Role đã có policy `Allow s3:GetObject` nhưng gọi vẫn `AccessDenied`. AWS quyết định cho phép hay từ chối theo trình tự nào?