AWS Learning
Storage

AWS Services Làm Việc Cùng Amazon S3

Phân biệt Athena, Glue, Lake Formation, Firehose, DataSync, Transfer Family và các dịch vụ liên quan đến S3

Tóm tắt nhanh

Nếu coi Amazon S3 là nơi chứa object/file, thì các dịch vụ liên quan thường rơi vào 8 vai trò:

Vai tròDịch vụ thường gặpNhớ nhanh
Query SQL trực tiếp trên S3Athena, Redshift SpectrumKhông cần load data vào DB, query file ở S3
ETL / transform / catalog schemaAWS GlueCrawler tìm schema, Data Catalog lưu metadata, Glue Jobs transform data
Governance data lakeLake Formation, DataZoneQuản quyền data lake, chia sẻ, discovery
BI / dashboardQuickSightVẽ dashboard từ Athena/Redshift/S3 data lake
Streaming vào S3Data Firehose, Kinesis, MSK ConnectĐẩy log/event realtime hoặc near realtime vào S3
Object mới thì xử lý ngayS3 Event Notifications, Lambda, SQS, SNS, EventBridgeUpload object → bắn event → chạy workflow
Transfer/migration vào S3DataSync, Transfer Family, Storage Gateway, Snow Family, S3 Transfer AccelerationChuyển dữ liệu từ on-prem/partner/client vào S3
Security/monitoring/costIAM, KMS, Macie, CloudTrail, CloudWatch, GuardDuty, Storage Lens, InventoryBảo vệ, audit, đo dung lượng, phát hiện rủi ro

Câu nhớ ngắn:

S3 lưu data. Athena hỏi data. Glue hiểu và biến đổi data. Lake Formation giữ cửa. Firehose/DataSync/Transfer đưa data vào. Lambda/EventBridge phản ứng khi data đến. CloudFront đưa data ra. Macie/CloudTrail/Storage Lens giám sát data.


Mental model: S3 là hồ chứa, dịch vụ khác là công cụ

S3 không phải database truyền thống. S3 là object storage: bạn đặt object vào bucket theo key/prefix. Vì vậy khi làm analytics hoặc application, bạn thường cần thêm dịch vụ xung quanh:

Nguồn data
  ├─ App logs / IoT / clickstream ──> Data Firehose / Kinesis ─┐
  ├─ On-prem NAS/file server ───────> DataSync / Storage GW ───┤
  ├─ Partner dùng SFTP/AS2 ─────────> Transfer Family ─────────┤
  └─ Dataset rất lớn/offline ───────> Snow Family ─────────────┘

                                                         Amazon S3

        ┌───────────────┬─────────────────┬────────────────────┬─────────────────┐
        │ Glue Catalog  │ Athena SQL       │ Glue/EMR ETL       │ Lambda events   │
        │ schema/meta   │ query tại chỗ    │ transform big data │ xử lý object mới│
        └───────┬───────┴────────┬────────┴─────────┬──────────┴────────┬────────┘
                ↓                ↓                  ↓                   ↓
        Lake Formation       QuickSight          Redshift/SageMaker   EventBridge/SQS
        governance           dashboard           warehouse/ML         workflow

Có 3 loại thông tin cần tách rõ:

  1. Data thật: file/object nằm trong S3, ví dụ s3://lake/raw/orders/2026/05/17/file.parquet.
  2. Metadata/schema: bảng, cột, partition nằm trong AWS Glue Data Catalog.
  3. Quyền truy cập: IAM/S3 bucket policy/KMS là nền tảng; Lake Formation thêm quyền fine-grained cho data lake.

Bảng phân biệt theo nhu cầu

Bạn muốn làm gì với S3?Chọn dịch vụVì sao
Chạy SQL trên CSV/JSON/Parquet trong S3Amazon AthenaServerless, schema-on-read, dùng Glue Data Catalog
Tự động phát hiện schema/partitionAWS Glue CrawlerCrawl file trong S3 rồi tạo/update table metadata
Transform dữ liệu raw → clean/curatedAWS Glue Jobs hoặc Amazon EMRGlue serverless ETL; EMR phù hợp Spark/Hadoop ecosystem phức tạp
Quản quyền table/column/row/cell cho data lakeAWS Lake FormationFine-grained access control trên S3 data + Glue Catalog
BI dashboard từ data lakeAmazon QuickSightKết nối Athena/Redshift/S3-derived datasets để trực quan hóa
Query S3 data từ data warehouseRedshift SpectrumRedshift query external table ở S3 và join với table trong Redshift
Stream logs/events vào S3Amazon Data FirehoseManaged delivery stream, buffer rồi ghi S3; có thể partition/convert format
Object upload xong thì chạy codeS3 Event Notifications + LambdaXử lý ảnh, validate file, tạo thumbnail, parse metadata
Object upload xong thì fan-out workflowEventBridge/SNS/SQSRouting, fan-out, queue, retry, decouple consumers
Partner dùng SFTP/FTPS/FTP/AS2AWS Transfer FamilyManaged endpoint ghi/đọc S3/EFS, không tự vận hành server
Copy/sync NAS/on-prem/cloud khác vào S3AWS DataSyncTransfer task/schedule, preserve metadata tùy nguồn/đích
App on-prem muốn mount storage liên tụcAWS Storage Gateway - File GatewayNFS/SMB local cache, backend là S3
Dữ liệu quá lớn so với networkAWS Snow FamilyThiết bị vật lý để import/export/edge
Tăng tốc upload/download từ client xa RegionS3 Transfer AccelerationĐi qua AWS edge network vào bucket S3
Phân phối file tĩnh ra internetAmazon CloudFrontCDN cache edge, origin thường là S3
Tìm dữ liệu nhạy cảm trong S3Amazon MacieDiscover/classify PII/sensitive data trong S3
Audit API access tới S3AWS CloudTrailGhi management events và data events cho S3
Xem xu hướng dung lượng/cost/security postureS3 Storage LensMetrics toàn account/org cho S3
Liệt kê object metadata theo lịchS3 InventoryReport object list, dùng cho audit/Batch Ops/Athena
Thao tác hàng tỷ objectS3 Batch OperationsCopy/tag/encrypt/restore/invoke Lambda theo manifest
Tự chuyển storage class/archive/deleteS3 LifecycleRule tự động theo tuổi object/prefix/tag
Replicate data sang bucket/Region khácS3 ReplicationCRR/SRR cho DR, compliance, latency đọc

Nhóm Data Lake, SQL, ETL và BI

1. Amazon Athena — hỏi S3 bằng SQL

Bản chất: serverless SQL query service để query dữ liệu nằm trong S3.

  • Data vẫn nằm trong S3; Athena không biến S3 thành database vật lý.
  • Khi tạo table, bạn mô tả schemaS3 LOCATION.
  • Athena lưu schema trong AWS Glue Data Catalog và dùng kiểu schema-on-read: chỉ áp schema lúc query.
  • Hợp với ad-hoc query, log analysis, data lake query, kiểm tra nhanh dataset.

Khi nhớ Athena, nhớ câu:

Athena = SELECT trên S3.

Ví dụ flow:

CREATE EXTERNAL TABLE access_logs (
  ip string,
  request_time string,
  path string,
  status int
)
STORED AS PARQUET
LOCATION 's3://my-lake/curated/access_logs/';
 
SELECT status, count(*)
FROM access_logs
GROUP BY status;

Dễ nhầm: Athena không phải ETL engine chính. Nó có thể CTAS/INSERT để tạo dataset mới, nhưng nếu transform nặng, orchestration phức tạp, dùng Glue hoặc EMR.

2. AWS Glue Data Catalog — danh bạ metadata của data lake

Bản chất: metadata repository cho database/table/schema/partition.

  • S3 giữ file thật.
  • Glue Data Catalog giữ thông tin “file này đọc như table nào, cột gì, partition gì”.
  • Athena, Glue, Redshift Spectrum, EMR, Lake Formation thường dùng chung catalog này.

Câu nhớ:

Glue Catalog = mục lục/schema của dữ liệu trong S3.

3. AWS Glue Crawler — robot đi đọc S3 để đoán schema

Bản chất: scan dữ liệu trong S3, infer schema/partition, tạo hoặc cập nhật table trong Glue Data Catalog.

Chọn Crawler khi:

  • Data mới đổ vào S3 theo prefix/partition.
  • Bạn chưa muốn tự viết DDL thủ công.
  • File format tương đối rõ: CSV, JSON, Parquet, ORC, Avro.

Không nên phụ thuộc mù quáng: schema inference có thể sai nếu dữ liệu không nhất quán. Dataset production quan trọng nên kiểm soát schema rõ ràng.

4. AWS Glue Jobs — ETL serverless

Bản chất: chạy job Spark/Python để extract-transform-load.

Dùng khi:

  • Convert CSV/JSON raw → Parquet curated.
  • Clean dữ liệu, join, deduplicate, mapping column.
  • Tạo pipeline raw → cleaned → curated trên S3.
s3://lake/raw/        --Glue Job-->  s3://lake/cleaned/  --Glue Job--> s3://lake/curated/
CSV/JSON                              Parquet                            partitioned Parquet

Câu nhớ:

Glue Job = nhà máy biến đổi dữ liệu trong data lake.

5. AWS Lake Formation — bảo vệ và quản trị data lake

Bản chất: governance layer cho data lake trên S3 và metadata trong Glue Data Catalog.

  • Quản lý quyền tập trung cho database/table/column/row/cell.
  • Hỗ trợ chia sẻ Data Catalog resources qua IAM principals, accounts, AWS Organizations/OUs.
  • Là lớp quyền bổ sung bên cạnh IAM/S3/KMS, đặc biệt hữu ích khi nhiều team cùng dùng Athena/Glue/EMR/Redshift Spectrum/QuickSight.

Câu nhớ:

Lake Formation = security guard của data lake.

Dùng khi:

  • Data lake có nhiều team: finance, marketing, data science.
  • Cần cấp quyền theo table/cột/hàng, không chỉ theo bucket/prefix.
  • Cần cross-account data sharing có governance.

6. Amazon Redshift Spectrum — Redshift đọc S3 ngoài warehouse

Bản chất: cho Redshift query external tables nằm trong S3.

  • Tạo external schema/table trỏ tới data catalog.
  • Query và join dữ liệu S3 với table trong Redshift.
  • Redshift Spectrum pushdown filtering/aggregation tới tầng xử lý Spectrum để giảm tải cluster.
  • External tables không hỗ trợ update như table nội bộ Redshift.

Câu nhớ:

Redshift Spectrum = Redshift vươn tay ra đọc S3.

Athena vs Redshift Spectrum:

Tiêu chíAthenaRedshift Spectrum
Bạn đang ở đâu?Chưa có warehouse hoặc muốn serverless SQLĐã dùng Redshift
Mục tiêuQuery S3 trực tiếp, ad-hoc/serverlessJoin S3 data với Redshift data
ComputeAthena managed/serverlessRedshift + Spectrum layer
Câu nhớSELECT trên S3Redshift đọc external S3

7. Amazon EMR — big data framework đọc/ghi S3

Bản chất: managed big data platform chạy Spark, Hadoop, Hive, Presto/Trino... thường dùng S3 làm storage bền vững.

  • HDFS/local disk nhanh nhưng ephemeral theo cluster.
  • S3 là durable data lake storage.
  • EMR dùng S3A connector cho Hadoop ecosystem tương tác trực tiếp với S3.

Chọn EMR thay vì Glue khi:

  • Cần kiểm soát cluster/framework sâu.
  • Có workload Spark/Hadoop lớn, tuning phức tạp.
  • Cần dùng thư viện/custom runtime không tiện trong Glue.

Câu nhớ:

EMR = xưởng big data tự điều chỉnh nhiều hơn; S3 là kho nguyên liệu và thành phẩm.

8. Amazon QuickSight — dashboard/BI

Bản chất: BI service. QuickSight thường không “làm việc với S3 raw” trực tiếp theo kiểu ETL, mà thường đi qua Athena, Redshift, hoặc dataset đã catalog.

Flow phổ biến:

S3 curated Parquet → Glue Catalog → Athena → QuickSight dashboard

Câu nhớ:

QuickSight = nhìn data, không dọn data.

9. Amazon DataZone — discovery và data product governance

Bản chất: data management/governance service để catalog, discover, share, và govern data across organization.

  • Có thể dùng với data lake trên S3, Glue Data Catalog, Lake Formation, Redshift.
  • Phù hợp tổ chức lớn muốn data marketplace/data products.

Phân biệt với Lake Formation:

Dịch vụTrọng tâm
Lake FormationFine-grained permission enforcement cho data lake
DataZoneData portal/catalog/business metadata, publish/subscribe data products

Nhóm event-driven và xử lý object mới

1. S3 Event Notifications — S3 phát tín hiệu khi object thay đổi

Bản chất: bucket có thể gửi notification khi có event như object created, object removed, restore, replication, lifecycle, tagging, ACL PUT...

Destination được AWS docs liệt kê gồm:

  • Amazon SNS topic
  • Amazon SQS queue
  • AWS Lambda function
  • Amazon EventBridge

Lưu ý quan trọng:

  • S3 event notifications được thiết kế at least once: consumer phải idempotent.
  • Thường nhận trong vài giây, nhưng có thể mất một phút hoặc lâu hơn.
  • SQS FIFO không được hỗ trợ làm destination trực tiếp; nếu cần FIFO, đi qua EventBridge.
  • Tránh loop: Lambda xử lý object rồi ghi lại vào cùng prefix/bucket đang trigger có thể tự kích hoạt vô hạn.

2. AWS Lambda — xử lý ngay object mới

Dùng khi:

  • Tạo thumbnail khi ảnh upload.
  • Validate file, extract metadata.
  • Parse JSON nhỏ rồi ghi DynamoDB/OpenSearch.
  • Gửi cảnh báo nếu file sai format.

Pattern:

User upload file → S3 ObjectCreated → Lambda → process → ghi kết quả sang prefix/bucket khác

Không phù hợp nếu: job quá lâu/nặng, cần cluster Spark, cần xử lý batch lớn. Khi đó dùng Glue/EMR/Batch.

3. Amazon SQS — hàng đợi để xử lý ổn định

Dùng khi:

  • Consumer xử lý chậm hơn tốc độ upload.
  • Muốn retry, DLQ, decouple producer/consumer.
  • Có nhiều worker đọc queue.
S3 Event → SQS Queue → ECS/Lambda/EC2 workers

4. Amazon SNS — fan-out thông báo

Dùng khi: một event S3 cần gửi tới nhiều subscriber: email, Lambda, SQS queues, HTTP endpoint.

S3 Event → SNS Topic → Lambda A + SQS B + SQS C

5. Amazon EventBridge — event bus/routing nâng cao

Dùng khi:

  • Muốn rule-based routing phức tạp.
  • Muốn gửi S3 event tới nhiều AWS service targets.
  • Muốn tích hợp workflow event-driven toàn hệ thống.
  • Cần route tới SQS FIFO gián tiếp.

Phân biệt nhanh:

Dịch vụChọn khi
Lambda trực tiếpXử lý đơn giản, nhanh, ít consumer
SQSCần queue, retry, buffer, DLQ
SNSFan-out notification đơn giản
EventBridgeEvent bus, routing/filtering/targets nâng cao

Nhóm ingest, migration và file transfer vào S3

1. Amazon Data Firehose — stream data vào S3

Bản chất: managed delivery stream. Nhận record từ app/Kinesis/MSK/CloudWatch Logs... rồi buffer và ghi tới destination như S3, Redshift, OpenSearch, Splunk, HTTP endpoint.

Với S3 destination, Firehose có các option đáng nhớ:

  • Chọn S3 bucket đích.
  • Có thể thêm newline delimiter để Athena query object dễ hơn.
  • Dynamic partitioning để ghi theo prefix dựa trên key trong record.
  • Multi-record deaggregation.
  • Có thể transform bằng Lambda và convert format với Glue schema trong một số cấu hình.

Câu nhớ:

Firehose = ống nước streaming đổ vào S3.

2. Kinesis Data Streams / Amazon MSK — stream backbone, S3 thường là sink

Bản chất: Kinesis Data Streams và MSK/Kafka giữ stream/event log. S3 thường dùng làm long-term storage hoặc data lake sink qua Firehose, Kafka Connect/MSK Connect, hoặc custom consumer.

Phân biệt:

Dịch vụVai trò
Kinesis Data Streams / MSKStream log để nhiều consumer đọc realtime
FirehoseDelivery managed từ stream/source tới S3/destination
S3Durable lake/archive để query batch/analytics

3. AWS DataSync — copy/sync dữ liệu vào/ra S3

Bản chất: data transfer service để chuyển dữ liệu giữa on-premises, edge, cloud khác và AWS storage như S3/EFS/FSx.

Dùng khi:

  • Migrate file server/NAS lên S3.
  • Sync định kỳ dataset từ on-prem vào data lake.
  • Transfer lớn nhưng vẫn qua network.

Không phải: endpoint SFTP cho partner, không phải mount storage liên tục cho app.

4. AWS Transfer Family — SFTP/FTPS/FTP/AS2 vào S3

Bản chất: managed file transfer endpoint, hỗ trợ SFTP, FTPS, FTP, AS2 với backend S3 hoặc EFS.

Dùng khi:

  • Đối tác chỉ gửi file qua SFTP/FTPS/FTP/AS2.
  • Cần modernize MFT nhưng không muốn tự quản server.
  • B2B file exchange.

Câu nhớ:

Transfer Family = cửa SFTP/AS2 vào S3.

5. AWS Storage Gateway — app on-prem dùng cloud storage như local

Bản chất: hybrid cloud storage appliance. Với S3 File Gateway, app on-prem mount NFS/SMB, dữ liệu được lưu thành object trong S3, có local cache.

Dùng khi:

  • Ứng dụng on-prem cần tiếp tục đọc/ghi qua NFS/SMB.
  • Cần cache local và backend cloud.
  • Hybrid storage dài hạn, không chỉ migration một lần.

6. AWS Snow Family — chuyển dữ liệu bằng thiết bị vật lý

Bản chất: thiết bị vật lý để import/export data hoặc edge compute ở nơi network yếu.

Dùng khi:

  • Dataset quá lớn so với bandwidth.
  • Môi trường offline/remote.
  • Cần edge compute trước khi ship/import vào S3.

7. S3 Transfer Acceleration — tăng tốc object transfer qua edge

Bản chất: dùng AWS edge locations để tăng tốc upload/download tới bucket S3, đặc biệt client ở xa Region.

Dùng khi:

  • Người dùng global upload object lớn tới một bucket Region xa.
  • Muốn tối ưu network path mà vẫn dùng S3 API.

8. AWS Direct Connect / Site-to-Site VPN — đường mạng, không phải công cụ copy

Bản chất: network connectivity tới AWS. Có thể hỗ trợ workload transfer S3 qua private/ổn định hơn, nhưng bản thân không phải dịch vụ ETL/copy.

Câu nhớ:

Direct Connect là đường cao tốc; DataSync/Transfer/Firehose là xe chở data.


Nhóm phân phối nội dung và truy cập ứng dụng

1. Amazon CloudFront — CDN cho object trong S3

Bản chất: CDN cache object ở edge locations, origin thường là S3 bucket.

Dùng khi:

  • Website tĩnh, image/video/static assets.
  • Giảm latency cho user toàn cầu.
  • Che S3 origin bằng Origin Access Control (OAC) để bucket không public trực tiếp.

Câu nhớ:

S3 lưu file, CloudFront đưa file ra gần user.

2. S3 Static Website Hosting — host website tĩnh trực tiếp từ bucket

Bản chất: S3 có website endpoint cho static site. Tuy nhiên nếu cần HTTPS custom domain, caching, WAF, global edge, thường dùng CloudFront trước S3.

3. API Gateway / Lambda / ECS / EC2 với S3

Ứng dụng thường dùng S3 để:

  • Lưu file upload/download.
  • Tạo pre-signed URL cho client upload trực tiếp.
  • Lưu report/export.
  • Lưu model artifact, media, document.

Pattern tốt: app cấp pre-signed URL, client upload trực tiếp S3, app nhận event xử lý sau. Tránh proxy file lớn qua app server nếu không cần.

4. S3 Object Lambda — biến đổi object lúc đọc

Bản chất: dùng Lambda để modify dữ liệu được trả về từ S3 GET, ví dụ redact PII, resize, filter row, watermark.

Dùng khi: cần biến đổi theo request mà không muốn tạo nhiều bản copy object.


Nhóm bảo mật, quyền truy cập và governance

1. IAM, bucket policy, ACL, Access Points — lớp quyền nền tảng

Công cụDùng để
IAM policyCấp quyền cho user/role/service
Bucket policyResource-based policy trên bucket
ACLCơ chế cũ, nên hạn chế; dùng Object Ownership/Bucket owner enforced khi có thể
S3 Access PointsTạo endpoint/policy riêng cho app/team/dataset
S3 Multi-Region Access PointsGlobal endpoint tới nhiều bucket Region
S3 Access GrantsCấp quyền S3 theo identity/dataset ở quy mô lớn

2. AWS KMS — mã hóa key-managed

S3 hỗ trợ server-side encryption. Khi dùng SSE-KMS, quyền đọc/ghi object còn cần quyền KMS key tương ứng. Đây là lỗi thường gặp: có s3:GetObject nhưng thiếu kms:Decrypt.

3. AWS Lake Formation — quyền data lake cấp bảng/cột/hàng

IAM/S3 policy giỏi ở bucket/prefix/object. Lake Formation giỏi ở cấp data catalog/table/column/row/cell cho analytics services.

IAM/S3/KMS: “Role này có được đọc object/prefix/key không?”
Lake Formation: “Analyst này có được SELECT cột salary của table employees không?”

4. Amazon Macie — phát hiện dữ liệu nhạy cảm trong S3

Bản chất: dùng ML/pattern matching để discover/classify sensitive data như PII trong S3.

Dùng khi:

  • Muốn tìm bucket/object chứa dữ liệu nhạy cảm.
  • Compliance: PII, tài chính, health records.
  • Cảnh báo bucket public hoặc policy rủi ro liên quan dữ liệu nhạy cảm.

5. Amazon GuardDuty Malware Protection for S3 — phát hiện malware object upload

GuardDuty có khả năng malware protection cho S3 để scan object mới upload theo cấu hình. Dùng khi bucket nhận file từ user/third-party và cần kiểm tra malware.

6. AWS Secrets Manager / Parameter Store

Không lưu secret trong S3 object plain text nếu app cần credential. Dùng Secrets Manager/SSM Parameter Store, còn S3 lưu data artifact/document/report.


Nhóm monitoring, audit, inventory và tối ưu chi phí

1. AWS CloudTrail — audit API access

CloudTrail ghi lại API activity. Với S3:

  • Management events: bucket-level operations như create/delete bucket, put bucket policy.
  • Data events: object-level operations như GetObject/PutObject, phải bật riêng và có thể tạo nhiều log/cost.

Câu nhớ:

CloudTrail trả lời: ai gọi API gì, lúc nào, từ đâu?

2. Amazon CloudWatch — metrics, alarms, logs

S3 gửi metrics cơ bản và request metrics tùy cấu hình. CloudWatch dùng để tạo alarm, dashboard, theo dõi errors/latency/request count.

3. S3 Storage Lens — nhìn toàn cảnh storage

Bản chất: analytics/metrics cho S3 storage usage, activity, cost optimization, security recommendations ở cấp account/org/bucket/prefix tùy cấu hình.

Câu nhớ:

Storage Lens = kính hiển vi/toàn cảnh cho S3 estate.

4. S3 Inventory — danh sách object theo lịch

Bản chất: tạo report định kỳ về object và metadata, ví dụ key, version, size, storage class, encryption status, replication status.

Dùng khi:

  • Audit hàng triệu/tỷ object mà không muốn LIST trực tiếp liên tục.
  • Input manifest cho S3 Batch Operations.
  • Query inventory bằng Athena để tìm object cần xử lý.

5. S3 Server Access Logging / CloudTrail data events

  • Server Access Logging: log request tới bucket theo format S3 access log.
  • CloudTrail data events: audit API object-level chi tiết hơn theo CloudTrail model.

Chọn theo mục tiêu: operational access log hay compliance/audit API.

6. AWS Config

Dùng để kiểm tra compliance cấu hình, ví dụ bucket public, encryption, versioning, logging, lifecycle theo rule.

7. AWS Backup

Có thể bảo vệ một số workload liên quan AWS storage. Với S3, AWS Backup hỗ trợ backup/restore S3 theo chính sách trong các trường hợp cần quản trị backup tập trung. Nếu chỉ cần versioning/replication/lifecycle, native S3 có thể đủ.


Nhóm thao tác hàng loạt, replication và archive

1. S3 Batch Operations — làm việc trên hàng tỷ object

Bản chất: chạy một operation trên danh sách object qua manifest hoặc S3 Inventory.

AWS docs nêu Batch Operations có thể xử lý job trên billions of objects containing exabytes of data, theo dõi progress, gửi notification và tạo completion report.

Operation thường gặp:

  • Copy objects.
  • Update server-side encryption.
  • Set tags/ACLs.
  • Restore từ S3 Glacier Flexible Retrieval.
  • Invoke Lambda cho custom action.

Câu nhớ:

Batch Operations = foreach object ở quy mô cực lớn.

2. S3 Lifecycle — tự động chuyển/xóa theo thời gian

Bản chất: rule theo prefix/tag/tuổi object để transition storage class hoặc expire object.

Ví dụ:

0-30 ngày: S3 Standard
31-90 ngày: S3 Standard-IA
> 90 ngày: S3 Glacier Instant/Flexible/Deep Archive
> 7 năm: expire/delete nếu policy cho phép

3. S3 Replication — copy tự động sang bucket khác

Bản chất: replicate object sang bucket khác cùng Region (SRR) hoặc khác Region (CRR).

Dùng khi:

  • Disaster recovery.
  • Compliance yêu cầu bản sao ở account/Region khác.
  • Giảm latency đọc ở Region khác.
  • Đồng bộ data lake cross-account.

4. S3 Versioning và Object Lock

  • Versioning: giữ nhiều version của object, bảo vệ khỏi overwrite/delete nhầm.
  • Object Lock: WORM retention/legal hold cho compliance.

5. S3 Glacier storage classes

Glacier không còn chỉ là “dịch vụ vault riêng” trong đa số use case S3 hiện đại; bạn thường dùng S3 Glacier storage classes qua lifecycle để archive object trong cùng S3 namespace.


Nhóm AI/ML thường dùng S3 làm data store

Nhiều dịch vụ AI/ML dùng S3 làm nơi chứa training data, output, artifact hoặc batch input/output:

Dịch vụS3 thường dùng để
Amazon SageMaker AITraining data, model artifacts, processing output, batch transform input/output
Amazon BedrockKnowledge base documents, batch inference input/output tùy tính năng
Amazon TextractInput/output tài liệu qua S3 cho async jobs
Amazon RekognitionImage/video input từ S3 trong nhiều workflow
Amazon TranscribeAudio input và transcript output
Amazon ComprehendDocument input/output cho batch jobs

Mẹo: Với AI/ML, S3 thường là dataset/artifact store, còn service AI/ML là compute/model/API.


Các cặp dễ nhầm nhất

Athena vs Glue

AthenaGlue
Query SQLETL + Catalog + Crawler
Đọc S3 tại query timeTransform/crawl/prepare data
Serverless SQL engineServerless data integration/ETL
“Hỏi dữ liệu”“Hiểu và biến đổi dữ liệu”

Glue Data Catalog vs Lake Formation

Glue Data CatalogLake Formation
Lưu metadata: database/table/column/partitionQuản trị quyền và governance
Cho Athena/Redshift/EMR biết data ở đâuCho ai được thấy/query gì
“Danh bạ”“Bảo vệ và cấp quyền”

Glue vs EMR

GlueEMR
Serverless ETL managed hơnCluster/serverless big data linh hoạt hơn
Ít vận hành infrastructureNhiều quyền kiểm soát framework/runtime
Phù hợp ETL phổ biếnPhù hợp Spark/Hadoop phức tạp, tuning sâu

Athena vs Redshift Spectrum

AthenaRedshift Spectrum
Query S3 serverless độc lậpRedshift query external S3 data
Tốt cho ad-hoc/data lake SQLTốt khi đã có Redshift và cần join data lake
Không cần warehouseGắn với Redshift ecosystem

DataSync vs Transfer Family vs Storage Gateway

DataSyncTransfer FamilyStorage Gateway
Copy/sync task-basedManaged SFTP/FTPS/FTP/AS2 endpointHybrid storage appliance
Migration/replication dữ liệuPartner/user gửi file bằng protocol cũApp on-prem mount NFS/SMB/iSCSI/VTL
“Chuyển dữ liệu”“Cửa giao thức file transfer”“Ổ cloud hiện như local”

Firehose vs Lambda Event

FirehoseS3 Event + Lambda
Streaming delivery vào S3Object đã vào S3 rồi mới xử lý
Buffer, batch, partition stream recordsReact theo object create/remove
“Đường ống đổ data”“Chuông báo có object mới”

CloudTrail vs S3 Inventory vs Storage Lens

Dịch vụTrả lời câu hỏi
CloudTrailAi gọi API gì vào S3?
S3 InventoryHiện bucket có những object/version nào?
S3 Storage LensDung lượng, usage, cost/security posture đang thế nào?

Kiến trúc mẫu dễ nhớ

1. Data lake analytics cơ bản

App/Logs → S3 raw → Glue Crawler → Glue Data Catalog → Athena → QuickSight
  • S3 raw: lưu dữ liệu gốc.
  • Glue Crawler: tạo metadata.
  • Athena: SQL query.
  • QuickSight: dashboard.

2. Data lake production có ETL và governance

Sources → Firehose/DataSync/Transfer → S3 raw

                               Glue ETL Jobs

                              S3 curated Parquet

                          Glue Catalog + Lake Formation

                    Athena / Redshift Spectrum / EMR / QuickSight

3. Upload file và xử lý async

Client → pre-signed URL → S3 uploads/incoming/
                               ↓ ObjectCreated
                            EventBridge

                  SQS queue → Lambda/ECS worker

                     S3 processed/ + DynamoDB metadata

4. Partner gửi file SFTP vào data lake

Partner SFTP client → AWS Transfer Family → S3 landing/

                                       S3 Event / Glue Job

                                          S3 curated/

5. Static website/media delivery

User browser → CloudFront → private S3 bucket

                  WAF/OAC/cache

Decision tree chọn dịch vụ

Bạn có dữ liệu ở S3 và muốn...

1) Query SQL?
   ├─ Chưa có Redshift / muốn serverless → Athena
   └─ Đã có Redshift, cần join warehouse → Redshift Spectrum

2) Tạo schema/table metadata?
   ├─ Muốn tự viết DDL → Athena/Glue DDL
   └─ Muốn auto scan schema → Glue Crawler

3) Transform dữ liệu?
   ├─ ETL managed/serverless phổ biến → Glue Jobs
   ├─ Spark/Hadoop phức tạp/tuning sâu → EMR
   └─ Xử lý nhỏ ngay khi upload → Lambda

4) Quản quyền data lake?
   ├─ Bucket/object/prefix level → IAM + S3 policy + KMS
   └─ Table/column/row/cell level → Lake Formation

5) Đưa data vào S3?
   ├─ Streaming logs/events → Data Firehose
   ├─ File server/NAS/on-prem sync → DataSync
   ├─ Partner dùng SFTP/AS2 → Transfer Family
   ├─ App on-prem cần mount NFS/SMB → Storage Gateway
   ├─ Dataset quá lớn/offline → Snow Family
   └─ Client global upload/download chậm → S3 Transfer Acceleration

6) Object mới cần phản ứng?
   ├─ Chạy code đơn giản → Lambda
   ├─ Cần buffer/retry/DLQ → SQS
   ├─ Fan-out đơn giản → SNS
   └─ Routing/workflow event bus → EventBridge

7) Theo dõi/bảo mật?
   ├─ Ai gọi API? → CloudTrail
   ├─ Có PII không? → Macie
   ├─ Storage/cost posture? → Storage Lens
   ├─ Danh sách object định kỳ? → S3 Inventory
   └─ Cấu hình có compliant? → AWS Config

Mẹo nhớ nhanh

TênMẹo nhớ
S3Cái kho object
AthenaNgười hỏi SQL: “SELECT * FROM S3”
Glue CatalogDanh bạ/schema
Glue CrawlerCon nhện đi đọc file đoán schema
Glue JobNhà máy ETL
Lake FormationBảo vệ data lake
Redshift SpectrumRedshift đọc xuyên ra S3
EMRXưởng Spark/Hadoop lớn
QuickSightDashboard/BI
FirehoseỐng streaming đổ vào S3
LambdaCông nhân phản ứng khi object mới đến
SQSHàng đợi chống quá tải
SNSLoa phát thông báo nhiều nơi
EventBridgeTổng đài routing event
DataSyncXe tải sync dữ liệu qua mạng
Transfer FamilyCửa SFTP/AS2 cho partner
Storage GatewayỔ cloud giả local cho on-prem
Snow FamilyXe container chở data offline
CloudFrontCDN đưa object ra gần user
MacieMáy dò PII trong S3
CloudTrailCamera ghi ai gọi API
Storage LensKính nhìn usage/cost toàn S3
InventoryBảng kê object định kỳ
Batch OperationsFor-each hàng tỷ object
LifecycleRobot chuyển kho/lưu trữ/xóa theo tuổi
ReplicationMáy photocopy object sang bucket khác

Nguồn AWS chính thức

On this page

Tóm tắt nhanhMental model: S3 là hồ chứa, dịch vụ khác là công cụBảng phân biệt theo nhu cầuNhóm Data Lake, SQL, ETL và BI1. Amazon Athena — hỏi S3 bằng SQL2. AWS Glue Data Catalog — danh bạ metadata của data lake3. AWS Glue Crawler — robot đi đọc S3 để đoán schema4. AWS Glue Jobs — ETL serverless5. AWS Lake Formation — bảo vệ và quản trị data lake6. Amazon Redshift Spectrum — Redshift đọc S3 ngoài warehouse7. Amazon EMR — big data framework đọc/ghi S38. Amazon QuickSight — dashboard/BI9. Amazon DataZone — discovery và data product governanceNhóm event-driven và xử lý object mới1. S3 Event Notifications — S3 phát tín hiệu khi object thay đổi2. AWS Lambda — xử lý ngay object mới3. Amazon SQS — hàng đợi để xử lý ổn định4. Amazon SNS — fan-out thông báo5. Amazon EventBridge — event bus/routing nâng caoNhóm ingest, migration và file transfer vào S31. Amazon Data Firehose — stream data vào S32. Kinesis Data Streams / Amazon MSK — stream backbone, S3 thường là sink3. AWS DataSync — copy/sync dữ liệu vào/ra S34. AWS Transfer Family — SFTP/FTPS/FTP/AS2 vào S35. AWS Storage Gateway — app on-prem dùng cloud storage như local6. AWS Snow Family — chuyển dữ liệu bằng thiết bị vật lý7. S3 Transfer Acceleration — tăng tốc object transfer qua edge8. AWS Direct Connect / Site-to-Site VPN — đường mạng, không phải công cụ copyNhóm phân phối nội dung và truy cập ứng dụng1. Amazon CloudFront — CDN cho object trong S32. S3 Static Website Hosting — host website tĩnh trực tiếp từ bucket3. API Gateway / Lambda / ECS / EC2 với S34. S3 Object Lambda — biến đổi object lúc đọcNhóm bảo mật, quyền truy cập và governance1. IAM, bucket policy, ACL, Access Points — lớp quyền nền tảng2. AWS KMS — mã hóa key-managed3. AWS Lake Formation — quyền data lake cấp bảng/cột/hàng4. Amazon Macie — phát hiện dữ liệu nhạy cảm trong S35. Amazon GuardDuty Malware Protection for S3 — phát hiện malware object upload6. AWS Secrets Manager / Parameter StoreNhóm monitoring, audit, inventory và tối ưu chi phí1. AWS CloudTrail — audit API access2. Amazon CloudWatch — metrics, alarms, logs3. S3 Storage Lens — nhìn toàn cảnh storage4. S3 Inventory — danh sách object theo lịch5. S3 Server Access Logging / CloudTrail data events6. AWS Config7. AWS BackupNhóm thao tác hàng loạt, replication và archive1. S3 Batch Operations — làm việc trên hàng tỷ object2. S3 Lifecycle — tự động chuyển/xóa theo thời gian3. S3 Replication — copy tự động sang bucket khác4. S3 Versioning và Object Lock5. S3 Glacier storage classesNhóm AI/ML thường dùng S3 làm data storeCác cặp dễ nhầm nhấtAthena vs GlueGlue Data Catalog vs Lake FormationGlue vs EMRAthena vs Redshift SpectrumDataSync vs Transfer Family vs Storage GatewayFirehose vs Lambda EventCloudTrail vs S3 Inventory vs Storage LensKiến trúc mẫu dễ nhớ1. Data lake analytics cơ bản2. Data lake production có ETL và governance3. Upload file và xử lý async4. Partner gửi file SFTP vào data lake5. Static website/media deliveryDecision tree chọn dịch vụMẹo nhớ nhanhNguồn AWS chính thức