Przenoszenie tematów systemu usługi Azure Event Grid do innego regionu
W tym artykule opisano zalecane podejście, wytyczne i rozwiązania dotyczące przenoszenia tematów dotyczących systemu usługi Event Grid do innego regionu.
Istnieją różne powody, dla których możesz przenieść istniejące zasoby platformy Azure z jednego regionu do innego. Możesz chcieć:
- Skorzystaj z nowego regionu świadczenia usługi Azure.
- Wdrażanie funkcji lub usług dostępnych tylko w określonych regionach.
- Spełnij wymagania dotyczące zasad wewnętrznych i ładu.
- Dopasowanie do fuzji i przejęć firmy
- Spełnianie wymagań dotyczących planowania pojemności.
Poniżej przedstawiono ogólne kroki opisane w tym artykule:
- Wyeksportuj grupę zasobów zawierającą konto usługi Azure Storage i skojarzony z nim temat systemowy do szablonu usługi Resource Manager. Można również wyeksportować szablon tylko dla tematu systemowego. Jeśli przejdziesz tą trasą, pamiętaj, aby przenieść źródło zdarzeń platformy Azure (w tym przykładzie konto usługi Azure Storage) do innego regionu przed przeniesieniem tematu systemowego. Następnie w wyeksportowanym szablonie tematu systemowego zaktualizuj identyfikator zewnętrzny konta magazynu w regionie docelowym.
- Zmodyfikuj szablon ,
endpointUrl
aby dodać właściwość , aby wskazywała element webhook, który subskrybuje temat systemowy. Po wyeksportowaniu tematu systemowego jego subskrypcja (w tym przypadku element webhook) jest również eksportowana do szablonu, aleendpointUrl
właściwość nie jest uwzględniana. Dlatego należy zaktualizować go, aby wskazać punkt końcowy, który subskrybuje temat. Ponadto zaktualizuj wartośćlocation
właściwości do nowej lokalizacji lub regionu. W przypadku innych typów procedur obsługi zdarzeń należy zaktualizować tylko lokalizację. - Użyj szablonu, aby wdrożyć zasoby w regionie docelowym. Określisz nazwy konta magazynu i tematu systemowego, który ma zostać utworzony w regionie docelowym.
- Zweryfikuj wdrożenie. Sprawdź, czy element webhook jest wywoływany podczas przekazywania pliku do magazynu obiektów blob w regionie docelowym.
- Aby ukończyć przenoszenie, usuń zasoby (źródło zdarzeń i temat systemu) z regionu źródłowego.
Wymagania wstępne
- Ukończ przewodnik Szybki start: kierowanie zdarzeń usługi Blob Storage do internetowego punktu końcowego za pomocą witryny Azure Portal w regionie źródłowym. Ten krok jest opcjonalny. Zrób to, aby przetestować kroki opisane w tym artykule. Zachowaj konto magazynu w oddzielnej grupie zasobów od planu usługi App Service i usługi App Service.
- Upewnij się, że usługa Event Grid jest dostępna w regionie docelowym. Zobacz Dostępność produktów według regionów.
Przygotowywanie
Aby rozpocząć, wyeksportuj szablon usługi Resource Manager dla grupy zasobów zawierającej źródło zdarzeń systemowych (konto usługi Azure Storage) i skojarzony z nim temat systemowy.
Zaloguj się w witrynie Azure Portal.
Wybierz pozycję Grupy zasobów w menu po lewej stronie. Następnie wybierz grupę zasobów zawierającą źródło zdarzeń, dla którego utworzono temat systemowy. W poniższym przykładzie jest to konto usługi Azure Storage . Grupa zasobów zawiera konto magazynu i skojarzony z nim temat systemu.
W menu po lewej stronie wybierz pozycję Eksportuj szablon w obszarze Ustawienia, a następnie wybierz pozycję Pobierz na pasku narzędzi.
Znajdź plik .zip pobrany z portalu i rozpakuj ten plik do wybranego folderu. Ten plik zip zawiera pliki JSON szablonu i parametrów.
Otwórz template.json w wybranym edytorze.
Adres URL elementu webhook nie jest eksportowany do szablonu. W związku z tym wykonaj następujące czynności:
W pliku szablonu wyszukaj element WebHook.
W sekcji Właściwości dodaj znak przecinka (
,
) na końcu ostatniego wiersza. W tym przykładzie jest to"preferredBatchSizeInKilobytes": 64
.endpointUrl
Dodaj właściwość z wartością ustawioną na adres URL elementu webhook, jak pokazano w poniższym przykładzie."destination": { "properties": { "maxEventsPerBatch": 1, "preferredBatchSizeInKilobytes": 64, "endpointUrl": "https://mysite.azurewebsites.net/api/updates" }, "endpointType": "WebHook" }
Uwaga
W przypadku innych typów procedur obsługi zdarzeń wszystkie właściwości są eksportowane do szablonu. Wystarczy zaktualizować
location
właściwość do regionu docelowego, jak pokazano w następnym kroku.
Zaktualizuj
location
zasób konta magazynu do regionu docelowego lub lokalizacji. Aby uzyskać kody lokalizacji, zobacz Lokalizacje platformy Azure. Kod regionu to nazwa regionu bez spacji, na przykład jestWest US
równawestus
."type": "Microsoft.Storage/storageAccounts", "apiVersion": "2019-06-01", "name": "[parameters('storageAccounts_spegridstorage080420_name')]", "location": "westus",
Powtórz krok, aby zaktualizować
location
zasób tematu systemowego w szablonie."type": "Microsoft.EventGrid/systemTopics", "apiVersion": "2020-04-01-preview", "name": "[parameters('systemTopics_spegridsystopic080420_name')]", "location": "westus",
Zapisz szablon.
Wdróż ponownie
Wdróż szablon, aby utworzyć konto magazynu i temat systemowy dla konta magazynu w regionie docelowym.
- W witrynie Azure Portal wybierz polecenie Utwórz zasób.
- W obszarze Przeszukaj witrynę Marketplace wpisz wdrożenie szablonu, a następnie naciśnij klawisz ENTER.
- Wybierz pozycję Wdrożenie szablonu.
- Wybierz pozycję Utwórz.
- Wybierz pozycję Utwórz własny szablon w edytorze.
- Wybierz pozycję Załaduj plik, a następnie postępuj zgodnie z instrukcjami, aby załadować plik template.json pobrany w ostatniej sekcji.
- Wybierz pozycję Zapisz , aby zapisać szablon.
- Na stronie Wdrożenie niestandardowe wykonaj następujące kroki.
Wybierz subskrypcję platformy Azure.
Wybierz istniejącą grupę zasobów w regionie docelowym lub utwórz grupę zasobów.
W obszarze Region wybierz region docelowy. Jeśli wybrano istniejącą grupę zasobów, to ustawienie jest tylko do odczytu.
W polu nazwa tematu systemowego wprowadź nazwę tematu systemowego, który zostanie skojarzony z kontem magazynu.
W polu Nazwa konta magazynu wprowadź nazwę konta magazynu, które ma zostać utworzone w regionie docelowym.
Wybierz pozycję Przejrzyj i utwórz w dolnej części strony.
Na stronie Przeglądanie + tworzenie przejrzyj ustawienia i wybierz pozycję Utwórz.
Weryfikacja
- Po pomyślnym wdrożeniu wybierz pozycję Goto resource group (Przejdź do grupy zasobów).
- Na stronie Grupa zasobów sprawdź, czy źródło zdarzeń (w tym przykładzie konto usługi Azure Storage) i temat systemowy są tworzone.
- Przekaż plik do kontenera w usłudze Azure Blob Storage i sprawdź, czy element webhook otrzymał zdarzenie. Aby uzyskać więcej informacji, zobacz Wysyłanie zdarzenia do punktu końcowego.
Odrzucanie lub czyszczenie
Aby ukończyć przenoszenie, usuń grupę zasobów zawierającą konto magazynu i skojarzony z nim temat systemu w regionie źródłowym.
Jeśli chcesz zacząć od nowa, usuń grupę zasobów w regionie docelowym i powtórz kroki opisane w sekcjach Przygotowywanie i ponowne tworzenie w tym artykule.
Aby usunąć grupę zasobów (źródło lub element docelowy) przy użyciu witryny Azure Portal:
W oknie wyszukiwania w górnej części witryny Azure Portal wpisz Grupy zasobów i wybierz pozycję Grupy zasobów z wyników wyszukiwania.
Wybierz grupę zasobów do usunięcia, a następnie wybierz pozycję Usuń na pasku narzędzi.
Na stronie potwierdzenia wprowadź nazwę grupy zasobów, a następnie wybierz pozycję Usuń.