0Pricing
AWS Solutions Architect · Pelajaran

Optimalisasi Biaya S3 dan Transfer Data

Terapkan S3 Intelligent-Tiering, aturan siklus hidup, S3 Select, dan CloudFront untuk mengurangi biaya penyimpanan serta transfer data secara signifikan.

Optimalisasi Biaya S3 dan Transfer Data adalah pelajaran AWS Solutions Architect gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar AWS Solutions Architect, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus AWS Solutions Architect mencakup 4 pelajaran total.

Dasar-Dasar Biaya Penyimpanan S3

Biaya penyimpanan Amazon S3 sangat bervariasi berdasarkan kelas penyimpanan dan pola akses. S3 Standard mengenakan biaya sekitar $0.023 per GB per bulan — pada skala petabita, biaya ini menjadi signifikan. Kabar baiknya, S3 menawarkan tujuh kelas penyimpanan yang dioptimalkan untuk frekuensi akses yang berbeda, dengan harga mulai dari $0.023/GB (Standard) hingga $0.00099/GB (Glacier Deep Archive). Kunci pengoptimalan biaya S3 adalah mencocokkan data Anda dengan kelas penyimpanan yang tepat dan mengotomatiskan perpindahan menggunakan kebijakan siklus hidup.

# S3 storage class costs (us-east-1 approximate):
# S3 Standard:              $0.023/GB/month
# S3 Intelligent-Tiering:   $0.023/GB (frequent) + $0.0125 (infrequent)
# S3 Standard-IA:           $0.0125/GB/month + retrieval fee
# S3 One Zone-IA:           $0.01/GB/month (single AZ)
# S3 Glacier Instant:       $0.004/GB/month + retrieval fee
# S3 Glacier Flexible:      $0.0036/GB/month + retrieval time
# S3 Glacier Deep Archive:  $0.00099/GB/month + retrieval time

S3 Intelligent-Tiering

S3 Intelligent-Tiering secara otomatis memindahkan objek antar tingkat akses berdasarkan pola akses aktual — tanpa biaya pengambilan dan tanpa durasi minimum untuk tingkat akses sering. Fitur ini memantau akses objek pada tingkat objek: objek yang tidak diakses selama 30 hari dipindahkan ke tingkat akses jarang (40% lebih murah), dan setelah 90 hari dipindahkan ke tingkat arsip instan (68% lebih murah). Terdapat biaya pemantauan bulanan kecil ($0.0025 per 1.000 objek). Gunakan Intelligent-Tiering ketika Anda tidak dapat memprediksi pola akses atau ketika Anda memiliki data yang sering dan jarang diakses dalam bucket yang sama.

# Enable Intelligent-Tiering on objects
aws s3api put-object \
  --bucket my-bucket \
  --key data/report.parquet \
  --body report.parquet \
  --storage-class INTELLIGENT_TIERING

# Or set as default for entire bucket
aws s3api put-bucket-intelligent-tiering-configuration \
  --bucket my-bucket \
  --id whole-bucket-tiering \
  --intelligent-tiering-configuration '{
    "Id": "whole-bucket-tiering",
    "Status": "Enabled",
    "Tierings": [
      {"AccessTier": "ARCHIVE_ACCESS", "Days": 90},
      {"AccessTier": "DEEP_ARCHIVE_ACCESS", "Days": 180}
    ]
  }'

Aturan Siklus Hidup S3 untuk Tiering Otomatis

Aturan siklus hidup S3 mengotomatiskan perpindahan dan kedaluwarsa objek berdasarkan usia. Anda menentukan aturan berdasarkan awalan atau tag, lalu menetapkan perpindahan pada ambang hari tertentu. Contoh siklus hidup pengarsipan: Standard → Standard-IA (30 hari) → Glacier Instant Retrieval (90 hari) → Deep Archive (365 hari) → Delete (2555 hari). Seiring waktu, cara ini dapat mengurangi biaya penyimpanan per GB dari $0.023 menjadi $0.00099 — pengurangan 95% untuk data arsip. Perpindahan siklus hidup memiliki ukuran objek minimum 128KB untuk IA dan Glacier (objek yang lebih kecil tidak efektif dari segi biaya untuk dipindahkan).

# Lifecycle rule: transition logs to archive
aws s3api put-bucket-lifecycle-configuration \
  --bucket app-logs-bucket \
  --lifecycle-configuration '{
    "Rules": [{
      "ID": "log-archive",
      "Filter": {"Prefix": "logs/"},
      "Status": "Enabled",
      "Transitions": [
        {"Days": 30,  "StorageClass": "STANDARD_IA"},
        {"Days": 90,  "StorageClass": "GLACIER_IR"},
        {"Days": 365, "StorageClass": "DEEP_ARCHIVE"}
      ],
      "Expiration": {"Days": 2555}
    }]
  }'

S3 Select dan Glacier Select

S3 Select memungkinkan Anda mengambil hanya data yang diperlukan dari objek S3 menggunakan ekspresi SQL, bukan mengunduh seluruh objek. Untuk file CSV berukuran 10 GB yang hanya memerlukan 100 baris, S3 Select dapat mengambil baris tersebut saja — sehingga biaya transfer data dan waktu pemrosesan aplikasi berkurang secara drastis. Glacier Select melakukan hal yang sama untuk objek di Glacier. S3 Select mendukung format CSV, JSON, dan Parquet. Fitur ini sangat bermanfaat dalam pipeline analitik data, ketika banyak kueri hanya mengakses sebagian dari setiap file data.

# S3 Select: query a CSV object using SQL expression
aws s3api select-object-content \
  --bucket analytics-data \
  --key sales/2026-06.csv \
  --expression-type SQL \
  --expression "SELECT * FROM S3Object WHERE region = 'us-east'" \
  --input-serialization 'CSV={FileHeaderInfo=USE}' \
  --output-serialization 'CSV={}' \
  output.csv

# Only the matching rows are returned
# Saves data transfer cost vs downloading entire file

S3 Multipart Upload dan Transfer Acceleration

Untuk unggahan objek berukuran besar, S3 Multipart Upload membagi objek menjadi beberapa bagian (minimal 5 MB per bagian) yang diunggah secara paralel, sehingga meningkatkan throughput dan memungkinkan unggahan dilanjutkan kembali. Bagian yang gagal dapat dicoba lagi tanpa memulai ulang seluruh unggahan. Bersihkan unggahan multipart yang tidak selesai menggunakan aturan siklus hidup agar Anda tidak dikenai biaya untuk bagian yang tidak selesai. S3 Transfer Acceleration merutekan unggahan melalui lokasi edge AWS CloudFront untuk mempercepat unggahan dari lokasi yang jauh — berguna bagi pengguna yang mengunggah file besar dari berbagai penjuru dunia, tetapi menambah biaya ($0.04-$0.08/GB). Gunakan hanya jika akselerasi memberikan peningkatan yang terukur.

# Multipart upload example
aws s3api create-multipart-upload \
  --bucket my-bucket --key large-file.zip

# Abort incomplete multipart uploads via lifecycle
aws s3api put-bucket-lifecycle-configuration \
  --bucket my-bucket \
  --lifecycle-configuration '{
    "Rules": [{
      "ID": "cleanup-incomplete-uploads",
      "Status": "Enabled",
      "AbortIncompleteMultipartUpload": {"DaysAfterInitiation": 7}
    }]
  }'

Memahami Biaya Transfer Data

Biaya transfer data merupakan salah satu tagihan AWS yang paling mengejutkan. Aturan utamanya: transfer data masuk (ke AWS) gratis. Transfer data keluar ke internet dikenai biaya sekitar $0.09/GB (10 TB pertama/bulan). Transfer data lintas wilayah dikenai biaya sekitar $0.02/GB. Transfer data lintas AZ dalam wilayah yang sama dikenai biaya $0.01/GB untuk setiap arah. Dalam AZ yang sama gratis. Rancang arsitektur untuk meminimalkan transfer data lintas wilayah dan ke internet — inilah alasan deployment regional dan CloudFront sangat penting untuk pengiriman konten yang hemat biaya.

# Data transfer cost examples (us-east-1):
# Internet (outbound):       $0.09/GB (first 10 TB)
# CloudFront -> internet:    $0.0085/GB (much cheaper!)
# Cross-region:              $0.02/GB
# Cross-AZ (same region):    $0.01/GB each direction
# Same AZ:                   $0.00/GB (free)
# S3 -> CloudFront:          $0.00/GB (free!)

# Cost reduction tip:
# S3 -> CloudFront -> users
# vs
# EC2 -> internet -> users
# CloudFront is 10x cheaper for data egress

CloudFront untuk Mengurangi Biaya Transfer Data

Mengirimkan konten melalui Amazon CloudFront secara drastis mengurangi biaya transfer data dengan dua cara. Pertama, CloudFront mengenakan tarif egress yang lebih rendah daripada akses internet langsung EC2 atau S3 (~$0.0085/GB dibandingkan $0.09/GB). Kedua, CloudFront menyimpan konten dalam cache di lokasi edge, sehingga mengurangi frekuensi data disajikan dari sumber asal — konten yang sama bahkan dapat disajikan jutaan kali dari cache dengan hanya satu pengambilan dari sumber asal. Transfer data dari S3 ke CloudFront juga gratis. Dengan demikian, CloudFront merupakan alat pengoptimalan biaya, bukan hanya alat peningkatan kinerja.

# Cost comparison for 100 TB/month of outbound traffic:
# Direct from EC2/S3 to internet:
#   100,000 GB x $0.09/GB = $9,000/month

# Via CloudFront (assuming 80% cache hit rate):
#   20,000 GB origin pull: free (S3->CF) or $0.02 (EC2->CF)
#   100,000 GB CF->internet: 100,000 x $0.0085 = $850
#   Total: ~$1,250 vs $9,000 = 86% savings

# Create CloudFront distribution with S3 origin
aws cloudfront create-distribution \
  --distribution-config file://cf-config.json

VPC Endpoints untuk Menghindari Biaya NAT Gateway

Biaya pemrosesan data NAT Gateway ($0.045/GB) dapat menjadi signifikan ketika instans EC2 di subnet privat sering mengakses S3 atau DynamoDB. Sebagai gantinya, gunakan VPC Gateway Endpoints untuk S3 dan DynamoDB — endpoint ini merutekan lalu lintas melalui jaringan backbone AWS dengan biaya nol dan tidak memerlukan NAT Gateway untuk layanan tersebut. Selain itu, VPC Interface Endpoints (PrivateLink) untuk layanan AWS lainnya menghilangkan biaya pemrosesan NAT Gateway untuk lalu lintas layanan tersebut, meskipun Interface Endpoints sendiri memiliki biaya per jam yang kecil.

# Create VPC Gateway Endpoint for S3 (free!)
aws ec2 create-vpc-endpoint \
  --vpc-id vpc-12345 \
  --service-name com.amazonaws.us-east-1.s3 \
  --vpc-endpoint-type Gateway \
  --route-table-ids rtb-private-AZ1 rtb-private-AZ2

# Traffic from EC2 in private subnet to S3:
# WITHOUT endpoint: EC2 -> NAT GW ($0.045/GB) -> S3
# WITH endpoint:    EC2 -> S3 via VPC endpoint ($0.00/GB)

# For DynamoDB:
aws ec2 create-vpc-endpoint \
  --service-name com.amazonaws.us-east-1.dynamodb \
  --vpc-endpoint-type Gateway

Mengoptimalkan Biaya Permintaan S3

S3 mengenakan biaya per permintaan API selain biaya per GB yang disimpan. Permintaan PUT, COPY, POST, LIST dikenai biaya $0.005 per 1.000 permintaan; permintaan GET, SELECT dikenai biaya $0.0004 per 1.000 permintaan. Untuk aplikasi yang melakukan jutaan permintaan, biaya ini akan terakumulasi. Lakukan pengoptimalan dengan: menggabungkan objek kecil menjadi objek yang lebih besar (lebih sedikit permintaan), menggunakan CloudFront untuk menyajikan respons yang tersimpan dalam cache (mengurangi permintaan GET ke sumber asal), menghindari operasi pencantuman jika memungkinkan (LIST mahal), dan menggunakan S3 Batch Operations untuk operasi massal, bukan jutaan panggilan API individual.

# S3 Batch Operations: process millions of objects at once
aws s3control create-job \
  --account-id 123456789012 \
  --manifest '{
    "Spec":{"Format":"S3BatchOperations_CSV_20180820","Fields":["Bucket","Key"]},
    "Location":{"ObjectArn":"arn:aws:s3:::manifest-bucket/manifest.csv","ETag":"abc123"}
  }' \
  --operation '{
    "S3CopyObject": {
      "TargetResource": "arn:aws:s3:::destination-bucket",
      "StorageClass": "GLACIER"
    }
  }' \
  --report '{"Bucket":"arn:aws:s3:::report-bucket","Enabled":true}'

AWS DataSync untuk Transfer Data

Untuk transfer data berskala besar antara pusat data lokal dan AWS, atau antar layanan AWS, AWS DataSync lebih hemat biaya daripada menulis kode transfer khusus. DataSync menggunakan protokol yang dibuat khusus untuk tujuan ini, yang mencapai throughput hingga 10 kali lipat dibandingkan alat sumber terbuka, serta menyertakan validasi data, penjadwalan, dan pemantauan bawaan. Data yang ditransfer melalui DataSync ke S3, EFS, atau FSx dikenai tarif transfer data AWS standar — tetapi efisiensi DataSync berarti transfer selesai lebih cepat, sehingga mengurangi waktu komputasi EC2 (dan biayanya) yang diperlukan untuk migrasi besar.

# Create DataSync task to copy S3 bucket to another region
aws datasync create-task \
  --source-location-arn arn:aws:datasync:us-east-1:123:location/loc-source \
  --destination-location-arn arn:aws:datasync:us-west-2:123:location/loc-dest \
  --name 'DR-replication' \
  --options '{
    "VerifyMode": "ONLY_FILES_TRANSFERRED",
    "OverwriteMode": "ALWAYS",
    "TransferMode": "CHANGED"
  }'

# DataSync pricing: $0.0125/GB transferred

Storage Lens untuk Visibilitas S3

Amazon S3 Storage Lens menyediakan visibilitas di seluruh organisasi terhadap penggunaan penyimpanan S3 dan metrik aktivitas di berbagai akun dan wilayah. Fitur ini menampilkan peluang pengoptimalan biaya, seperti mengidentifikasi bucket tanpa aturan siklus hidup, bucket dengan unggahan multipart yang tidak selesai, atau distribusi kelas penyimpanan. Dasbor default S3 Storage Lens gratis; dasbor metrik lanjutan ($0.20/juta objek) menambahkan perincian berdasarkan awalan dan metrik usia data. Gunakan Storage Lens sebagai titik awal untuk setiap upaya pengoptimalan biaya S3 guna mengidentifikasi bucket dengan dampak terbesar.

# Enable S3 Storage Lens dashboard
aws s3control put-storage-lens-configuration \
  --account-id 123456789012 \
  --config-id default \
  --storage-lens-configuration '{
    "Id": "default",
    "IsEnabled": true,
    "DataExport": {
      "S3BucketDestination": {
        "AccountId": "123456789012",
        "Arn": "arn:aws:s3:::my-storage-lens-export",
        "Format": "CSV",
        "OutputSchemaVersion": "V_1"
      }
    }
  }'

Pemeriksaan Singkat

Uji pemahaman Anda tentang konsep AWS Solutions Architect (SAA-C03) dari pelajaran ini.

Ringkasan Pelajaran

Dalam pelajaran ini Anda telah mempelajari: S3 Intelligent-Tiering dan aturan siklus hidup mengurangi biaya penyimpanan dengan memindahkan data ke kelas penyimpanan yang lebih murah secara otomatis, CloudFront secara drastis mengurangi biaya transfer data dibandingkan penyajian langsung dari S3 atau EC2, dan VPC Gateway Endpoints menghilangkan biaya NAT Gateway untuk lalu lintas S3 dan DynamoDB. S3 Storage Lens memberikan visibilitas terhadap peluang pengoptimalan. Selanjutnya kita akan membahas KMS, ACM, dan pola enkripsi.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Optimalisasi Biaya S3 dan Transfer Data” gratis?

Ya — teks lengkap “Optimalisasi Biaya S3 dan Transfer Data” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus AWS Solutions Architect, upgrade ke CoddyKit PRO. Kursus AWS Solutions Architect mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Optimalisasi Biaya S3 dan Transfer Data”?

Terapkan S3 Intelligent-Tiering, aturan siklus hidup, S3 Select, dan CloudFront untuk mengurangi biaya penyimpanan serta transfer data secara signifikan. Kamu berlatih AWS Solutions Architect dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai AWS Solutions Architect?

Tidak diperlukan pengalaman sebelumnya. AWS Solutions Architect di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Optimalisasi Biaya S3 dan Transfer Data” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran AWS Solutions Architect ini?

Ya. Setiap pelajaran AWS Solutions Architect menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Penyesuaian Ukuran dan Compute Optimizer
  2. Reserved Instances, Savings Plans, dan Spot
  3. Cost Explorer, Anggaran, dan Tag Alokasi Biaya
  4. Optimalisasi Biaya S3 dan Transfer Data
← Kembali ke AWS Solutions Architect