0Pricing
Cloud & IT Cert Prep · Pelajaran

EFS: Penyimpanan Berkas Bersama untuk Linux

Pasang sistem berkas EFS di beberapa instans EC2 dan fungsi Lambda, konfigurasikan mode kinerja dan throughput, lalu kendalikan akses dengan grup keamanan.

EFS: Penyimpanan Berkas Bersama untuk Linux adalah pelajaran Cloud & IT Cert Prep gratis di CoddyKit. Ini adalah pelajaran 3 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 Cloud & IT Cert Prep, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cloud & IT Cert Prep mencakup 4 pelajaran total.

Apa Itu Amazon EFS?

Amazon Elastic File System (EFS) adalah sistem berkas POSIX bersama yang elastis dan dikelola sepenuhnya, yang dapat dipasang secara bersamaan oleh ribuan instans EC2, fungsi Lambda, serta kontainer ECS/EKS. Berbeda dari EBS (yang terpasang pada satu instans), EFS menyediakan sistem berkas bersama tempat semua klien yang terhubung dapat melihat berkas yang sama secara waktu nyata. Kapasitas bertambah dan berkurang secara otomatis — Anda tidak perlu menyediakan penyimpanan terlebih dahulu. EFS ideal untuk pengelolaan konten, repositori kode bersama, direktori beranda, dan analitik data.

Kelas Penyimpanan EFS

EFS menyediakan dua kelas penyimpanan: EFS Standard (multi-AZ, ketersediaan tertinggi, latensi submilidetik) dan EFS One Zone (satu AZ, biaya 47% lebih rendah, sedikit kurang tangguh). Dalam setiap tingkatan, tersedia pula varian Infrequent Access (IA) yang menyimpan data dengan biaya 92% lebih rendah daripada Standard untuk berkas yang tidak diakses secara rutin. Perbedaannya dari S3: EFS adalah sistem berkas POSIX lengkap yang dapat dipasang oleh aplikasi Anda — EFS bukan penyimpanan objek.

# Create an EFS file system in Standard storage class
aws efs create-file-system \
  --performance-mode generalPurpose \
  --throughput-mode elastic \
  --encrypted \
  --tags Key=Name,Value=SharedFileSystem

# One Zone (cheaper, single-AZ):
aws efs create-file-system \
  --performance-mode generalPurpose \
  --throughput-mode elastic \
  --encrypted \
  --availability-zone-name us-east-1a \
  --tags Key=Name,Value=SharedFileSystemOneZone

Mode Performa EFS

EFS memiliki dua mode performa: General Purpose (default, direkomendasikan untuk sebagian besar beban kerja — latensi terendah, ideal untuk penyajian web, manajemen konten, dan direktori home) serta Max I/O (dirancang untuk beban kerja yang sangat paralel dengan ribuan koneksi bersamaan, dengan konsekuensi latensi sedikit lebih tinggi, ideal untuk pemrosesan big data dan media). Mode performa ditetapkan saat pembuatan dan tidak dapat diubah setelah sistem berkas dibuat. Untuk ujian SAA-C03, pilih Max I/O hanya jika Anda memang memerlukan ribuan koneksi paralel.

# Create EFS with Max I/O for highly parallel workloads
aws efs create-file-system \
  --performance-mode maxIO \
  --throughput-mode provisioned \
  --provisioned-throughput-in-mibps 1024 \
  --encrypted

# Note: Max I/O mode is NOT compatible with Elastic throughput mode
# It must use Provisioned or Bursting throughput

Mode Throughput EFS

EFS mendukung tiga mode throughput: Elastic (secara otomatis menaikkan dan menurunkan throughput berdasarkan beban kerja — direkomendasikan untuk sebagian besar kasus penggunaan, dengan biaya berdasarkan jumlah GB yang ditransfer), Bursting (throughput meningkat seiring ukuran penyimpanan, serta memperoleh dan menggunakan kredit burst seperti seri EC2 T — baseline gratis), dan Provisioned (Anda menentukan throughput tetap tanpa bergantung pada ukuran penyimpanan — berguna jika Anda memerlukan throughput konsisten yang melampaui kemampuan Bursting). Mode Elastic adalah default modern dan menghilangkan kebutuhan untuk merencanakan kapasitas throughput.

# Migrate an existing EFS from Bursting to Elastic throughput
aws efs update-file-system \
  --file-system-id fs-0abc1234def567890 \
  --throughput-mode elastic

# Check current throughput mode and performance mode
aws efs describe-file-systems \
  --file-system-id fs-0abc1234def567890 \
  --query 'FileSystems[].{ThroughputMode:ThroughputMode,PerfMode:PerformanceMode,SizeBytes:SizeInBytes.Value}'

Target Pemasangan dan Grup Keamanan

Untuk mengakses sistem berkas EFS dari instans EC2, Anda membuat target pemasangan di setiap subnet (AZ) tempat instans Anda berjalan. Untuk EFS Standard, Anda sebaiknya membuat target pemasangan di setiap AZ dalam VPC Anda — instans EC2 terhubung ke target pemasangan di AZ-nya sendiri untuk memperoleh latensi terendah. Target pemasangan memiliki grup keamanan yang harus mengizinkan lalu lintas NFS (port 2049 TCP) dari grup keamanan instans. Tanpa aturan masuk ini, operasi pemasangan akan mengalami batas waktu.

# Create a mount target in each AZ
aws efs create-mount-target \
  --file-system-id fs-0abc1234def567890 \
  --subnet-id subnet-aaa111 \
  --security-groups sg-efsnfs

aws efs create-mount-target \
  --file-system-id fs-0abc1234def567890 \
  --subnet-id subnet-bbb222 \
  --security-groups sg-efsnfs

# The EFS security group needs: Inbound TCP 2049 from instance SG

Memasang EFS pada EC2 Linux

Cara yang direkomendasikan untuk memasang EFS pada EC2 adalah menggunakan Amazon EFS Mount Helper (paket amazon-efs-utils), yang mendukung enkripsi TLS saat transit dan koneksi ulang otomatis. Anda memasang menggunakan ID sistem berkas, bukan alamat IP, sehingga DNS secara otomatis mengarahkan ke target pemasangan AZ terdekat. Untuk pemasangan persisten yang tetap tersedia setelah reboot, tambahkan entri pemasangan ke /etc/fstab menggunakan opsi _netdev untuk memastikan jaringan tersedia sebelum pemasangan dilakukan.

# Install the EFS mount helper
sudo yum install -y amazon-efs-utils

# Mount with TLS encryption in transit
sudo mkdir /mnt/efs
sudo mount -t efs -o tls fs-0abc1234def567890:/ /mnt/efs

# Persistent mount in /etc/fstab
# fs-0abc1234def567890:/ /mnt/efs efs defaults,_netdev,tls 0 0

# Verify mount
df -h /mnt/efs

Titik Akses EFS

Titik Akses EFS adalah titik masuk khusus aplikasi ke dalam sistem berkas EFS yang menerapkan pengguna POSIX, grup, dan direktori root tertentu untuk semua koneksi yang menggunakan titik akses tersebut. Dengan demikian, beberapa aplikasi pada sistem berkas yang sama dapat diisolasi satu sama lain — Aplikasi A memasang melalui Titik Akses A dan hanya melihat /data/app-a/, sedangkan Aplikasi B yang menggunakan Titik Akses B hanya melihat /data/app-b/. Titik Akses adalah cara yang direkomendasikan untuk memberikan akses terisolasi ke sistem berkas EFS bersama bagi fungsi Lambda, tugas ECS, dan pod EKS.

# Create an EFS Access Point for an application
aws efs create-access-point \
  --file-system-id fs-0abc1234def567890 \
  --posix-user Uid=1001,Gid=1001 \
  --root-directory Path=/data/app-a,CreationInfo={OwnerUid=1001,OwnerGid=1001,Permissions=755} \
  --tags Key=App,Value=app-a

# Mount using the access point
sudo mount -t efs \
  -o tls,accesspoint=fsap-0abc1234def567890 \
  fs-0abc1234def567890:/ /mnt/app-a

Intelligent-Tiering dan Siklus Hidup EFS

Intelligent-Tiering EFS secara otomatis memindahkan berkas antara kelas penyimpanan Standard dan Standard-IA (Infrequent Access) berdasarkan pola akses. Anda mengonfigurasi kebijakan siklus hidup — misalnya, memindahkan berkas ke IA setelah 30 hari tanpa akses. Saat berkas di IA diakses kembali, berkas tersebut secara otomatis dipindahkan kembali ke Standard. Pengambilan berkas dari IA dikenai biaya pengambilan per GB, tetapi biaya penyimpanannya jauh lebih rendah. Hal ini serupa dengan Intelligent-Tiering S3 dan menghilangkan kebutuhan untuk mengelola penempatan berkas secara manual.

# Enable lifecycle management (move to IA after 14 days)
aws efs put-lifecycle-configuration \
  --file-system-id fs-0abc1234def567890 \
  --lifecycle-policies '[
    {"TransitionToIA": "AFTER_14_DAYS"},
    {"TransitionToPrimaryStorageClass": "AFTER_1_ACCESS"}
  ]'

# Check current lifecycle configuration
aws efs describe-lifecycle-configuration \
  --file-system-id fs-0abc1234def567890

EFS dengan Lambda dan Kontainer

Fungsi Lambda dapat memasang sistem berkas EFS untuk berbagi berkas model berukuran besar, data persisten, atau konfigurasi di antara beberapa pemanggilan — mengatasi batas /tmp sebesar 512 MB-10 GB. Tugas ECS dan EKS memasang EFS melalui klaim volume persisten menggunakan driver EFS CSI. Fungsi Lambda atau kontainer harus berada dalam VPC yang memiliki target pemasangan, dan grup keamanan EFS harus mengizinkan NFS masuk dari grup keamanan VPC Lambda atau kontainer. EFS + Lambda adalah pola umum untuk berbagi model ML yang telah dilatih di antara instans fungsi.

# Lambda function with EFS mount (CloudFormation excerpt)
# Resources:
#   MyFunction:
#     Type: AWS::Lambda::Function
#     Properties:
#       VpcConfig:
#         SubnetIds: [subnet-aaa]
#         SecurityGroupIds: [sg-lambda]
#       FileSystemConfigs:
#         - Arn: arn:aws:elasticfilesystem:us-east-1:111122223333:access-point/fsap-0abc
#           LocalMountPath: /mnt/models

# In function code:
# import os
# model_path = '/mnt/models/my-model.pkl'
# with open(model_path, 'rb') as f:
#     model = pickle.load(f)

Perbedaan Utama EFS vs EBS dalam Ujian

Ujian SAA-C03 sering meminta Anda memilih antara EFS dan EBS. EFS: sistem berkas bersama POSIX, dapat dipasang secara bersamaan pada beberapa instans EC2, kapasitas elastis, hanya Linux (NFS), dapat diakses oleh Lambda dan kontainer, serta biaya per GB lebih tinggi. EBS: perangkat blok, terhubung ke satu instans EC2 (kecuali io1/io2 Multi-Attach), ukuran yang ditetapkan saat penyediaan, mendukung Linux dan Windows, tidak dapat diakses secara native oleh Lambda, serta biaya per GB lebih rendah. Jika skenarionya menyatakan bahwa “beberapa instans harus berbagi berkas yang sama”, jawabannya adalah EFS.

Enkripsi EFS

EFS mendukung enkripsi saat tidak digunakan (diaktifkan saat pembuatan sistem berkas menggunakan Key KMS — tidak dapat diubah setelah pembuatan) dan enkripsi saat transit (enkripsi TLS saat menggunakan pembantu pemasangan EFS dengan opsi tls). AWS merekomendasikan untuk mengaktifkan keduanya. Anda dapat mewajibkan enkripsi saat transit menggunakan kebijakan berbasis sumber daya EFS yang menolak pemasangan tanpa TLS dengan mewajibkan kondisi elasticfilesystem:ClientRootAccess dan elasticfilesystem:ClientWrite.

# Create an EFS file system with encryption at rest
aws efs create-file-system \
  --encrypted \
  --kms-key-id arn:aws:kms:us-east-1:111122223333:key/KEY_ID

# Mount with TLS to encrypt in transit
sudo mount -t efs -o tls fs-0abc1234def567890:/ /mnt/efs

# Deny unencrypted mounts via EFS resource policy (condition)
# Condition: elasticfilesystem:AccessedViaMountTarget = true
# and aws:SecureTransport = true

Pemeriksaan Cepat

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

Ringkasan Pelajaran

Dalam pelajaran ini Anda mempelajari bahwa: EFS adalah sistem berkas POSIX bersama yang dapat dipasang secara bersamaan pada ribuan instans dan fungsi Lambda dengan kapasitas elastis, Access Points menyediakan isolasi per aplikasi dengan pengguna POSIX dan direktori root yang diterapkan, serta Intelligent-Tiering secara otomatis memindahkan berkas yang jarang diakses ke kelas penyimpanan IA yang lebih murah. Selanjutnya kita akan membahas FSx for Windows File Server dan Lustre untuk beban kerja khusus.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “EFS: Penyimpanan Berkas Bersama untuk Linux” gratis?

Ya — teks lengkap “EFS: Penyimpanan Berkas Bersama untuk Linux” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cloud & IT Cert Prep, upgrade ke CoddyKit PRO. Kursus Cloud & IT Cert Prep mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “EFS: Penyimpanan Berkas Bersama untuk Linux”?

Pasang sistem berkas EFS di beberapa instans EC2 dan fungsi Lambda, konfigurasikan mode kinerja dan throughput, lalu kendalikan akses dengan grup keamanan. Kamu berlatih Cloud & IT Cert Prep 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 Cloud & IT Cert Prep?

Tidak diperlukan pengalaman sebelumnya. Cloud & IT Cert Prep 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 3 dari 4.

Berapa lama pelajaran “EFS: Penyimpanan Berkas Bersama untuk Linux” 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 Cloud & IT Cert Prep ini?

Ya. Setiap pelajaran Cloud & IT Cert Prep 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. Jenis Volume EBS: gp3, io2, st1, sc1
  2. Snapshot, Enkripsi, dan RAID EBS
  3. EFS: Penyimpanan Berkas Bersama untuk Linux
  4. FSx: Server Berkas Windows dan Lustre
← Kembali ke Cloud & IT Cert Prep