← Cloudflare R2 / r2 / data-migration
Sippy
Sippy je služba pro migraci dat, která umožňuje kopírovat data z jiných cloudových poskytovatelů do R2 v okamžiku, kdy jsou vyžádána, bez zbytečných poplatků za odchozí přenos dat, které jsou obvykle spojené s přesunem velkých objemů dat.
Poplatky za odchozí přenos specifické pro migraci se snižují tím, že využijete požadavky, které ve své aplikaci provádíte tak jako tak a za které byste odchozí přenos platili i bez migrace, a objekty se přitom zároveň zkopírují do R2.
Jak to funguje
Pokud je Sippy povoleno pro bucket R2, implementuje následující migrační strategii napříč Workers, S3 API, a veřejné buckety:
- Když je objekt vyžádán, je v případě nalezení doručen z vašeho bucketu R2.
- Pokud objekt v R2 nebude nalezen, bude současně vrácen ze zdrojového úložného bucketu a zkopírován do R2.
- Všechny ostatní operace, včetně put a delete, fungují dál jako obvykle.
Kdy je Sippy užitečné?
Použití Sippy jako součásti migrační strategie se vyplatí, pokud:
- Chcete začít migrovat svá data, ale chcete se vyhnout placení poplatků za egress předem, abyste mohli migraci dat provést najednou.
- Chcete experimentovat s obsluhou často používaných objektů z R2, abyste eliminovali poplatky za egress, aniž byste investovali čas do migrace dat.
- Máte často se měnící data a chcete provést migraci bez výpadku. Sippy lze použít k obsluze požadavků, zatímco Super Slurper lze použít k migraci zbývajících dat.
Pokud chcete migrovat veškerá data od stávajícího poskytovatele cloudu do R2 najednou, doporučujeme použít Super Slurper.
Začínáme se Sippy
Než začnete, budete potřebovat:
- Existující bucket R2. Pokud ještě žádný nemáte, přečtěte si Vytváření bucketů.
- Přihlašovací údaje API pro váš zdrojový bucket objektového úložiště.
- (Pouze Wrangler) Cloudflare R2 Access Key ID a Secret Access Key s oprávněním ke čtení a zápisu. Další informace najdete v Ověřování.
Povolení Sippy přes Dashboard
-
V dashboardu Cloudflare přejděte na Objektové úložiště R2 stránce.
Přejděte na Přehled ↗ -
Vyberte bucket, do kterého chcete migrovat objekty.
-
Přepněte na Nastavení kartě, poté přejděte dolů k Migrace na vyžádání kartě.
-
Vyberte Povolit a zadejte údaje o bucketu, ze kterého chcete objekty migrovat. Zadané přihlašovací údaje musí mít oprávnění ke čtení z tohoto bucketu. Cloudflare také doporučuje omezit rozsah přihlašovacích údajů tak, aby umožňovaly pouze čtení z tohoto bucketu.
-
Vyberte Povolit.
Povolení Sippy přes Wrangler
Nastavení Wrangler
Nejprve nainstalujte npm ↗. Poté nainstalujte Wrangler, CLI vývojářské platformy.
Povolte Sippy pro váš bucket R2
Přihlaste se do Wrangleru pomocí wrangler login příkaz. Poté spusťte r2 bucket sippy enable příkaz:
npx wrangler r2 bucket sippy enable <BUCKET_NAME>Vyzve vás k výběru mezi podporovanými poskytovateli úložiště objektů a provede vás nastavením.
Povolení Sippy přes API
Informace o povinných parametrech a příklady zapnutí Sippy naleznete v Dokumentace API. Informace o tom, jak začít pracovat s rozhraním Cloudflare API, najdete v Volání API.
Zobrazit metriky migrace
Po povolení Sippy zpřístupňuje metriky, které vám pomohou sledovat průběh probíhajících migrací.
| Metrika | Popis |
|---|---|
| Požadavky obsloužené službou Sippy | Procento celkových požadavků obsloužených službou R2 za dané období. Vyšší procento znamená, že je třeba méně požadavků směřovat na zdrojový bucket. |
| Data migrovaná pomocí Sippy | Množství dat zkopírovaných ze zdrojového bucketu do R2 za dané časové období. Uvádí se v bajtech. |
Chcete-li zobrazit aktuální a historické metriky:
-
V dashboardu Cloudflare přejděte na Objektové úložiště R2 stránce.
Přejděte na Přehled ↗ -
Vyberte svůj bucket.
-
Vyberte Metriky kartě.
Volitelně můžete vybrat časové okno pro dotaz. Výchozí hodnota je posledních 24 hodin.
Vypnutí Sippy pro bucket R2
Dashboard
-
V dashboardu Cloudflare přejděte na Objektové úložiště R2 stránce.
Přejděte na Přehled ↗ -
Vyberte bucket, pro který chcete vypnout Sippy.
-
Přepněte na Nastavení kartě a přejděte dolů k Migrace na vyžádání kartě.
-
Stiskněte Zakázat.
Wrangler
Chcete-li deaktivovat Sippy, spusťte r2 bucket sippy disable příkaz:
npx wrangler r2 bucket sippy disable <BUCKET_NAME>API
Informace o povinných parametrech a příklady vypnutí Sippy naleznete v Dokumentace API.
Podporovaní poskytovatelé cloudového úložiště
Cloudflare v současné době podporuje kopírování dat do R2 z těchto poskytovatelů cloudového objektového úložiště:
- Amazon S3
- Google Cloud Storage (GCS)
- Azure Blob Storage
- Poskytovatelé úložiště kompatibilního s S3
Interakce s R2 API
Když je Sippy povoleno, mění chování určitých akcí ve vašem bucketu R2 napříč Workers, S3 API, a veřejné buckety.
| Akce | Nové chování |
|---|---|
| GetObject | Volání GetObject se nejprve pokusí načíst objekt z vašeho R2 bucketu. Pokud objekt neexistuje, poskytne se ze zdrojového úložného bucketu a zároveň se nahraje do požadovaného R2 bucketu. Další aspekty:
|
| HeadObject | Chová se podobně jako GetObject, ale načítá pouze metadata objektu. Objekty nekopíruje do požadovaného bucketu R2. |
| PutObject | Chování se nemění. Volání PutObject přidá objekty do požadovaného bucketu R2. |
| DeleteObject | Chování se nemění. Volání DeleteObject odstraní objekty v požadovaném bucketu R2. Další aspekty:
|
Akce, které nejsou uvedeny výše, nemění chování. Další informace najdete v Referenční dokumentace Workers API nebo Kompatibilita s S3 API.
Vytváření přihlašovacích údajů pro poskytovatele úložiště
Amazon S3
Aby mohl Sippy kopírovat objekty z Amazon S3, potřebuje přístupová oprávnění k vašemu bucketu. Můžete použít libovolné přihlašovací údaje uživatele AWS Identity and Access Management (IAM) se správnými oprávněními, Cloudflare ale doporučuje vytvořit uživatele s úzkou sadou oprávnění.
Chcete-li vytvořit přihlašovací údaje se správnými oprávněními:
- Přihlaste se ke svému účtu AWS IAM.
- Vytvořte zásadu v následujícím formátu a nahraďte
<BUCKET_NAME>s bucketem, ke kterému chcete udělit přístup:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["s3:ListBucket*", "s3:GetObject*"], "Resource": [ "arn:aws:s3:::<BUCKET_NAME>", "arn:aws:s3:::<BUCKET_NAME>/*" ] } ] } - Vytvořte nového uživatele a připojte k němu vytvořenou zásadu.
Nyní můžete při aktivaci Sippy použít Access Key ID i Secret Access Key.
Google Cloud Storage
Aby mohl Sippy kopírovat objekty z Google Cloud Storage (GCS), potřebuje přístupová oprávnění k vašemu bucketu. Cloudflare doporučuje použít předdefinovanou Storage Object Viewer role.
Chcete-li vytvořit přihlašovací údaje se správnými oprávněními:
- Přihlaste se do konzole Google Cloud.
- Přejděte na IAM & Admin > Servisní účty.
- Vytvořte účet služby s předdefinovanou
Storage Object Viewerrole. - Přejděte na Klíče kartě účtu služby, který jste vytvořili.
- Vyberte Add Key > Vytvoření nového klíče a stáhněte soubor JSON klíče.
Nyní můžete tento soubor s JSON klíčem použít při aktivaci Sippy přes Wrangler nebo API.
Azure Blob Storage
Aby mohl Sippy kopírovat objekty z Azure Blob Storage, potřebuje název vašeho účtu Azure Storage, kontejner, ze kterého se má kopírovat, a buď account key, nebo token sdíleného přístupového podpisu (SAS). Zadejte přesně jeden z těchto dvou typů přihlašovacích údajů. Sippy potřebuje oprávnění ke čtení a výpisu obsahu kontejneru.
Chcete-li použít account key:
- Přihlaste se do Azure portálu a přejděte na svůj storage account.
- V části Zabezpečení a síť, vyberte Přístupové klíče.
- Zkopírujte název účtu úložiště a jeden z uvedených klíčů.
Chcete-li místo toho použít token SAS, Cloudflare doporučuje omezit jeho rozsah pouze na kontejner, který migrujete:
- Přihlaste se do Azure portálu a přejděte na svůj storage account.
- V části Ukládání dat, vyberte Containers, poté otevřete kontejner, ze kterého chcete migrovat.
- Vyberte Sdílené přístupové tokeny, udělte Čtení a Výpis oprávnění a poté vyberte Generování tokenu SAS a URL adresy.
- Zkopírujte vygenerovaný SAS token.
Nyní můžete při aktivaci Sippy použít název účtu, název kontejneru a buď klíč účtu, nebo SAS token.
Úložiště kompatibilní s S3
Aby mohl Sippy kopírovat objekty od poskytovatele úložiště kompatibilního s S3, potřebuje URL adresu koncového bodu S3 API pro váš bucket spolu s Access Key ID a Secret Access Key, které z něj mohou číst. Cloudflare doporučuje omezit tyto přihlašovací údaje pouze na čtení z bucketu, který migrujete.
V dokumentaci vašeho poskytovatele úložiště najdete koncový bod S3 API pro váš bucket a informace o vytvoření přístupových údajů pouze pro čtení.
Nyní můžete při aktivaci Sippy použít URL bucketu, Access Key ID a Secret Access Key.
Omezení
ETags
Generování ETagů v R2 je při běžném provozu kompatibilní s S3, avšak při migraci objektu pomocí Sippy není zaručeno, že si budou ETagy odpovídat. Sippy samostatně rozhoduje o operacích, které při migraci objektů použije, aby optimalizoval výkon a využití sítě. Objekt může migrovat po částech, což ovlivňuje Výpočet ETag.
Pokud byl například objekt o velikosti 320 MiB do S3 původně nahrán pomocí jediného PutObject operace může být migrována do R2 prostřednictvím vícedílných operací. V takovém případě se ETag objektu v R2 nebude shodovat s ETag v S3.
Stejně tak objekt, který byl původně nahrán do S3 pomocí vícedílných operací, může mít odlišný ETag v R2, pokud se velikosti částí, které Sippy zvolí pro migraci, liší od velikostí částí, se kterými byl tento objekt původně nahrán.
Spoléhat se na shodu ETags před migrací a po ní se proto nedoporučuje.