Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Praktik terbaik File S3
Halaman ini menjelaskan praktik terbaik yang direkomendasikan untuk bekerja dengan sistem file S3.
Kinerja dan optimalisasi biaya
Paralelisasi beban kerja Anda - File S3 dirancang untuk mendukung beban kerja yang sangat paralel. Mendistribusikan pembacaan di beberapa file dan beberapa instance komputasi membantu memaksimalkan throughput agregat. Anda juga dapat membuat beberapa sistem file dengan cakupan awalan spesifik yang berbeda dalam bucket yang sama (alih-alih membuat satu sistem file di seluruh bucket) untuk menskalakan secara horizontal dan meningkatkan throughput agregat.
Cakupan sistem file Anda ke awalan terkecil yang dibutuhkan beban kerja Anda untuk meminimalkan dampak penggantian nama - S3 tidak memiliki konsep direktori asli. Saat Anda mengganti nama atau memindahkan direktori, File S3 harus menulis data ke objek baru dengan kunci yang diperbarui dan menghapus asli untuk setiap file di direktori itu. Mengganti nama direktori dengan puluhan juta file dapat secara signifikan meningkatkan biaya permintaan S3 dan waktu sinkronisasi. Cakupan sistem file Anda ke kumpulan data aktif Anda, atau struktur data Anda sehingga direktori yang Anda harapkan untuk diganti namanya mengandung lebih sedikit file. Untuk informasi selengkapnya, lihat Memahami dampak dari mengganti nama dan memindahkan operasi.
Gunakan ukuran IO besar — S3 Files meter setiap operasi baca dan tulis minimal 32 KB. Menggunakan ukuran IO yang lebih besar (1 MB atau lebih) mengamortisasi overhead per operasi dan lebih hemat biaya daripada banyak membaca atau menulis kecil. Saat menggunakan mount helper, ukuran buffer baca dan tulis NFS default diatur ke 1 MB untuk kinerja optimal.
Sesuaikan sizeLessThan nilai Anda dalam konfigurasi impor agar sesuai dengan ukuran file Anda — Secara default, File S3 menyimpan data untuk file yang lebih kecil dari 128 KB saat Anda pertama kali mengakses direktori. File yang lebih besar dari ambang ini dibaca langsung dari S3. Jika beban kerja Anda melakukan pembacaan kecil yang sensitif terhadap latensi pada file yang lebih besar, tingkatkan sizeLessThan ambang batas agar sesuai dengan ukuran file yang Anda butuhkan pada penyimpanan kinerja tinggi sistem file untuk akses latensi rendah. Untuk informasi selengkapnya, lihat Menyesuaikan sinkronisasi untuk File S3.
Setel jendela kedaluwarsa agar sesuai dengan siklus hidup beban kerja Anda — Data yang belum dibaca dalam jendela kedaluwarsa secara otomatis dihapus dari sistem file. Untuk beban kerja yang berumur pendek seperti pekerjaan batch atau pelatihan, gunakan kedaluwarsa yang lebih pendek (1—7 hari) untuk meminimalkan biaya penyimpanan. Untuk beban kerja yang meninjau kembali data yang sama selama beberapa minggu, gunakan kedaluwarsa yang lebih lama (30-90 hari) untuk terus mendapatkan manfaat dari latensi rendah. Untuk informasi selengkapnya, lihat Menyesuaikan sinkronisasi untuk File S3.
Gunakan aturan cakupan awalan untuk beban kerja campuran — Jika bucket berisi data yang sering diakses dan jarang diakses, buat aturan impor terpisah untuk setiap awalan. Ini memungkinkan Anda mengimpor data secara agresif untuk awalan panas sambil menjaga awalan dingin hanya metadata. Untuk informasi selengkapnya, lihat Menyesuaikan sinkronisasi untuk File S3.
Buat target pemasangan di setiap Availability Zone — Sebaiknya buat satu target mount di setiap Availability Zone tempat Anda beroperasi sehingga Anda dapat mengurangi biaya transfer data lintas-AZ dan meningkatkan kinerja. Ini memastikan bahwa sumber daya komputasi Anda selalu memiliki jalur jaringan lokal ke sistem file, meningkatkan ketersediaan dan latensi. Saat Anda membuat sistem file menggunakan AWS Management Console, File S3 secara otomatis membuat satu target mount di setiap Availability Zone di VPC yang Anda pilih.
Sinkronisasi
Memahami model konsistensi File S3 — Ketika file dalam sistem file dimodifikasi bersamaan dengan objek yang sesuai di bucket S3, File S3 memperlakukan bucket S3 sebagai sumber kebenaran dan memindahkan file ke direktori yang hilang dan ditemukan. Untuk menghindari konflik, tentukan satu jalur (sistem file atau S3) sebagai penulis utama.
Memantau kesehatan sinkronisasi — Gunakan CloudWatch metrik untuk melacak status sinkronisasi antara sistem file dan bucket S3. Pertumbuhan
PendingExportsmenunjukkan bahwa beban kerja Anda menghasilkan perubahan lebih cepat daripada tingkat sinkronisasi, yang berarti sinkronisasi akan memakan waktu lebih lama untuk diselesaikan.ExportFailuresCloudWatch Metrik bukan nol menunjukkan file yang tidak dapat diekspor dan memerlukan tindakan. Untuk informasi selengkapnya, lihat Memecahkan Masalah File S3.
Kontrol akses
Ikuti prinsip hak istimewa terkecil - Berikan hanya izin minimum yang diperlukan untuk setiap peran IAM dan kebijakan sistem file. Misalnya, jika sumber daya komputasi hanya perlu membaca data dari sistem file, lampirkan kebijakan
AmazonS3FilesClientReadOnlyAccessterkelola sebagai gantinya.AmazonS3FilesClientFullAccessSelain itu, pertimbangkan untuk membuat sistem file Anda dengan cakupan awalan tertentu daripada seluruh bucket, sehingga klien hanya dapat mengakses data dalam awalan tersebut.Jangan mengubah peran IAM File S3 — Jangan mengubah atau menghapus peran IAM yang diasumsikan S3 Files untuk disinkronkan dengan bucket S3 Anda. Mengubah atau menghapus peran ini dapat memutus sinkronisasi antara sistem file Anda dan bucket S3.
Jangan mengubah aturan File S3 — File S3 membuat EventBridge EventBridge aturan (diawali dengan DO-NOT-DELETE-S 3-File) untuk mendeteksi perubahan pada bucket S3 Anda. Jangan menonaktifkan, memodifikasi, atau menghapus aturan ini. Menghapusnya mencegah File S3 mendeteksi objek baru atau yang diubah di bucket Anda, menyebabkan sistem file Anda menjadi basi.
Pertimbangkan untuk membatasi akses ke log yang ditulis oleh
efs-utils—efs-utilsmenulis nama kunci objek S3 langsung di log yang disimpan di direktori./var/log/amazon/efsJika nama kunci S3 Anda berisi informasi sensitif, Anda harus membatasi akses ke direktori ini melalui izin POSIX. Misalnya, Anda dapat membatasi akses melalui perintahsudo chmod 700 /var/log/amazon/efs.
Memantau
Atur alarm pada kegagalan sinkronisasi — Buat CloudWatch alarm
ImportFailuresdan beri tahu saat fileExportFailuresgagal disinkronkan. Ekspor yang gagal dapat menunjukkan masalah izin, masalah kunci enkripsi, atau batas panjang jalur. Lihat informasi yang lebih lengkap di Memecahkan Masalah File S3.