Udostępnij za pośrednictwem


Infrastruktura i zarządzanie usługą Mesh Cloud Scripting

Omówienie

W tym artykule poznasz różne aspekty infrastruktury i zarządzania chmurą usługi Mesh, w tym usługi wdrażane w ramach subskrypcji platformy Azure podczas kompilowania i publikowania projektu cloud Scripting.

Wdrożone zasoby

Tworzenie skryptów w chmurze usługi Mesh składa się z . Aplikacje oparte na platformie NET, które działają w chmurze. Infrastruktura chmury usługi Mesh Cloud Scripting wdrożona w subskrypcji platformy Azure klienta zawiera następujące zasoby platformy Azure:

  1. Plan usługi App Service: reprezentuje klaster obliczeniowy, w którym można uruchamiać aplikacje internetowe. Może również uruchamiać co najmniej jedną inną aplikację internetową.

  2. Sieć wirtualna platformy Azure: jest to zasób sieci wirtualnej, w której są wdrażane wystąpienia usługi App Service i umożliwia im komunikowanie się ze sobą.

  3. Wystąpienie aplikacji internetowej platformy Azure: reprezentuje wystąpienie aplikacji internetowej uruchomionej na określonej maszynie wirtualnej.

  4. Konto usługi Azure Storage: przechowuje opublikowaną zawartość i informacje o wystąpieniach aplikacji internetowej platformy Azure. Jest ona podzielona na dwa składniki:

    1. Mesh Cloud Scripting Service Blob Storage: przechowuje obiekt blob usługi Mesh Cloud Scripting Service przekazany przez moduł przekazujący siatkę.
    2. Tabela członkostwa w Orleanie: zawiera informacje o utrzymaniu wystąpień Orleanu Silo.
  5. Obszar roboczy usługi Log Analytics: przechowuje dzienniki emitowane z usługi Mesh Cloud Scripting Service uruchomionej w usłudze App Service.

  6. Application Insights: udostępnia funkcje monitorowania wydajności aplikacji (APM). Narzędzia APM są przydatne do monitorowania aplikacji z programowania, za pośrednictwem testów i do środowiska produkcyjnego.

Plan usługi App Service

Plan usługi App Service definiuje zestaw zasobów obliczeniowych, które umożliwiają uruchamianie aplikacji internetowej.

Podczas tworzenia planu usługi App Service w określonym regionie (na przykład Europa Zachodnia) zostanie utworzony zestaw zasobów obliczeniowych dla tego planu w tym regionie. Wszystkie aplikacje wprowadzone w tym planie usługi App Service są uruchamiane na tych zasobach obliczeniowych zgodnie z definicją planu usługi App Service. Każdy plan usługi App Service definiuje następujące informacje:

  • System operacyjny: (Windows, Linux)
  • Region (Zachodnie stany USA, Wschodnie stany USA itp.)
  • Liczba wystąpień maszyn wirtualnych
  • Rozmiar wystąpień maszyn wirtualnych (mały, średni, duży)
  • Warstwa cenowa (Bezpłatna, Współdzielona, Podstawowa, Standardowa, Premium, Premium V2, PremiumV3, Izolowana, IzolowanaV2)

Aby uzyskać więcej informacji, zapoznaj się z dokumentacją planu usługi App Service.

Domyślne ustawienia zasobów zestawu narzędzi mesh dla planu usługi App Service

  • Nazwa jednostki SKU: P1v2
  • Warstwa jednostki SKU: PremiumV2
  • Pojemność jednostki SKU: 1
  • Rodzaj: Linux
  • Zarezerwowane: prawda

W kontekście usług Mesh Cloud Scripting Services plan usługi App Service jest składnikiem obliczeniowym. Może ona być skalowana automatycznie i obsługiwać sposób komunikowania się różnych wystąpień ze sobą (sieć). CloudHost, czyli aplikacja, która uruchamia usługi Mesh Cloud Scripting Services i zarządza nimi, jest obecnie oferowana jako obraz platformy Docker, a w związku z tym korzystamy z planu opartego na systemie Linux. Plany Premium są bardziej odpowiednie dla obciążeń produkcyjnych.

Aby uzyskać więcej informacji na temat ustawień domyślnych, zapoznaj się z dokumentacją szablonu Bicep i ARM dla zasobu planu usługi App Service.

App Service

aplikacja systemu Azure Service to oparta na protokole HTTP usługa do hostowania aplikacji internetowych, interfejsów API REST i zapleczy mobilnych. Usługa App Service dodaje do aplikacji możliwości platformy Microsoft Azure, takie jak zabezpieczenia, równoważenie obciążenia, skalowanie automatyczne i automatyczne zarządzanie. Korzystając z usługi App Service, płacisz tylko za faktycznie wykorzystane zasoby obliczeniowe platformy Azure. Używane zasoby obliczeniowe są określane przez plan usługi App Service, na którym są uruchamiane aplikacje.

Aby uzyskać więcej informacji, zapoznaj się z dokumentacją usługi App Service.

Domyślne ustawienia zasobów zestawu narzędzi mesh — App Service

  • httpsOnly: prawda
  • alwaysOn: Prawda
  • liczba portów vnetPrivatePorts: 2
  • vnetRouteAllEnabled: True
  • vnetName: domyślna nazwa sieci wirtualnej

Aby uzyskać więcej informacji na temat ustawień domyślnych, zapoznaj się z dokumentacją szablonu Bicep i ARM dla zasobu planu usługi App Service.

Virtual Network

Usługa Azure Virtual Network to podstawowy blok konstrukcyjny dla sieci prywatnej na platformie Azure. Sieć wirtualna umożliwia korzystanie z wielu typów zasobów platformy Azure, takich jak maszyny wirtualne platformy Azure, bezpieczne komunikowanie się ze sobą, internetem i sieciami lokalnymi. Sieć wirtualna jest podobna do tradycyjnej sieci, która będzie działać we własnym centrum danych. Usługa Azure Virtual Network oferuje dodatkowe korzyści z infrastruktury platformy Azure, takie jak skalowanie, dostępność i izolacja.

Aby uzyskać więcej informacji, zapoznaj się z dokumentacją usługi Virtual Network.

Domyślne ustawienia zasobów zestawu narzędzi mesh — sieć wirtualna

  • AddressSpace addressPrefixes: 10.0.0.0/16
  • Prefiks adresu podsieci: 10.0.0.0/24
  • Nazwa delegowania podsieci: delegowanie
  • Nazwa usługi Delegowanie podsieci: Microsoft.Web/serverFarms

Aby uzyskać więcej informacji na temat ustawień domyślnych, zapoznaj się z dokumentacją szablonu Bicep i ARM dla zasobu sieci wirtualnej.

Konto magazynu

Konto usługi Azure Storage zawiera wszystkie obiekty danych usługi Azure Storage: obiekty blob, pliki, kolejki i tabele. Konto magazynu zapewnia unikatową przestrzeń nazw dla danych usługi Azure Storage, które są dostępne z dowolnego miejsca na świecie za pośrednictwem protokołu HTTP lub HTTPS. Dane na koncie magazynu są trwałe i wysoce dostępne, bezpieczne i wysoce skalowalne.

Aby uzyskać więcej informacji, zapoznaj się z dokumentacją konta magazynu.

Domyślne ustawienia zasobów zestawu narzędzi mesh — konto magazynu

  • Nazwa jednostki SKU: Standard_LRS
  • Rodzaj: StorageV2

Aby uzyskać więcej informacji na temat ustawień domyślnych, zapoznaj się z dokumentacją szablonu usługi Bicep i ARM dla zasobu konta magazynu.

Obszar roboczy usługi Log Analytics

Obszar roboczy usługi Log Analytics to unikatowe środowisko do rejestrowania danych z usługi Azure Monitor i innych usług platformy Azure, takich jak Microsoft Sentinel i Microsoft Defender dla Chmury. Jest to narzędzie w witrynie Azure Portal, które służy do edytowania i uruchamiania zapytań dziennika względem danych w magazynie dzienników usługi Azure Monitor.

Aby uzyskać więcej informacji, zapoznaj się z dokumentacją obszaru roboczego usługi Log Analytics.

Domyślne ustawienia zasobów zestawu narzędzi mesh — obszar roboczy usługi Log Analytics

  • forceCmkForQuery: false
  • retentionInDays: 30
  • Nazwa jednostki SKU: PerGB2018
  • dailyQuotaGb: 2 GB

Aby uzyskać więcej informacji na temat ustawień domyślnych, zapoznaj się z dokumentacją szablonu Bicep i ARM dla zasobu Obszar roboczy.

Szczegółowe dane dotyczące aplikacji

Application Insights to rozszerzenie usługi Azure Monitor i udostępnia funkcje monitorowania wydajności aplikacji (APM). Narzędzia APM są przydatne do monitorowania aplikacji z programowania, testowania i produkcji w następujący sposób:

Proaktywne zrozumienie sposobu działania aplikacji. Reaktywnie przejrzyj dane wykonywania aplikacji, aby określić przyczynę zdarzenia. Oprócz zbierania metryk i danych telemetrycznych aplikacji, które opisują działania aplikacji i kondycję, można użyć usługi Application Insights do zbierania i przechowywania danych rejestrowania śledzenia aplikacji.

Aby uzyskać więcej informacji, zapoznaj się z dokumentacją usługi Application Insights.

Domyślne ustawienia zasobów zestawu narzędzi mesh — Application Insights

  • Rodzaj: internet
  • Request_Source: rest
  • WorkspaceResourceId: domyślny identyfikator obszaru roboczego usługi Log Analytics.

Aby uzyskać więcej informacji na temat ustawień domyślnych, zapoznaj się z dokumentacją szablonu Bicep i ARM dla zasobu sieci wirtualnej.

Diagram infrastruktury usług Mesh Cloud Scripting Services

Diagram przedstawiający infrastrukturę usług Mesh Cloud Scripting

Ruch przepływa przez każdy składnik

Klient <—> wystąpienia usługi AppService: żądania/odpowiedzi klienta (żądania połączenia, powiadomienia skryptu w chmurze i inne).

Wystąpienia usługi App Service: komunikaty ping protokołu TCP w celu określenia aktywności.

Wystąpienia <usługi App Service —> LogAnalytics/AppInsights: Telemetria aplikacji (dzienniki aplikacji).

Wystąpienia <usługi App Service —> tabela członkostwa: informacje o żywo dotyczące każdego wystąpienia usługi App Service.

Wystąpienie <usługi App Service —> blob Storage: plik zip skryptów w chmurze uruchomionych w chmurze.

Rejestracje dostawcy zasobów

Usługi do zarejestrowania są następujące:

  1. Microsoft.Web
  2. Microsoft.Storage
  3. Microsoft.Network
  4. Microsoft.Insights
  5. Microsoft.OperationalInsights

Uwagi

  • Jeśli potrzebujesz pomocy dotyczącej błędów, zobacz Błędy rejestracji dostawcy zasobów.

  • Jak wyjaśniono w dokumentacji platformy Azure, rejestrowanie usług odbywa się na poziomie subskrypcji. Innymi słowy, nie ma potrzeby rejestrowania usług dla różnych grup zasobów.

Kontrola dostępu do wdrożenia usługi Mesh Cloud Scripting Service

  1. Deweloperzy muszą mieć konto e-mail, które może być używane do wdrożenia. Może to być nowe lub wstępnie istniejące konto.

  2. Jeśli zarządzasz kontrolą dostępu za pośrednictwem grupy zabezpieczeń platformy Azure, utwórz tę grupę (na przykład "Mesh Cloud Scripting Services Developers"). Aby uzyskać więcej informacji na temat grupy zabezpieczeń platformy Azure w porównaniu z typami grup platformy Microsoft 365, zobacz Dowiedz się więcej o grupach i członkostwie w grupach.

  3. Zdecyduj, w jaki sposób deweloperzy mają uzyskiwać dostęp do subskrypcji platformy Azure. Jest to określane przez to, czy deweloper jest natywnym członkiem katalogu, czy użytkownika-gościa.

    1. Możesz dodać członków natywnych do grupy zabezpieczeń platformy Azure utworzonej w kroku 2 powyżej, jeśli chcesz łatwo zarządzać mechanizmami kontroli dostępu.
    2. Możesz dodać użytkowników-gości do subskrypcji platformy Azure lub dodać ich do grupy zabezpieczeń platformy Azure (zobacz krok 2 powyżej).

    Aby uzyskać więcej informacji na temat użytkowników-gości, zobacz Dodawanie użytkowników współpracy B2B w witrynie Azure Portal .

Nasze zalecenia dotyczące kontroli dostępu

Poniżej przedstawiono kilka zaleceń dotyczących udzielania deweloperom dostępu do aprowizacji infrastruktury chmury usług Mesh Cloud Scripting Services na platformie Azure. Różnią się one w zależności od tego, jak restrykcyjne mają być zasady kontroli dostępu.

  1. Udziel deweloperom roli Współautor dla całej subskrypcji, która jest aprowizowana dla usług Mesh Cloud Scripting Services.

  2. Utwórz dedykowaną grupę zasobów dla wdrożenia infrastruktury chmurowej usług Cloud Scripting Services usługi Mesh i przyznaj deweloperom rolę Współautor w tej grupie zasobów. Możesz to zrobić za pomocą grupy zabezpieczeń platformy Azure utworzonej w drugim wstępnie wstępnym — innymi słowy: "Mesh Cloud Scripting Services Developers". Dzięki temu można uzyskać pełny dostęp do zarządzania wszystkimi zasobami, ale nie zezwala im na przypisywanie ról w kontroli dostępu opartej na rolach platformy Azure, zarządzanie przypisaniami w usłudze Azure Blueprints lub udostępnianie galerii obrazów.

  3. Utwórz rolę niestandardową na platformie Azure , która ma najmniejsze uprawnienia wymagane do utworzenia infrastruktury chmury usług Mesh Cloud Scripting Services i zarządzania nią.

    Tę rolę można przypisać bezpośrednio w grupie zabezpieczeń platformy Azure utworzonej w drugim wstępnie, tj. "Mesh Cloud Scripting Services Developers".

    Poniżej przedstawiono nasze zalecane uprawnienia do tworzonych ról niestandardowych:

    Ekran strony, na którym wybierasz role niestandardowe.

    Przekazany plik JSON powinien być podobny do następującego**:

    {
    "id": "88888-8888-8888-888-8888888",
        "properties": {
            "roleName": "MeshCloudScriptingServiceDeployer",
            "description": "Grants access to Mesh Cloud Scripting Services resources",
            "assignableScopes": [
                "/subscriptions/{subscriptionID}"
            ],
            "permissions": [
                {
                    "actions": [
                        "*/read",
                        "Microsoft.Authorization/*/read",
                        "Microsoft.ClassicCompute/virtualMachines/extensions/*",
                        "Microsoft.ClassicStorage/storageAccounts/listKeys/action",
                        "Microsoft.Compute/virtualMachines/extensions/*",
                        "Microsoft.HybridCompute/machines/extensions/write",
                        "Microsoft.Insights/alertRules/*",
                        "Microsoft.Insights/autoscalesettings/*",
                        "Microsoft.Insights/components/*",
                        "Microsoft.Insights/diagnosticSettings/*",
                        "Microsoft.Insights/generateLiveToken/read",
                        "Microsoft.Insights/metricAlerts/*",
                        "Microsoft.Insights/scheduledqueryrules/*",
                        "Microsoft.Insights/topology/read",
                        "Microsoft.Insights/transactions/read",
                        "Microsoft.Insights/webtests/*",
                        "Microsoft.Network/*",
                        "Microsoft.OperationalInsights/*",
                        "Microsoft.OperationsManagement/*",
                        "Microsoft.ResourceHealth/availabilityStatuses/read",
                        "Microsoft.Resources/deployments/*",
                        "Microsoft.Resources/subscriptions/resourcegroups/deployments/*",
                        "Microsoft.Resources/subscriptions/resourceGroups/read",
                        "Microsoft.Storage/storageAccounts/*",
                        "Microsoft.Support/*",
                        "Microsoft.Web/certificates/*",
                        "Microsoft.Web/hostingEnvironments/Join/Action",
                        "Microsoft.Web/listSitesAssignedToHostName/read",
                        "Microsoft.Web/serverFarms/join/action",
                        "Microsoft.Web/serverFarms/*",
                        "Microsoft.Web/sites/*"
                    ],
                    "notActions": [],
                    "dataActions": [],
                    "notDataActions": []
                }
            ]
        }
    }
    

    Uwaga

    Rola niestandardowa MeshCloudScriptingServiceDeployer nie zezwala użytkownikom na tworzenie grup zasobów. Jeśli chcemy, aby użytkownicy utworzyli grupę zasobów, potrzebują również uprawnień Microsoft.Resources/subscriptions/resourcegroups/write.

Ograniczenia limitów przydziału dla usług Mesh Cloud Scripting Services

Infrastruktura usług Mesh Cloud Scripting Services korzysta z planu Premium App Service dla systemu Linux (P1V2). Są to limity usługi App Service, które mogą wystąpić podczas wdrażania usługi Mesh Cloud Scripting Service:

Zasób Premium (P1V2)
Aplikacje internetowe, mobilne lub api na plan usługi aplikacja systemu Azure Nieograniczony
Plan usługi App Service 100 na grupę zasobów

Uwaga

Aplikacje i limity przydziału magazynu są naliczane według planu usługi App Service, chyba że określono inaczej.

Uwaga

Rzeczywista liczba aplikacji, które można hostować na tych maszynach, zależy od aktywności aplikacji, rozmiaru wystąpień maszyny i odpowiedniego wykorzystania zasobów.

Jeśli wystąpi następujący błąd: "Ten region ma limit przydziału 0 wystąpień PremiumV2 dla subskrypcji. Spróbuj wybrać inny region lub jednostkę SKU" — zobacz Limity i przydziały subskrypcji platformy Azure.

Czyszczenie nieaktualnych usług obsługi skryptów w chmurze

Jeśli masz nieaktywne lub nieużywane usługi Mesh Cloud Scripting, wykonaj następujące kroki, aby znaleźć zasoby usługi Mesh Cloud Scripting i usunąć je.

  1. Zaloguj się do witryny Azure Portal.

  2. Przejdź do karty "Wszystkie zasoby".

    Wybieranie wszystkich zasobów w witrynie Azure Portal

  3. Na stronie "Wszystkie zasoby":

    a. Wybierz odpowiednią Subskrypcję.

    Wybieranie subskrypcji na platformie Azure

    b. Dodaj filtr z tagiem EnvironmentName.

    Filtr EnvironmentName na platformie Azure

    c. Znajdź zasoby zgodne ze środowiskami, które chcesz usunąć.

    Filtr zasobów na platformie Azure

  4. Wyczyść nieaktualne usługi Cloud Scripting Services, klikając wielokropek obok nazwy każdego zasobu znalezionego w kroku 3C, a następnie klikając pozycję Usuń na liście rozwijanej. Alternatywnie możesz użyć interfejsu wiersza polecenia platformy Azure zgodnie z opisem w tym artykule Usuwanie zasobu , aby usunąć zasoby według nazwy.

Następne kroki