Replikace objektů pro objekty blob bloku
Replikace objektů asynchronně kopíruje objekty blob bloku mezi zdrojovým účtem úložiště a cílovým účtem. Mezi scénáře podporované replikací objektů patří:
- Minimalizace latence Replikace objektů může snížit latenci požadavků na čtení tím, že klientům umožní využívat data z oblasti, která je blíže fyzické blízkosti.
- Zvyšte efektivitu výpočetních úloh. Při replikaci objektů můžou výpočetní úlohy zpracovávat stejné sady objektů blob bloku v různých oblastech.
- Optimalizace distribuce dat Data můžete zpracovat nebo analyzovat v jednom umístění a pak replikovat pouze výsledky do dalších oblastí.
- Optimalizace nákladů Po replikaci dat můžete snížit náklady tím, že je přesunete na archivní úroveň pomocí zásad správy životního cyklu.
Následující diagram ukazuje, jak replikace objektů blob bloku replikuje objekty blob bloku ze zdrojového účtu úložiště v jedné oblasti do cílových účtů ve dvou různých oblastech.
Informace o konfiguraci replikace objektů najdete v tématu Konfigurace replikace objektů.
Požadavky a upozornění pro replikaci objektů
Replikace objektů vyžaduje, aby byly povolené také následující funkce služby Azure Storage:
- Kanál změn: U zdrojového účtu musí být povolený. Informace o povolení kanálu změn najdete v tématu Povolení a zakázání kanálu změn.
- Správa verzí objektů blob: Musí být povolená pro zdrojové i cílové účty. Informace o povolení správy verzí najdete v tématu Povolení a správa správy verzí objektů blob.
Povolení kanálu změn a správy verzí objektů blob může účtují další náklady. Další informace najdete na stránce s cenami služby Azure Storage.
Replikace objektů je podporovaná pro účty úložiště pro obecné účely v2 a účty objektů blob bloku úrovně Premium. Zdrojový i cílový účet musí být buď účty objektů blob bloku pro obecné účely verze 2, nebo účty objektů blob bloku úrovně Premium. Replikace objektů podporuje pouze objekty blob bloku; Doplňovací objekty blob a objekty blob stránky se nepodporují.
Replikace objektů se podporuje u účtů, které jsou šifrované pomocí klíčů spravovaných microsoftem nebo klíčů spravovaných zákazníkem. Další informace o klíčích spravovaných zákazníkem najdete v tématu Klíče spravované zákazníkem pro šifrování služby Azure Storage.
Replikace objektů není podporovaná pro objekty blob ve zdrojovém účtu, které jsou šifrované pomocí klíče poskytnutého zákazníkem. Další informace o klíčích poskytovaných zákazníkem najdete v tématu Poskytnutí šifrovacího klíče v požadavku do úložiště objektů blob.
Převzetí služeb při selhání spravované zákazníkem se nepodporuje u zdrojového ani cílového účtu v zásadách replikace objektů.
Replikace objektů není podporovaná pro objekty blob nahrané pomocí rozhraní API Data Lake Storage Gen2 .
Jak funguje replikace objektů
Replikace objektů asynchronně kopíruje objekty blob bloku v kontejneru podle pravidel, která nakonfigurujete. Obsah objektu blob, všechny verze přidružené k objektu blob a metadata a vlastnosti objektu blob se zkopírují ze zdrojového kontejneru do cílového kontejneru.
Důležité
Vzhledem k tomu, že se data objektů blob bloku replikují asynchronně, zdrojový účet a cílový účet se okamžitě nesynchronizují. V současné době neexistuje žádná smlouva SLA o tom, jak dlouho trvá replikaci dat do cílového účtu. Stav replikace zdrojového objektu blob můžete zkontrolovat a zjistit, jestli je replikace dokončená. Další informace najdete v tématu Kontrola stavu replikace objektu blob.
Správa verzí objektů blob
Replikace objektů vyžaduje povolení správy verzí objektů blob na zdrojovém i cílovém účtu. Při změně replikovaného objektu blob ve zdrojovém účtu se ve zdrojovém účtu vytvoří nová verze objektu blob, která před úpravou odráží předchozí stav objektu blob. Aktuální verze ve zdrojovém účtu odráží nejnovější aktualizace. Aktuální verze i všechny předchozí verze se replikují do cílového účtu. Další informace o tom, jak operace zápisu ovlivňují verze objektů blob, najdete v tématu Správa verzí operací zápisu.
Pokud má váš účet úložiště zásady replikace objektů, nemůžete pro tento účet zakázat správu verzí objektů blob. Před zakázáním správy verzí objektů blob musíte odstranit všechny zásady replikace objektů v účtu.
Poznámka:
Do cíle se zkopírují jenom objekty blob. ID verze objektu blob se nezkopíruje. Objekt blob umístěný v cílovém umístění má přiřazené nové ID verze.
Odstranění objektu blob ve zdrojovém účtu
Když se odstraní objekt blob ve zdrojovém účtu, stane se aktuální verze objektu blob předchozí verzí a už neexistuje aktuální verze. Všechny existující předchozí verze objektu blob se zachovají. Tento stav se replikuje do cílového účtu. Další informace o tom, jak odstranit operace ovlivňují verze objektů blob, najdete v tématu Správa verzí operací odstranění.
Snapshots
Replikace objektů nepodporuje snímky objektů blob. Všechny snímky objektu blob ve zdrojovém účtu se do cílového účtu nereplikují.
Značky indexu objektů blob
Replikace objektů nekopíruje značky indexu zdrojového objektu blob do cílového objektu blob.
Vrstvení objektů blob
Replikace objektů se podporuje, když jsou zdrojové a cílové účty v horké nebo studené úrovni. Zdrojové a cílové účty můžou být v různých úrovních. Replikace objektů se ale nezdaří, pokud se objekt blob ve zdrojovém nebo cílovém účtu přesune do archivní úrovně. Další informace o úrovních objektů blob najdete v tématu Úrovně přístupu pro data objektů blob.
Neměnné objekty blob
Zásady neměnnosti pro Azure Blob Storage zahrnují zásady uchovávání informací na základě času a blokování z právních důvodů. Pokud se zásady neměnnosti projeví na cílovém účtu, může to mít vliv na replikaci objektů. Další informace o zásadách neměnnosti najdete v tématu Ukládání důležitých obchodních dat objektů blob s neměnným úložištěm.
Pokud zásady neměnnosti na úrovni kontejneru platí pro kontejner v cílovém účtu a objekt ve zdrojovém kontejneru se aktualizuje nebo odstraní, může operace zdrojového kontejneru proběhnout úspěšně, ale replikace této operace do cílového kontejneru selže. Další informace o tom, které operace jsou zakázány se zásadou neměnnosti, která je vymezena na kontejner, najdete v tématu Scénáře s oborem na úrovni kontejneru.
Pokud zásady neměnnosti na úrovni verze platí pro verzi objektu blob v cílovém účtu a operace odstranění nebo aktualizace se provádí u verze objektu blob ve zdrojovém kontejneru, může být operace se zdrojovým objektem úspěšná, ale replikace této operace do cílového objektu selže. Další informace o tom, které operace jsou zakázány se zásadou neměnnosti, která je vymezena na kontejner, najdete v tématu Scénáře s oborem na úrovni verze.
Zásady a pravidla replikace objektů
Při konfiguraci replikace objektů vytvoříte zásadu replikace, která určuje zdrojový účet úložiště a cílový účet. Zásady replikace zahrnují jedno nebo více pravidel, která určují zdrojový kontejner a cílový kontejner a označují, které objekty blob bloku ve zdrojovém kontejneru se budou replikovat.
Jakmile nakonfigurujete replikaci objektů, Azure Storage pravidelně kontroluje kanál změn zdrojového účtu a asynchronně replikuje všechny operace zápisu nebo odstranění do cílového účtu. Latence replikace závisí na velikosti replikovaného objektu blob bloku.
Zásady replikace
Při konfiguraci replikace objektů vytvoříte zásadu replikace v cílovém účtu prostřednictvím poskytovatele prostředků Azure Storage. Po vytvoření zásady replikace ji Azure Storage přiřadí ID zásady. Tuto zásadu replikace pak musíte přidružit ke zdrojovému účtu pomocí ID zásady. ID zásady ve zdrojovém a cílovém účtu musí být stejné, aby replikace probíhala.
Zdrojový účet se může replikovat maximálně do dvou cílových účtů. Pro každý z nich existuje jedna zásada. Podobně platí, že účet může sloužit jako cílový účet maximálně dvou replikačních zásad.
Zdrojové a cílové účty můžou být ve stejné oblasti nebo v různých oblastech. Můžou se také nacházet ve stejném předplatném nebo v různých předplatných. Volitelně se zdrojové a cílové účty můžou nacházet v různých tenantech Microsoft Entra. Pro každou dvojici zdrojového a cílového účtu je možné vytvořit jen jednu replikační zásadu.
Pravidla replikace
Pravidla replikace určují, jak bude Azure Storage replikovat objekty blob ze zdrojového kontejneru do cílového kontejneru. Pro každou zásadu replikace můžete zadat až 1 000 pravidel replikace. Každé pravidlo replikace definuje jeden zdrojový a cílový kontejner a každý zdrojový a cílový kontejner lze použít pouze v jednom pravidle, což znamená, že se může do jedné zásady replikace zapojit maximálně 1 000 zdrojových kontejnerů a 1000 cílových kontejnerů.
Při vytváření pravidla replikace se ve výchozím nastavení zkopírují pouze nové objekty blob bloku, které se následně přidají do zdrojového kontejneru. Můžete určit, že se zkopírují nové i existující objekty blob bloku, nebo můžete definovat vlastní obor kopírování, který kopíruje objekty blob bloku vytvořené od zadaného času.
Můžete také zadat jeden nebo více filtrů jako součást pravidla replikace pro filtrování objektů blob bloku podle předpony. Když zadáte předponu, zkopírují se do cílového kontejneru jen takové objekty blob, které mají ve zdrojovém kontejneru stejnou předponu.
Zdrojové i cílové kontejnery musí existovat dříve, než je můžete zadat v pravidle. Po vytvoření zásady replikace nejsou operace zápisu do cílového kontejneru povolené. Jakékoli pokusy o zápis do cílového kontejneru selžou s kódem chyby 409 (Konflikt). Pokud chcete zapisovat do cílového kontejneru, pro který je nakonfigurované pravidlo replikace, musíte buď odstranit pravidlo nakonfigurované pro tento kontejner, nebo odebrat zásady replikace. Operace čtení a odstranění cílového kontejneru jsou povoleny, když jsou zásady replikace aktivní.
Operaci Nastavit úroveň objektu blob můžete volat u objektu blob v cílovém kontejneru a přesunout ji do archivní úrovně. Další informace o archivní vrstvě najdete v tématu Úrovně přístupu pro data objektů blob.
Poznámka:
Změna úrovně přístupu objektu blob ve zdrojovém účtu nezmění úroveň přístupu tohoto objektu blob v cílovém účtu.
Definiční soubor zásad
Zásady replikace objektů jsou definované souborem JSON. Soubor definice zásad můžete získat z existujících zásad replikace objektů. Zásadu replikace objektů můžete vytvořit také tak, že nahrajete soubor definice zásady.
Ukázkový definiční soubor zásad
Následující příklad definuje zásadu replikace v cílovém účtu s jedním pravidlem, které odpovídá předponě b , a nastaví minimální čas vytvoření objektů blob, které se mají replikovat. Nezapomeňte nahradit hodnoty v úhlových závorkách vlastními hodnotami:
{
"properties": {
"policyId": "default",
"sourceAccount": "/subscriptions/<subscriptionId>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>",
"destinationAccount": "/subscriptions/<subscriptionId>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>",
"rules": [
{
"ruleId": "",
"sourceContainer": "<source-container>",
"destinationContainer": "<destination-container>",
"filters": {
"prefixMatch": [
"b"
],
"minCreationTime": "2021-08-028T00:00:00Z"
}
}
]
}
}
Zadání úplných ID prostředků pro zdrojové a cílové účty
Při vytváření definičního souboru zásad zadejte úplná ID prostředků Azure Resource Manageru pro položky sourceAccount a destinationAccount, jak je znázorněno v příkladu v předchozí části. Informace o tom, jak najít ID prostředku pro účet úložiště, najdete v tématu Získání ID prostředku pro účet úložiště.
Úplné ID prostředku je v následujícím formátu:
/subscriptions/<subscriptionId>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>
Soubor definice zásady dříve vyžadoval pouze název účtu místo úplného ID prostředku pro účet úložiště. Po zavedení vlastnosti zabezpečení AllowCrossTenantReplication ve verzi 2021-02-01 z rozhraní REST API poskytovatele prostředků Azure Storage teď musíte zadat úplné ID prostředku pro všechny zásady replikace objektů, které se vytvoří při replikaci mezi tenanty, pro účet úložiště, který se účastní zásady replikace. Azure Storage používá úplné ID prostředku k ověření, jestli se zdrojové a cílové účty nacházejí ve stejném tenantovi. Další informace o zákazu zásad replikace mezi tenanty najdete v tématu Zabránění replikaci napříč tenanty Microsoft Entra.
I když je pro účet úložiště povolená replikace mezi tenanty, microsoft doporučuje vždy poskytnout úplné ID prostředku jako osvědčený postup. Všechny předchozí verze rozhraní REST API poskytovatele prostředků Azure Storage podporují použití úplné cesty ID prostředku v zásadách replikace objektů.
Následující tabulka popisuje, co se stane, když vytvoříte zásadu replikace se zadaným úplným ID prostředku a názvem účtu ve scénářích, kdy je pro účet úložiště povolená nebo zakázaná replikace mezi tenanty.
Identifikátor účtu úložiště v definici zásad | Povolená replikace mezi tenanty | Nepovolené replikace mezi tenanty |
---|---|---|
Úplné ID prostředku | Můžete vytvořit zásady stejného tenanta. Můžete vytvořit zásady napříč tenanty. |
Můžete vytvořit zásady stejného tenanta. Zásady mezi tenanty se nedají vytvořit. |
Pouze název účtu | Můžete vytvořit zásady stejného tenanta. Můžete vytvořit zásady napříč tenanty. |
Není možné vytvářet zásady stejného tenanta ani mezi tenanty. Dojde k chybě, protože Azure Storage nemůže ověřit, že jsou zdrojové a cílové účty ve stejném tenantovi. Tato chyba značí, že je nutné zadat úplné ID prostředku pro položky sourceAccount a destinationAccount v definičním souboru zásady. |
Zadání ID zásad a pravidel
Následující tabulka shrnuje hodnoty, které se mají použít pro položky policyId a ruleId v definičním souboru zásady v jednotlivých scénářích.
Při vytváření definičního souboru zásad pro tento účet... | Nastavte ID zásady na tuto hodnotu. | Nastavení ID pravidel na tuto hodnotu |
---|---|---|
Cílový účet | Výchozí hodnota řetězce. Azure Storage za vás vytvoří hodnotu ID zásady. | Prázdný řetězec. Azure Storage vytvoří hodnoty ID pravidla za vás. |
Zdrojový účet | Hodnota ID zásady vrácená při stahování souboru definice zásady pro cílový účet. | Hodnoty ID pravidel vrácené při stahování souboru definice zásady pro cílový účet. |
Zabránění replikaci napříč tenanty Microsoft Entra
Tenant Microsoft Entra je vyhrazená instance ID Microsoft Entra, která představuje organizaci pro správu identit a přístupu. Každé předplatné Azure má vztah důvěryhodnosti s jedním tenantem Microsoft Entra. Všechny prostředky v předplatném, včetně účtů úložiště, jsou přidružené ke stejnému tenantovi Microsoft Entra. Další informace naleznete v tématu Co je Microsoft Entra ID?
Ve výchozím nastavení je replikace mezi tenanty zakázaná pro nové účty vytvořené od 15. prosince 2023. Pokud zásady zabezpečení vyžadují omezení replikace objektů na účty úložiště, které se nacházejí pouze ve stejném tenantovi, můžete zakázat replikaci mezi tenanty nastavením vlastnosti zabezpečení, vlastnosti AllowCrossTenantReplication (Preview). Pokud zakážete replikaci objektů mezi tenanty pro účet úložiště, pak pro všechny zásady replikace objektů nakonfigurované s tímto účtem úložiště jako zdrojový nebo cílový účet vyžaduje Azure Storage, aby se zdrojový i cílový účet nachází ve stejném tenantovi Microsoft Entra. Další informace o zákazu replikace objektů mezi tenanty naleznete v tématu Zabránění replikaci objektů napříč tenanty Microsoft Entra.
Pokud chcete zakázat replikaci objektů mezi tenanty pro účet úložiště, nastavte vlastnost AllowCrossTenantReplication na false. Pokud se účet úložiště aktuálně neúčastní žádných zásad replikace objektů mezi tenanty, nastavení vlastnosti AllowCrossTenantReplication na hodnotu false zabrání budoucí konfiguraci zásad replikace objektů mezi tenanty s tímto účtem úložiště jako zdrojem nebo cílem.
Pokud se účet úložiště aktuálně účastní jedné nebo více zásad replikace objektů mezi tenanty, nastavení AllowCrossTenantReplication na false není povoleno. Než budete moct zakázat replikaci mezi tenanty, musíte stávající zásady mezi tenanty odstranit.
Ve výchozím nastavení je vlastnost AllowCrossTenantReplication nastavena na false pro účet úložiště vytvořený od 15. prosince 2023. Pro účty úložiště vytvořené před 15. prosince 2023, pokud hodnota AllowCrossTenantReplication pro účet úložiště má hodnotu null nebo true, pak autorizovaní uživatelé mohou nakonfigurovat zásady replikace objektů mezi tenanty s tímto účtem jako zdroj nebo cíl. Další informace o konfiguraci zásad mezi tenanty najdete v tématu Konfigurace replikace objektů blob bloku.
Azure Policy můžete použít k auditování sady účtů úložiště, abyste zajistili, že je vlastnost AllowCrossTenantReplication nastavená tak, aby se zabránilo replikaci objektů mezi tenanty. Azure Policy můžete také použít k vynucení zásad správného řízení pro sadu účtů úložiště. Můžete například vytvořit zásadu s účinkem odepřít, aby uživatel nemohl vytvořit účet úložiště, ve kterém je vlastnost AllowCrossTenantReplication nastavená na hodnotu true, nebo úpravou existujícího účtu úložiště tak, aby změnil hodnotu vlastnosti na true.
Stav replikace
Stav replikace objektu blob ve zdrojovém účtu můžete zkontrolovat. Další informace najdete v tématu Kontrola stavu replikace objektu blob.
Poznámka:
Zatímco probíhá replikace, neexistuje způsob, jak určit procento replikovaných dat.
Pokud stav replikace objektu blob ve zdrojovém účtu značí selhání, prozkoumejte následující možné příčiny:
- Ujistěte se, že je v cílovém účtu nakonfigurovaná zásada replikace objektů.
- Ověřte, že cílový účet stále existuje.
- Ověřte, že cílový kontejner stále existuje.
- Ověřte, že cílový kontejner není v procesu odstranění nebo nebyl právě odstraněn. Odstranění kontejneru může trvat až 30 sekund.
- Ověřte, že se cílový kontejner stále účastní zásad replikace objektů.
- Pokud byl zdrojový objekt blob zašifrován pomocí klíče poskytnutého zákazníkem v rámci operace zápisu, replikace objektů selže. Další informace o klíčích poskytovaných zákazníkem najdete v tématu Poskytnutí šifrovacího klíče v požadavku do úložiště objektů blob.
- Zkontrolujte, jestli se zdrojový nebo cílový objekt blob přesunul do archivní úrovně. Archivované objekty blob nelze replikovat prostřednictvím replikace objektů. Další informace o archivní vrstvě najdete v tématu Úrovně přístupu pro data objektů blob.
- Ověřte, že cílový kontejner nebo objekt blob nejsou chráněné zásadami neměnnosti. Mějte na paměti, že kontejner nebo objekt blob mohou dědit zásadu neměnnosti z nadřazeného objektu. Další informace o zásadách neměnnosti najdete v tématu Přehled neměnného úložiště pro data objektů blob.
Podpora funkcí
Podpora této funkce může mít vliv na povolení protokolu Data Lake Storage Gen2, systému souborů NFS (Network File System) 3.0 nebo protokolu SSH File Transfer Protocol (SFTP). Pokud jste některou z těchto funkcí povolili, podívejte se na podporu funkcí služby Blob Storage v účtech Azure Storage a vyhodnoťte podporu této funkce.
Fakturace
Konfigurace replikace objektů není nijak nákladná. To zahrnuje úlohu povolení kanálu změn, povolení správy verzí a přidání zásad replikace. Při replikaci objektů se však účtují náklady na transakce čtení a zápisu ve zdrojových a cílových účtech a také poplatky za výchozí přenos dat z zdrojového účtu do cílového účtu a poplatky za čtení pro zpracování kanálu změn.
Tady je rozpis nákladů. Informace o cenách jednotlivých nákladových komponent najdete v tématu Ceny služby Azure Blob Storage.
Náklady na aktualizaci objektu blob ve zdrojovém účtu | Náklady na replikaci dat v cílovém účtu |
---|---|
Transakční náklady operace zápisu | Transakční náklady pro čtení záznamu kanálu změn |
Náklady na úložiště objektu blob a jednotlivých objektů blob verze1 | Náklady na transakce pro čtení objektů blob a objektů blob verze2 |
Náklady na přidání záznamu kanálu změn | Náklady na transakce pro zápis objektu blob a objektů blob verze2 |
Náklady na úložiště objektu blob a jednotlivých objektů blob verze1 | |
Náklady na výchozí přenos datsítě 3 |
1 Pokud jste ve zdrojovém účtu nezměnili úroveň objektu blob nebo verze, budou se vám účtovat jedinečné bloky dat v rámci tohoto objektu blob, jejich verze. Viz ceny a fakturace správy verzí objektů blob. V cílovém účtu se vám za verzi účtují všechny bloky verze bez ohledu na to, jestli jsou tyto bloky jedinečné.
2 To zahrnuje pouze verze objektů blob vytvořené od poslední dokončené replikace.
3 Replikace objektů kopíruje celou verzi do cíle (nejen jedinečné bloky verze). Za tento přenos se účtují náklady na výchozí přenos dat sítě. Viz ceny šířky pásma.
Tip
Pokud chcete snížit riziko neočekávaného vyúčtování, povolte replikaci objektů v účtu, který obsahuje pouze malý počet objektů. Potom před povolením funkce v produkčním nastavení změřte dopad na náklady.