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 chcieć przenieść istniejące zasoby platformy Azure z jednego regionu do innego. Możesz chcieć:

  • Skorzystać z nowego regionu platformy Azure.
  • Wdrożyć funkcje lub usługi dostępne tylko w określonych regionach.
  • Spełnić wewnętrzne wymagania dotyczące zasad i zarządzania.
  • Dostosować się do fuzji i przejęć firm.
  • Spełnić wymagania dotyczące 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

Przygotuj się

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ę do witryny 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 to konto usługi Azure Storage. Grupa zasobów zawiera konto pamięci masowej oraz przypisany do niego temat systemowy.

    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 magazynowego — 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 dla webhooka 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. Dodaj właściwość endpointUrl i ustaw wartość na adres URL swojego webhooku, 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.

Ponownie wdroż

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

  1. W witrynie Azure Portal wybierz polecenie Utwórz zasób.
  2. W Wyszukaj w Marketplace, wpisz wdrożenie szablonu, a następnie naciśnij ENTER.
  3. Wybierz pozycję Wdrożenie szablonu.
  4. Wybierz 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 Niestandardowe wdrożenie 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ę Przejdź do grupy zasobów.
  2. Na stronie Grupy zasobów sprawdź, czy źródło zdarzeń (w tym przykładzie konto usługi Azure Storage) i temat systemowy zostały utworzone.
  3. Prześlij plik do kontenera w usłudze Azure Blob Storage i sprawdź, czy webhook otrzymał zdarzenie. Aby uzyskać więcej informacji, zobacz Wysyłanie zdarzenia do punktu końcowego.

Odrzucanie lub czyszczenie

Aby zakończyć proces przenoszenia, usuń grupę zasobów zawierającą konto magazynu i związany z nim temat systemowy 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ń.