In che modo Amazon S3 gestisce i conflitti nelle configurazioni del ciclo di vita - Amazon Simple Storage Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

In che modo Amazon S3 gestisce i conflitti nelle configurazioni del ciclo di vita

In genere, il ciclo di vita Amazon S3 ottimizza i costi. Ad esempio, se due policy per la scadenza di sovrappongono, verrà onorata la policy per la scadenza più breve in modo che i dati non rimangano archiviati più a lungo del previsto. Analogamente, se due policy di trasferimento si sovrappongono, il ciclo di vita S3 eseguirà la transizione degli oggetti nella classe di storage ottimizzata per i costi.

In entrambi i casi, il ciclo di vita S3 tenta di scegliere il percorso meno costoso per l'utente. Un'eccezione a questa regola generale è con la classe di storage S3 Intelligent-Tiering. Piano intelligente S3 è preferito dal ciclo di vita S3 rispetto a qualsiasi classe di storage, a parte le classi di storage S3 Glacier e S3 Glacier Deep Archive.

Quando una configurazione del ciclo di vita S3 contiene più regole, un oggetto può diventare idoneo a più operazioni del ciclo di vita S3 nello stesso giorno. In questi casi, Amazon S3 segue le seguenti regole generali:

  • L'eliminazione permanente ha la precedenza sul trasferimento.

  • Il trasferimento ha la precedenza sulla creazione dei contrassegni di eliminazione.

  • Quando un oggetto è idoneo sia per una transizione Recupero flessibile S3 Glacier che AI S3 Standard (o AI a zona unica S3), Amazon S3 sceglie la transizione Recupero flessibile S3 Glacier.

Esempi di sovrapposizione di filtri e conflitto tra operazioni del ciclo di vita

In una configurazione del ciclo di vita S3 potrebbero venire specificati prefissi o operazioni che si sovrappongono. Negli esempi seguenti viene illustrato in che modo Amazon S3 sceglie di risolvere i potenziali conflitti.

Esempio 1: sovrapposizione di prefissi (nessun conflitto)

La configurazione di esempio riportata di seguito include due regole in cui sono specificati prefissi che si sovrappongono nel modo seguente:

  • La prima regola specifica un filtro vuoto, che indica tutti gli oggetti nel bucket.

  • La seconda regola specifica un prefisso del nome della chiave (logs/), che indica solo un sottoinsieme di oggetti.

La regola 1 richiede ad Amazon S3 di eliminare tutti gli oggetti un anno dopo la creazione. La regola 2 richiede ad Amazon S3 di passare un sottoinsieme di oggetti alla classe di storage S3 Standard-IA 30 giorni dopo la creazione.

<LifecycleConfiguration> <Rule> <ID>Rule 1</ID> <Filter> </Filter> <Status>Enabled</Status> <Expiration> <Days>365</Days> </Expiration> </Rule> <Rule> <ID>Rule 2</ID> <Filter> <Prefix>logs/</Prefix> </Filter> <Status>Enabled</Status> <Transition> <StorageClass>STANDARD_IA<StorageClass> <Days>30</Days> </Transition> </Rule> </LifecycleConfiguration>

Poiché in questo caso non vi sono conflitti, Amazon S3 trasferirà gli oggetti con il prefisso logs/ nella classe di archiviazione S3 Standard-IA dopo 30 giorni dalla data di creazione. Una volta passato un anno dalla data di creazione di qualsiasi oggetto, questo verrà eliminato.

Esempio 2: conflitto tra operazioni del ciclo di vita

Questa configurazione di esempio include due regole che indicano ad Amazon S3 di eseguire due operazioni diverse sullo stesso insieme di oggetti nello stesso momento dell'esistenza degli oggetti:

  • Entrambe le regole specificano lo stesso prefisso nel nome della chiave, quindi entrambe le regole si applicano allo stesso insieme di oggetti.

  • Entrambe le regole specificano che devono essere applicate 365 giorni dopo la data di creazione degli oggetti.

  • Una regola indica ad Amazon S3 di eseguire la transizione degli oggetti alla classe di storage S3 Standard-IA, mentre un'altra specifica che Amazon S3 deve fare scadere gli oggetti contemporaneamente.

<LifecycleConfiguration> <Rule> <ID>Rule 1</ID> <Filter> <Prefix>logs/</Prefix> </Filter> <Status>Enabled</Status> <Expiration> <Days>365</Days> </Expiration> </Rule> <Rule> <ID>Rule 2</ID> <Filter> <Prefix>logs/</Prefix> </Filter> <Status>Enabled</Status> <Transition> <StorageClass>STANDARD_IA<StorageClass> <Days>365</Days> </Transition> </Rule> </LifecycleConfiguration>

In questo caso, dal momento che l'obiettivo è di far scadere (rimuovere) gli oggetti, non ha senso cambiare la classe di archiviazione, quindi Amazon S3 sceglie semplicemente di eseguire l'operazione di scadenza su questi oggetti.

Esempio 3: sovrapposizione di prefissi con conseguente conflitto tra operazioni del ciclo di vita

In questo esempio la configurazione include due regole, in cui sono specificati prefissi che si sovrappongono nel modo seguente:

  • La regola 1 specifica un prefisso vuoto, che indica tutti gli oggetti.

  • La regola 2 specifica un prefisso della chiave (logs/), che indica un sottoinsieme di tutti gli oggetti.

Per il sottoinsieme di oggetti con il prefisso nel nome della chiave logs/, si applicano le operazioni del ciclo di vita S3 in entrambe le regole. Una regola indica ad Amazon S3 di trasferire gli oggetti 10 giorni dopo la data di creazione mentre un'altra regola indica ad Amazon S3 di trasferirli 365 giorni dopo la data di creazione.

<LifecycleConfiguration> <Rule> <ID>Rule 1</ID> <Filter> <Prefix></Prefix> </Filter> <Status>Enabled</Status> <Transition> <StorageClass>STANDARD_IA<StorageClass> <Days>10</Days> </Transition> </Rule> <Rule> <ID>Rule 2</ID> <Filter> <Prefix>logs/</Prefix> </Filter> <Status>Enabled</Status> <Transition> <StorageClass>STANDARD_IA<StorageClass> <Days>365</Days> </Transition> </Rule> </LifecycleConfiguration>

In questo caso, Amazon S3 sceglie di trasferirli 10 giorni dopo la data di creazione.

Esempio 4: applicazione di un filtro basato su tag con conseguente conflitto tra operazioni del ciclo di vita

Supponiamo di avere la configurazione del ciclo di vita S3 seguente con due regole, in ognuna delle quali è specificato un filtro basato su tag:

  • La regola 1 specifica un filtro basato su tag (tag1/value1). Questa regola indica ad Amazon S3 di trasferire gli oggetti nella classe di archiviazione S3 Glacier Flexible Retrieval 365 giorni dopo la data di creazione.

  • La regola 2 specifica un filtro basato su tag (tag2/value2). Questa regola indica ad Amazon S3 di far scadere gli oggetti 14 giorni dopo la creazione.

Nell'esempio di seguito viene mostrata la configurazione del ciclo di vita S3.

<LifecycleConfiguration> <Rule> <ID>Rule 1</ID> <Filter> <Tag> <Key>tag1</Key> <Value>value1</Value> </Tag> </Filter> <Status>Enabled</Status> <Transition> <StorageClass>GLACIER<StorageClass> <Days>365</Days> </Transition> </Rule> <Rule> <ID>Rule 2</ID> <Filter> <Tag> <Key>tag2</Key> <Value>value2</Value> </Tag> </Filter> <Status>Enabled</Status> <Expiration> <Days>14</Days> </Expiration> </Rule> </LifecycleConfiguration>

Se un oggetto ha entrambi i tag, Amazon S3 deve decidere quale regola seguire. In questo caso, Amazon S3 fa scadere l'oggetto 14 giorni dopo la data di creazione. L'oggetto viene rimosso, quindi non viene eseguita l'operazione di trasferimento.