Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menyegarkan cache objek bucket Amazon S3
Saat klien NFS atau SMB Anda melakukan operasi sistem file, gateway Anda menyimpan inventaris objek di cache objek Amazon S3 yang terkait dengan berbagi file Anda. Gateway Anda menggunakan inventaris yang di-cache ini untuk mengurangi latensi dan frekuensi permintaan Amazon S3. Operasi ini tidak mengimpor file ke penyimpanan cache S3 File Gateway. Ini hanya memperbarui inventaris yang di-cache untuk mencerminkan perubahan dalam inventaris objek di cache objek Amazon S3.
Untuk menyegarkan cache objek bucket S3 untuk berbagi file Anda, pilih metode yang paling sesuai dengan kasus penggunaan Anda dari daftar berikut, lalu selesaikan prosedur yang sesuai di bawah ini.
catatan
Terlepas dari metode yang Anda gunakan, daftar direktori untuk pertama kalinya menginisialisasinya, yang menyebabkan gateway mencantumkan konten meta data direktori dari Amazon S3. Waktu yang diperlukan untuk menginisialisasi direktori sebanding dengan jumlah entri dalam direktori itu.
Topik
Konfigurasikan jadwal penyegaran cache otomatis menggunakan konsol Storage Gateway
Konfigurasikan jadwal penyegaran cache otomatis menggunakan AWS Lambda CloudWatch aturan Amazon
Lakukan penyegaran cache manual menggunakan konsol Storage Gateway
Lakukan penyegaran cache manual menggunakan Storage Gateway API
Konfigurasikan jadwal penyegaran cache otomatis menggunakan konsol Storage Gateway
Prosedur berikut mengonfigurasi jadwal penyegaran cache otomatis berdasarkan nilai Time To Live (TTL) yang Anda tentukan. Sebelum Anda mengonfigurasi jadwal penyegaran cache berbasis TTL, pertimbangkan hal berikut:
-
TTL diukur sebagai lamanya waktu sejak refresh cache terakhir untuk direktori tertentu.
-
Penyegaran cache berbasis TTL hanya terjadi ketika direktori tertentu diakses setelah periode TTL yang ditentukan kedaluwarsa.
-
Penyegaran tidak rekursif. Itu hanya terjadi pada direktori tertentu yang diakses.
-
Penyegaran menimbulkan biaya API Amazon S3 hanya pada direktori yang belum disinkronkan sejak kedaluwarsa TTL.
-
Direktori hanya disinkronkan jika diakses oleh aktivitas NFS atau SMB.
-
Sinkronisasi tidak terjadi lebih sering daripada periode TTL yang Anda tentukan.
-
-
Mengonfigurasi penyegaran cache berbasis TTL hanya disarankan jika Anda sering memperbarui konten bucket Amazon S3 secara langsung, di luar alur kerja antara gateway dan bucket Amazon S3.
-
Operasi NFS dan SMB yang mengakses direktori dengan kedaluwarsa TTLs akan diblokir sementara gateway menyegarkan isi direktori.
catatan
Karena penyegaran cache dapat memblokir operasi akses direktori, sebaiknya konfigurasi periode TTL terpanjang yang praktis untuk penerapan Anda.
Untuk mengonfigurasi jadwal penyegaran cache otomatis menggunakan konsol Storage Gateway
Buka konsol Storage Gateway di https://console.aws.amazon.com/storagegateway/rumah
. -
Pilih Berbagi file.
-
Pilih berbagi file yang ingin Anda konfigurasikan jadwal penyegarannya.
-
Untuk Tindakan, pilih Edit pengaturan berbagi file.
-
Untuk Penyegaran cache otomatis dari S3 setelahnya, pilih kotak centang dan atur waktu dalam hari, jam, dan menit untuk menyegarkan cache berbagi file menggunakan Time To Live (TTL). TTL adalah lamanya waktu sejak penyegaran terakhir setelah itu akses ke direktori akan menyebabkan File Gateway untuk pertama menyegarkan konten direktori itu dari bucket Amazon S3.
-
Pilih Simpan perubahan.
Konfigurasikan jadwal penyegaran cache otomatis menggunakan AWS Lambda CloudWatch aturan Amazon
Untuk mengonfigurasi jadwal penyegaran cache otomatis menggunakan AWS Lambda CloudWatch aturan Amazon
-
Identifikasi bucket S3 yang digunakan oleh S3 File Gateway.
-
Periksa apakah bagian Acara kosong. Ini mengisi secara otomatis nanti.
-
Buat peran IAM, dan izinkan Hubungan Kepercayaan untuk Lambda
lambda.amazonaws.com
. -
Gunakan kebijakan berikut.
-
Buat fungsi Lambda dari konsol Lambda.
-
Gunakan fungsi berikut untuk tugas Lambda Anda.
import json import boto3 client = boto3.client('storagegateway') def lambda_handler(event, context): print(event) response = client.refresh_cache( FileShareARN='
arn:aws:storagegateway:ap-southeast-2:672406474878:share/share-E51FBS9C
' ) print(response) return 'Your FileShare cache has been refreshed' -
Untuk peran Eksekusi, pilih peran IAM yang Anda buat.
-
Opsional: tambahkan pemicu untuk Amazon S3 dan pilih acara ObjectCreatedatau. ObjectRemoved
catatan
RefreshCache
perlu menyelesaikan satu proses sebelum memulai yang lain. Saat Anda membuat atau menghapus banyak objek dalam bucket, kinerja mungkin menurun. Oleh karena itu, kami sarankan untuk tidak menggunakan pemicu S3. Sebagai gantinya, gunakan CloudWatch aturan Amazon yang dijelaskan berikut. -
Buat CloudWatch aturan di CloudWatch konsol dan tambahkan jadwal. Umumnya, kami merekomendasikan tarif tetap 30 menit. Namun, Anda dapat menggunakan 1-2 jam pada ember S3 besar.
-
Tambahkan pemicu baru untuk CloudWatch acara dan pilih aturan yang baru saja Anda buat.
-
Simpan konfigurasi Lambda Anda. Pilih Uji.
-
Pilih S3 PUT dan sesuaikan tes dengan kebutuhan Anda.
-
Tes harus berhasil. Jika tidak, ubah JSON sesuai kebutuhan Anda dan uji ulang.
-
Buka konsol Amazon S3, dan verifikasi bahwa acara yang Anda buat dan ARN fungsi Lambda ada.
-
Unggah objek ke bucket S3 Anda menggunakan konsol Amazon S3 atau. AWS CLI
CloudWatch Konsol menghasilkan CloudWatch output yang mirip dengan yang berikut ini.
{ u'Records': [ {u'eventVersion': u'2.0', u'eventTime': u'2018-09-10T01:03:59.217Z', u'requestParameters': {u'sourceIPAddress': u'MY-IP-ADDRESS'}, u's3': {u'configurationId': u'95a51e1c-999f-485a-b994-9f830f84769f', u'object': {u'sequencer': u'00549CC2BF34D47AED', u'key': u'new/filename.jpeg'}, u'bucket': {u'arn': u'arn:aws:s3:::amzn-s3-demo-bucket', u'name': u'MY-GATEWAY-NAME', u'ownerIdentity': {u'principalId': u'A3OKNBZ72HVPP9'}}, u's3SchemaVersion': u'1.0'}, u'responseElements': {u'x-amz-id-2': u'76tiugjhvjfyriugiug87t890nefevbck0iA3rPU9I/s4NY9uXwtRL75tCyxasgsdgfsq+IhvAg5M=', u'x-amz-request-id': u'651C2D4101D31593'}, u'awsRegion': u'MY-REGION', u'eventName': u'ObjectCreated:PUT', u'userIdentity': {u'principalId': u'AWS:AROAI5LQR5JHFHDFHDFHJ:MY-USERNAME'}, u'eventSource': u'aws:s3'} ] }
Pemanggilan Lambda memberi Anda output yang mirip dengan yang berikut ini.
{ u'FileShareARN': u'arn:aws:storagegateway:REGION:ACCOUNT-ID:share/MY-SHARE-ID', 'ResponseMetadata': {'RetryAttempts': 0, 'HTTPStatusCode': 200, 'RequestId': '6663236a-b495-11e8-946a-bf44f413b71f', 'HTTPHeaders': {'x-amzn-requestid': '6663236a-b495-11e8-946a-bf44f413b71f', 'date': 'Mon, 10 Sep 2018 01:03:59 GMT', 'content-length': '90', 'content-type': 'application/x-amz-json-1.1' } } }
Bagian NFS Anda yang dipasang pada klien Anda akan mencerminkan pembaruan ini.
catatan
Untuk cache yang memperbarui pembuatan atau penghapusan objek besar dalam ember besar dengan jutaan objek, pembaruan mungkin memakan waktu berjam-jam.
-
Hapus objek Anda secara manual menggunakan konsol Amazon S3 atau. AWS CLI
-
Lihat bagian NFS yang dipasang pada klien Anda. Verifikasi bahwa objek Anda hilang (karena cache Anda diperbarui).
-
Periksa CloudWatch log Anda untuk melihat log penghapusan Anda dengan acara tersebut.
ObjectRemoved:Delete
{ u'account': u'MY-ACCOUNT-ID', u'region': u'MY-REGION', u'detail': {}, u'detail-type': u'Scheduled Event', u'source': u'aws.events', u'version': u'0', u'time': u'2018-09-10T03:42:06Z', u'id': u'6468ef77-4db8-0200-82f0-04e16a8c2bdb', u'resources': [u'arn:aws:events:REGION:MY-ACCOUNT-ID:rule/FGw-RefreshCache-CW'] }
catatan
Untuk pekerjaan cron atau tugas terjadwal, acara CloudWatch log Anda adalah
u'detail-type': u'Scheduled Event'
.
Lakukan penyegaran cache manual menggunakan konsol Storage Gateway
Untuk melakukan penyegaran cache manual menggunakan konsol Storage Gateway
Buka konsol Storage Gateway di https://console.aws.amazon.com/storagegateway/rumah
. -
Pilih Berbagi file, lalu pilih berbagi file yang ingin Anda lakukan penyegaran.
-
Untuk Tindakan, pilih Segarkan cache.
Waktu yang dibutuhkan proses penyegaran tergantung pada jumlah objek yang di-cache di gateway dan jumlah objek yang ditambahkan atau dihapus dari bucket S3.
Lakukan penyegaran cache manual menggunakan Storage Gateway API
Prosedur berikut melakukan penyegaran cache manual menggunakan Storage Gateway API. Sebelum Anda melakukan penyegaran cache berbasis API, pertimbangkan hal berikut:
-
Anda dapat menentukan penyegaran rekursif atau non-rekursif.
-
Penyegaran rekursif lebih intensif sumber daya, dan lebih mahal.
-
Penyegaran menimbulkan biaya API Amazon S3 hanya pada direktori yang Anda berikan sebagai argumen dalam permintaan, dan keturunan direktori tersebut jika Anda menentukan penyegaran rekursif.
-
Penyegaran dijalankan bersamaan dengan operasi lain saat gateway sedang digunakan.
-
Operasi NFS dan SMB umumnya tidak diblokir selama penyegaran, kecuali penyegaran aktif untuk direktori yang diakses oleh operasi.
-
Gateway tidak dapat menentukan apakah konten cache saat ini sudah basi, dan menggunakan kontennya saat ini untuk operasi NFS dan SMB terlepas dari kesegarannya.
-
Karena penyegaran cache menggunakan sumber daya perangkat keras virtual gateway, kinerja gateway mungkin berdampak negatif saat penyegaran sedang berlangsung.
-
-
Melakukan penyegaran cache berbasis API hanya disarankan jika Anda memperbarui konten bucket Amazon S3 secara langsung, di luar alur kerja antara gateway dan bucket Amazon S3.
catatan
Jika Anda mengetahui direktori tertentu tempat Anda memperbarui konten Amazon S3 di luar alur kerja gateway, sebaiknya tentukan direktori ini dalam permintaan penyegaran berbasis API untuk mengurangi biaya API Amazon S3 dan dampak kinerja gateway.
Untuk melakukan penyegaran cache manual menggunakan Storage Gateway API
-
Kirim permintaan HTTP POST untuk menjalankan
RefreshCache
operasi dengan parameter yang Anda inginkan melalui Storage Gateway API. Untuk informasi selengkapnya, lihat RefreshCachedi Referensi API AWS Storage Gateway.catatan
Mengirim
RefreshCache
permintaan hanya memulai operasi penyegaran cache. Ketika penyegaran cache selesai, itu tidak berarti bahwa penyegaran file selesai. Untuk menentukan bahwa operasi penyegaran file selesai sebelum Anda memeriksa file baru di berbagi file gateway, gunakanrefresh-complete
notifikasi. Untuk melakukan ini, Anda dapat berlangganan untuk diberi tahu melalui CloudWatch acara Amazon. Untuk informasi selengkapnya, lihat Mendapatkan pemberitahuan tentang operasi file.