Udostępnij za pośrednictwem


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, ale endpointUrl 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

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.

  1. Zaloguj się w witrynie Azure Portal.

  2. 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.

    Zrzut ekranu przedstawiający stronę grupy zasobów.

  3. W menu po lewej stronie wybierz pozycję Eksportuj szablon w obszarze Ustawienia, a następnie wybierz pozycję Pobierz na pasku narzędzi.

    Zrzut ekranu przedstawiający stronę konta magazynu — eksportowanie szablonu.

  4. Znajdź plik .zip pobrany z portalu i rozpakuj ten plik do wybranego folderu. Ten plik zip zawiera pliki JSON szablonu i parametrów.

  5. Otwórz template.json w wybranym edytorze.

  6. Adres URL elementu webhook nie jest eksportowany do szablonu. W związku z tym wykonaj następujące czynności:

    1. W pliku szablonu wyszukaj element WebHook.

    2. W sekcji Właściwości dodaj znak przecinka (,) na końcu ostatniego wiersza. W tym przykładzie jest to "preferredBatchSizeInKilobytes": 64.

    3. 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.

  7. 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 jest West US równa westus.

    "type": "Microsoft.Storage/storageAccounts",
    "apiVersion": "2019-06-01",
    "name": "[parameters('storageAccounts_spegridstorage080420_name')]",
    "location": "westus",
    
  8. 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",
    
  9. Zapisz szablon.

Wdróż ponownie

Wdróż szablon, aby utworzyć konto magazynu i temat systemowy dla konta magazynu w regionie docelowym.

  1. W witrynie Azure Portal wybierz polecenie Utwórz zasób.
  2. W obszarze Przeszukaj witrynę Marketplace wpisz wdrożenie szablonu, a następnie naciśnij klawisz ENTER.
  3. Wybierz pozycję Wdrożenie szablonu.
  4. Wybierz pozycję Utwórz.
  5. Wybierz pozycję Utwórz własny szablon w edytorze.
  6. Wybierz pozycję Załaduj plik, a następnie postępuj zgodnie z instrukcjami, aby załadować plik template.json pobrany w ostatniej sekcji.
  7. Wybierz pozycję Zapisz , aby zapisać szablon.
  8. Na stronie Wdrożenie niestandardowe wykonaj następujące kroki.
    1. Wybierz subskrypcję platformy Azure.

    2. Wybierz istniejącą grupę zasobów w regionie docelowym lub utwórz grupę zasobów.

    3. W obszarze Region wybierz region docelowy. Jeśli wybrano istniejącą grupę zasobów, to ustawienie jest tylko do odczytu.

    4. W polu nazwa tematu systemowego wprowadź nazwę tematu systemowego, który zostanie skojarzony z kontem magazynu.

    5. W polu Nazwa konta magazynu wprowadź nazwę konta magazynu, które ma zostać utworzone w regionie docelowym.

      Zrzut ekranu przedstawiający stronę szablonu wdrażania usługi Resource Manager.

    6. Wybierz pozycję Przejrzyj i utwórz w dolnej części strony.

    7. Na stronie Przeglądanie + tworzenie przejrzyj ustawienia i wybierz pozycję Utwórz.

Weryfikacja

  1. Po pomyślnym wdrożeniu wybierz pozycję Goto resource group (Przejdź do grupy zasobów).
  2. 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.
  3. 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:

  1. 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.

  2. Wybierz grupę zasobów do usunięcia, a następnie wybierz pozycję Usuń na pasku narzędzi.

    Zrzut ekranu przedstawiający usuwanie grupy zasobów.

  3. Na stronie potwierdzenia wprowadź nazwę grupy zasobów, a następnie wybierz pozycję Usuń.