

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Memecahkan Masalah File S3
<a name="s3-files-troubleshooting"></a>

Halaman ini membantu Anda mendiagnosis dan menyelesaikan masalah umum dengan File S3.
+ [Perintah mount gagal](#s3-files-troubleshooting-mount-fails)
+ [Izin ditolak pada operasi file](#s3-files-troubleshooting-permission-denied)
+ [Perutean baca cerdas tidak berfungsi](#s3-files-troubleshooting-read-routing)
+ [Sistem file secara konsisten mengembalikan kesalahan server NFS](#s3-files-troubleshooting-encrypted-fs)
+ [Objek hilang di ember S3 setelah sistem file ditulis](#s3-files-troubleshooting-missing-object)
+ [Objek S3 tidak terlihat dalam sistem file](#s3-files-troubleshooting-object-not-visible)
+ [File muncul di direktori yang hilang dan ditemukan](#s3-files-troubleshooting-lost-found)
+ [Sinkronisasi tertinggal](#s3-files-troubleshooting-sync-behind)
+ [Mengaktifkan log debug klien](#s3-files-troubleshooting-debug-logs)

## Perintah mount gagal
<a name="s3-files-troubleshooting-mount-fails"></a>

`mount -t s3files`Perintah gagal dengan kesalahan.

**Penyebab dan tindakan umum:**
+ **“mount.s3files: perintah tidak ditemukan”** - Klien File S3 (amazon-efs-utils) tidak diinstal atau di bawah versi 3.0.0. Instal atau tingkatkan klien. Untuk informasi selengkapnya, lihat [Prasyarat untuk File S3](s3-files-prereq-policies.md).
+ **“Gagal menyelesaikan nama DNS sistem file”** - Tidak ada target pemasangan di Availability Zone tempat instans EC2 Anda berjalan. Buat target pemasangan di Availability Zone tersebut, atau luncurkan instance Anda di Availability Zone yang memiliki target mount. Untuk informasi selengkapnya, lihat [Pembuatan target pemasangan](s3-files-mount-targets-creating.md).
+ **Waktu koneksi habis** - Konfigurasi grup keamanan tidak mengizinkan lalu lintas NFS. Verifikasi bahwa grup keamanan target mount mengizinkan TCP masuk pada port 2049 dari grup keamanan instans Anda, dan grup keamanan instans Anda mengizinkan TCP keluar pada port 2049 ke grup keamanan target mount. Untuk informasi selengkapnya, lihat [Prasyarat untuk File S3](s3-files-prereq-policies.md).
+ **“Akses ditolak” selama pemasangan** - Peran IAM yang dilampirkan ke sumber daya komputasi Anda tidak memiliki izin File S3 yang diperlukan. Verifikasi bahwa peran tersebut memiliki `AmazonS3FilesClientFullAccess` atau kebijakan `AmazonS3FilesClientReadOnlyAccess` terkelola yang dilampirkan, atau setidaknya `s3files:ClientMount` izin. Untuk informasi selengkapnya, lihat [Prasyarat untuk File S3](s3-files-prereq-policies.md).
+ **botocore tidak diinstal** - Pembantu pemasangan membutuhkan botocore untuk berinteraksi dengan layanan. AWS Instal botocore mengikuti instruksi di amazon-efs-utils README aktif. GitHub

## Izin ditolak pada operasi file
<a name="s3-files-troubleshooting-permission-denied"></a>

Anda dapat memasang sistem file tetapi menerima kesalahan “Izin ditolak” atau “Operasi tidak diizinkan” saat membaca, menulis, atau mengakses file.

**Penyebab dan tindakan umum:**
+ **Izin menulis** tidak ada — Jika Anda dapat membaca tetapi tidak menulis, verifikasi bahwa peran IAM yang dilampirkan ke sumber daya komputasi Anda menyertakan `s3files:ClientWrite` izin, atau lampirkan kebijakan `AmazonS3FilesClientReadWriteAccess` atau `AmazonS3FilesClientFullAccess` terkelola. Untuk informasi selengkapnya, lihat [kebijakan AWS terkelola untuk File Amazon S3](s3-files-security-iam-awsmanpol.md).
+ **Akses root hilang** - Jika Anda menerima kesalahan izin saat mengakses file yang dimiliki oleh root (UID 0), peran IAM Anda mungkin tidak memiliki izin. `s3files:ClientRootAccess` Tanpa izin ini, semua operasi dilakukan sebagai pengguna anonim NFS (biasanya nfsnobody), yang mungkin tidak memiliki akses ke file. Lampirkan kebijakan `AmazonS3FilesClientFullAccess` terkelola atau tambahkan `s3files:ClientRootAccess` ke kebijakan Anda.
+ **Kebijakan sistem file yang menolak akses** — Jika Anda telah melampirkan kebijakan sistem file, verifikasi bahwa itu tidak menyangkal tindakan yang dibutuhkan klien Anda. “Izinkan” baik dalam kebijakan berbasis identitas atau kebijakan sistem file sudah cukup untuk akses. Untuk informasi selengkapnya, lihat [Bagaimana File S3 bekerja dengan IAM](s3-files-security-iam.md).
+ **Ketidakcocokan izin POSIX** - File S3 memberlakukan izin POSIX standar (pemilik, grup, lainnya) pada file dan direktori. Jika aplikasi Anda berjalan sebagai pengguna yang tidak cocok dengan pemilik atau grup file, akses dapat ditolak meskipun izin IAM sudah benar. Gunakan titik akses untuk menegakkan spesifik UID/GID untuk semua permintaan. Untuk informasi selengkapnya, lihat [Membuat titik akses untuk sistem file S3](s3-files-access-points-creating.md).

## Perutean baca cerdas tidak berfungsi
<a name="s3-files-troubleshooting-read-routing"></a>

File S3 melakukan perutean baca cerdas karena secara otomatis merutekan permintaan baca ke lapisan penyimpanan yang paling cocok untuk mereka, sambil mempertahankan semantik sistem file lengkap termasuk konsistensi, penguncian, dan izin POSIX. Pembacaan kecil dan acak dari file yang digunakan secara aktif disajikan dari penyimpanan berkinerja tinggi untuk latensi rendah. Pembacaan dan pembacaan berurutan besar yang tidak ada pada sistem file disajikan langsung dari bucket S3 Anda untuk throughput tinggi, tanpa biaya data sistem file.

Perutean baca cerdas mungkin tidak berfungsi jika salah satu metrik konektivitas klien (`NFSConnectionAccessible`,`S3BucketAccessible`, dan`S3BucketReachable`) menunjukkan 0, atau jika Anda tidak melihat throughput baca yang diharapkan.

**Penyebab dan tindakan umum:**
+ **Kebijakan inline S3 yang hilang pada peran komputasi — Peran** IAM yang dilampirkan ke sumber daya komputasi Anda harus menyertakan pemberian `s3:GetObject` kebijakan sebaris dan pada bucket S3 yang ditautkan. `s3:GetObjectVersion` Tanpa kebijakan ini, mount helper tidak dapat membaca langsung dari S3 dan semua pembacaan melalui sistem file. Untuk informasi selengkapnya, lihat [Prasyarat untuk File S3](s3-files-prereq-policies.md).
+ **Bucket S3 tidak dapat dijangkau** — Periksa metrik. `S3BucketReachable` Jika menunjukkan 0, verifikasi bahwa sumber daya komputasi Anda memiliki akses jaringan ke S3 (misalnya, melalui titik akhir VPC atau gateway NAT).
+ **File telah dimodifikasi** - Bacaan hanya disajikan langsung dari S3 ketika file belum dimodifikasi melalui sistem file. Jika Anda telah menulis ke file dan perubahan belum disinkronkan ke S3, membaca melalui sistem file sampai sinkronisasi selesai.

## Sistem file secara konsisten mengembalikan kesalahan server NFS
<a name="s3-files-troubleshooting-encrypted-fs"></a>

Sistem file terenkripsi secara konsisten mengembalikan kesalahan server NFS. Kesalahan ini dapat terjadi ketika File S3 tidak dapat mengambil kunci KMS Anda dari AWS KMS karena salah satu alasan berikut:
+ Kuncinya dinonaktifkan.
+ Kuncinya telah dihapus.
+ Izin untuk File S3 untuk menggunakan kunci telah dicabut.
+ AWS KMS untuk sementara tidak tersedia.

**Tindakan yang harus diambil**

Pertama, konfirmasikan bahwa kunci AWS KMS diaktifkan. Anda dapat melihat kunci Anda di konsol AWS KMS. Untuk informasi selengkapnya, lihat [Melihat AWS Kunci](https://docs.aws.amazon.com/kms/latest/developerguide/viewing-keys.html) *di Panduan Pengembang Layanan Manajemen Kunci*.

Jika kunci tidak diaktifkan, aktifkan. Untuk informasi selengkapnya, lihat [Mengaktifkan dan Menonaktifkan Kunci di Panduan](https://docs.aws.amazon.com/kms/latest/developerguide/enabling-keys.html) Pengembang *Layanan Manajemen AWS Kunci*.

Jika kunci tertunda penghapusan, batalkan penghapusan dan aktifkan kembali kunci. Untuk informasi selengkapnya, lihat [Menjadwalkan dan Membatalkan Penghapusan Kunci di Panduan Pengembang](https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html) Layanan *Manajemen AWS Kunci*.

Jika kunci diaktifkan dan Anda masih mengalami masalah, hubungi AWS Support.

## Objek hilang di ember S3 setelah sistem file ditulis
<a name="s3-files-troubleshooting-missing-object"></a>

Anda menulis file melalui sistem file dan mengharapkannya muncul sebagai objek di bucket S3 Anda, tetapi objek tersebut tidak ada. S3 File batch berubah selama sekitar 60 detik sebelum menyalinnya ke S3. Jika objek masih tidak muncul, ekspor mungkin gagal. Dalam kasus seperti itu, Anda melihat peningkatan `FailedExports` CloudWatch metrik.

**Tindakan yang harus diambil**

Periksa status ekspor file menggunakan atribut yang diperluas:

```
getfattr -n "user.s3files.status;$(date -u +%s)" missing-file.txt --only-values
```

Stempel waktu dalam nama atribut memastikan Anda mendapatkan status terbaru. Contoh output:

```
S3Key: s3://bucket/prefix/missing-file.txt
ExportError: PathTooLong
```

`ExportError`tidak ditampilkan jika tidak ada kegagalan ekspor. `S3Key`kosong jika objek S3 tidak pernah ditautkan ke file.

Tabel berikut mencantumkan semua `ExportError` nilai yang mungkin:


| Kesalahan | Penyebab | 
| --- | --- | 
| S3AccessDenied | Peran IAM yang diasumsikan oleh File S3 tidak memiliki izin yang cukup untuk menulis ke bucket S3. Untuk informasi selengkapnya, lihat [Prasyarat untuk File S3](s3-files-prereq-policies.md). | 
| S3BucketNotFound | Bucket S3 sumber tidak ada lagi atau telah diganti namanya. Verifikasi itu ada di AWS Wilayah dan akun yang diharapkan. | 
| InternalError | Ada kesalahan sistem internal. | 
| S3UserMetadataTooLarge | Batas ukuran metadata pengguna S3 terlampaui. Lihat [Fitur, batas, dan kuota yang tidak didukung](s3-files-quotas.md) untuk informasi tentang batas-batas ini. | 
| FileSizeExceedsS3Limit | Ukuran file melebihi batas ukuran objek S3. Lihat [Fitur, batas, dan kuota yang tidak didukung](s3-files-quotas.md) untuk informasi tentang batas-batas ini. | 
| EncryptionKeyInaccessible | Kunci enkripsi yang digunakan oleh bucket S3 tidak dapat diakses oleh File S3. Berikan akses File S3 ke kunci enkripsi Anda. Untuk informasi selengkapnya, lihat [Enkripsi](s3-files-encryption.md). | 
| RoleAssumptionFailed | Tidak bisa mengambil peran. Periksa kebijakan kepercayaan Anda. Untuk informasi selengkapnya, lihat [Prasyarat untuk File S3](s3-files-prereq-policies.md). | 
| KeyTooLongToBreakCycle | File S3 tidak dapat menyelesaikan ketergantungan melingkar (misalnya, karena mengganti nama dua file ke nama masing-masing) karena jalur file melebihi batas panjang kunci S3. Mempersingkat jalur direktori untuk mengatasi kesalahan ini. | 
| PathTooLong | Jalur file Anda melebihi batas panjang kunci S3. Lihat [Fitur, batas, dan kuota yang tidak didukung](s3-files-quotas.md) untuk informasi tentang batas-batas ini. | 
| DependencyExportFailed | Induk atau ketergantungan memiliki kegagalan ekspor yang tidak dapat dicoba ulang. Periksa status untuk induk atau dependensi apa pun yang menggunakan. getfattr | 
| S3ObjectArchived | Objek S3 diarsipkan (S3 Glacier Flexible Retrieval atau S3 Glacier Deep Archive) dan tidak dapat dibaca. Kembalikan objek terlebih dahulu menggunakan S3 APIs. | 

File S3 secara otomatis mencoba ulang ekspor yang gagal. `ExportError`ditampilkan hanya untuk kesalahan yang tidak dapat dicoba ulang.

## Objek S3 tidak terlihat dalam sistem file
<a name="s3-files-troubleshooting-object-not-visible"></a>

Sebuah objek ada di bucket S3 Anda tetapi tidak muncul di sistem file. Nama kunci objek mungkin tidak dipetakan ke jalur file POSIX yang valid. File S3 tidak mendukung akses nama kunci S3 dengan komponen jalur kosong (), komponen jalur relatif (,`foo//bar`), nama kunci yang berisi byte nol, atau nama kunci di mana komponen jalur apa pun melebihi 255 byte. `foo/./bar` `foo/../bar` Objek dengan nama kunci yang tidak kompatibel tidak diimpor ke sistem file.

## File muncul di direktori yang hilang dan ditemukan
<a name="s3-files-troubleshooting-lost-found"></a>

File telah muncul di `.s3files-lost+found-{{file-system-id}}` direktori di direktori root sistem file Anda. Dalam hal ini, Anda melihat peningkatan `LostAndFoundFiles` CloudWatch metrik. Ini terjadi ketika konflik sinkronisasi muncul. Konflik terjadi ketika file yang sama dimodifikasi melalui sistem file dan objek S3 yang sesuai berubah sebelum File S3 menyinkronkan sistem file berubah kembali ke S3. File S3 memperlakukan bucket S3 sebagai sumber kebenaran, memindahkan file yang bertentangan ke direktori yang hilang dan ditemukan, dan mengimpor versi terbaru dari bucket S3 ke dalam sistem file.

**Mengidentifikasi file di direktori yang hilang dan ditemukan**

Ketika File S3 memindahkan file ke direktori yang hilang dan ditemukan, itu menambahkan nama file dengan pengenal heksadesimal untuk membedakan beberapa versi dari file yang sama yang dapat dipindahkan dari waktu ke waktu. Nama file yang lebih panjang dari 100 karakter dipotong untuk memberi ruang bagi pengenal ini. Jalur direktori asli file tidak disimpan di direktori yang hilang dan ditemukan.

**Tindakan yang harus diambil**

Dapatkan jalur asli file dan kunci objek S3 yang sesuai:

```
getfattr -n "user.s3files.status;$(date -u +%s)" .s3files-lost+found-{{fs-12345678}}/{{abcdef1234_report.csv}} --only-values
```

Contoh output:

```
S3Key: s3://bucket/prefix/report.csv
FilePath: /data/report.csv
```


| Bidang | Deskripsi | 
| --- | --- | 
| S3Key | Jalur S3 penuh dari objek yang menyebabkan konflik, atau kosong jika objek dihapus di bucket S3. | 
| FilePath | Jalur relatif file sebelum konflik. | 

Anda kemudian dapat menyimpan versi terbaru dari bucket S3 Anda dan menghapus file dari direktori yang hilang dan ditemukan, atau menyalin file dari direktori yang hilang dan ditemukan kembali ke jalur aslinya untuk menimpa versi S3.

**catatan**  
File di direktori yang hilang dan ditemukan tetap ada tanpa batas waktu dan dihitung terhadap biaya penyimpanan sistem file Anda. Hapus file dari direktori yang hilang dan ditemukan ketika mereka tidak lagi diperlukan.

## Sinkronisasi tertinggal
<a name="s3-files-troubleshooting-sync-behind"></a>

`PendingExports` CloudWatch Metrik berkembang, menunjukkan bahwa beban kerja Anda menghasilkan perubahan lebih cepat daripada File S3 dapat menyinkronkannya ke S3.

Ini berarti bahwa beban kerja Anda mungkin melebihi tingkat sinkronisasi. File S3 mengekspor hingga 800 file per detik per sistem file. Pertimbangkan untuk mengurangi tingkat modifikasi file atau mendistribusikan pekerjaan di beberapa sistem file. Pantau `PendingExports` metrik dari waktu ke waktu. Jika stabil atau berkurang, File S3 mengejar ketinggalan. Jika terus tumbuh, hubungi AWS Support.

## Mengaktifkan log debug klien
<a name="s3-files-troubleshooting-debug-logs"></a>

Jika Anda memecahkan masalah pemasangan, konektivitas, atau baca bypass, Anda dapat mengaktifkan logging tingkat debug pada klien File S3 untuk menangkap lebih detail.

**Pasang log pembantu dan pengawas**

Edit `/etc/amazon/efs/s3files-utils.conf` dan ubah level logging dari INFO ke DEBUG:

```
[DEFAULT]
logging_level = DEBUG
```

Lepaskan dan pasang kembali sistem file agar perubahan diterapkan:

```
sudo umount /mnt/s3files
sudo mount -t s3files {{file-system-id}}:/ /mnt/s3files
```

Log ditulis ke`/var/log/amazon/efs/`. Log pembantu mount adalah`mount.log`.

**Log proxy (efs-proxy)**

Proxy menangani lalu lintas NFS dan bypass baca S3. Untuk mengaktifkan pencatatan debug untuk proxy, edit`/etc/amazon/efs/s3files-utils.conf`:

```
[proxy]
proxy_logging_level = DEBUG
```

Lepaskan dan pasang kembali agar perubahan diterapkan. Log proxy ditulis ke`/var/log/amazon/efs/`.

**Log terowongan TLS (stunnel)**

Log terowongan TLS dinonaktifkan secara default. Untuk mengaktifkannya, edit `/etc/amazon/efs/s3files-utils.conf` dan atur yang berikut ini:

```
[mount]
stunnel_debug_enabled = true
```

Untuk menyimpan semua log stunnel untuk sistem file ke satu file, hapus komentar juga pada `stunnel_logs_file` baris:

```
stunnel_logs_file = /var/log/amazon/efs/{fs_id}.stunnel.log
```

**Batas ukuran log**

File log diputar secara otomatis. Anda dapat mengonfigurasi ukuran maksimum dan jumlah file yang diputar di`s3files-utils.conf`:

```
[DEFAULT]
logging_max_bytes = 1048576
logging_file_count = 10
```

Defaultnya adalah 1 MB per file log dengan 10 file yang diputar, untuk maksimum 10 MB per jenis log.

**Berbagi log dengan AWS Support**

Saat menghubungi AWS Support, kumpulkan log dan konfigurasi klien ke dalam satu arsip:

```
sudo tar -czf /tmp/s3files-support-logs.tar.gz \
  /var/log/amazon/efs/ \
  /etc/amazon/efs/s3files-utils.conf
```

Sertakan `/tmp/s3files-support-logs.tar.gz` dengan kasus dukungan Anda.