Nasazení infrastruktury Linuxu a PostgreSQL

Dokončeno

Tato lekce vás provede vytvořením výpočetních prostředků, které hostují vaši aplikaci v Azure.

Existuje několik metod nasazení infrastruktury v Azure, včetně webu Azure Portal, Azure CLI a šablon infrastruktury jako kódu (včetně Bicep a Terraformu). V této lekci nasadíte předem nakonfigurovanou šablonu Bicep, která zapouzdřuje výpočetní prostředky požadované pro vaši aplikaci. Mezi klíčové prostředky patří:

  • Virtuální počítač s Linuxem (Ubuntu 24.04 LTS)
  • Azure Database for Postgres běžící na Postgres 16 nebo novější
  • Spravovaná identita umožňující zabezpečený přístup z virtuálního počítače k databázi
  • RBAC, včetně rolí pro přístup k databázi jako správce, a více omezujících rolí pro samotnou aplikaci
  • Virtuální síť pro virtuální počítač i databázi

Vzhledem k tomu, že tento příklad představuje úlohu vývoje/testování a chceme zachovat nákladově efektivní i výkonnou, zvolili jsme pro vás následující konfiguraci:

  • Virtuální počítač je standardní D2s_v4 (dva virtuální procesory, 8 GB paměti). Má azure Premium SSD se 3 200 maximálními vstupně-výstupními operacemi za sekundu (IOPS) a 128 GB úložiště. Má připojený disk SSD úrovně P10 128 GB Premium s 500 IOPS disku s operačním systémem. Disk s operačním systémem můžete podle potřeby upgradovat tak, aby odpovídal IOPS virtuálního počítače.

  • Databáze je D2ds_v4 pro obecné účely (dvě virtuální jádra, 8 GB paměti RAM) s maximálním počtem IOPS 3 200. Má disk SSD úrovně P10 128 GB Premium s 500 IOPS. Podle potřeby můžete tento disk upgradovat tak, aby odpovídal výpočetnímu IOPS.

Po dokončení modulu tyto prostředky odstraníte, abyste ušetřili náklady. Virtuální počítač a databázi ale můžete vypnout také v případě, že se nepoužívají, abyste ušetřili náklady na výpočetní prostředky a zaplatili jenom za úložiště, které používáte. Podle potřeby můžete tuto úlohu vertikálně navýšit.

Šablona Bicep v tomto modulu využívá ověřené moduly Azure (AVM). AVM je iniciativa pro standardizaci modulů infrastruktury jako kódu. Microsoft tyto moduly udržuje a zapouzdřuje mnoho osvědčených postupů pro nasazování prostředků v Azure.

Ujistěte se, že máte předplatné Azure a Azure CLI.

Pokud nemáte předplatné Azure, vytvořte si bezplatný účet , než začnete.

Tento modul vyžaduje Azure CLI verze 2.0.30 nebo novější. Verzi najděte pomocí následujícího příkazu:

az --version

Pokud potřebujete nainstalovat nebo upgradovat, přečtěte si téma Instalace Azure CLI.

Přihlášení k Azure pomocí Azure CLI

Pokud chcete spouštět příkazy v Azure pomocí Azure CLI, musíte se nejdřív přihlásit. Přihlaste se pomocí az login příkazu:

az login

Vytvoření skupiny zdrojů

Skupina prostředků je kontejner pro související prostředky. Všechny prostředky musí být umístěné ve skupině prostředků. Pomocí příkazu az group create vytvořte skupinu prostředků:

az group create \
    --name 240900-linux-postgres \
    --location westus2

Nasazení šablony Bicep pomocí Azure CLI

Bicep je jazyk specifický pro doménu (DSL), který k nasazování prostředků Azure používá deklarativní syntaxi. V souboru Bicep definujete infrastrukturu, kterou chcete nasadit do Azure. Tento soubor pak použijete během životního cyklu vývoje k opakovanému nasazení infrastruktury. Vaše prostředky se nasazují konzistentním způsobem.

Soubor Bicep, který používáte k nasazení výpočetních prostředků pro tuto jednotku, je v úložišti Deploy/vm-postgres.bicep Na GitHubu. Obsahuje virtuální počítač, virtuální síť, spravovanou identitu a skupinu zabezpečení sítě (NSG) pro virtuální počítač. Další informace o Bicep si můžete přečíst v článku Co je Bicep?.

  1. Naklonujte ukázkové úložiště do místního počítače:

    git clone https://github.com/Azure-Samples/linux-postgres-migration.git
    
  2. Přejděte do linux-postgres-migration adresáře:

    cd linux-postgres-migration
    
  3. Nasazení šablony Bicep:

    az deployment group create \
        --resource-group 240900-linux-postgres \
        --template-file deploy/vm-postgres.bicep
    

Po dokončení nasazení výstup JSON potvrdí, že jsou prostředky nasazené.

V dalších částech nakonfigurujete a prozkoumáte role RBAC a pravidla zabezpečení sítě na nasazené infrastruktuře pomocí webu Azure Portal. Při použití webu Azure Portal můžete role a pravidla zakódovat do šablony Bicep. Azure Portal poskytuje vizuální rozhraní, které usnadňuje pochopení vztahů mezi prostředky a oprávněními, která jsou jim přiřazena.

Otevření skupiny prostředků na webu Azure Portal

  1. Otevřete Azure Portal.

  2. V nabídce služby vyberte skupiny prostředků.

  3. V podokně Skupiny prostředků vyberte skupinu 240900-linux-postgresprostředků .

V pravé horní části podokna se v oblasti Nasazení zobrazuje stav nasazení šablony Bicep. Po úspěšném nasazení se zobrazí úspěch.

Zobrazení skupiny zabezpečení sítě virtuálního počítače

  1. Vyberte virtuální počítač vm-1.

  2. V části Sítě vyberte Nastavení sítě.

Nastavení sítě ukazuje, že skupina zabezpečení sítě (240900-linux-postgres-nsg) je připojená ke stejné podsíti virtuální sítě (240900-linux-postgres-vnet) jako virtuální počítač.

Skupina zabezpečení sítě je také viditelná uvnitř skupiny prostředků. Obsahuje sadu příchozích a odchozích pravidel zabezpečení, která řídí provoz do a z virtuálního počítače.

Návrat do skupiny prostředků

V horní části stránky vyberte odkaz s popisem cesty, který se vrátí do skupiny prostředků (Home > Resource groups > 240900-linux-postgres).

Všimněte si, že spravovaná identita přiřazená uživatelem 240900-linux-postgres-identity je uvedená ve skupině prostředků.

Další informace o spravovaných identitách přiřazených systémem a uživatelem najdete v tématu Co jsou spravované identity pro prostředky Azure?

Přidání příchozího pravidla zabezpečení do skupiny zabezpečení sítě

Přidejte do skupiny zabezpečení sítě příchozí pravidlo zabezpečení, které povolí provoz SSH z vaší aktuální IP adresy do virtuálního počítače.

V produkčním scénáři byste často používali přístup za běhu, Azure Bastion nebo VPN (například Azure nebo síť VPN) k omezení přístupu k virtuálnímu počítači.

  1. Vyberte možnost 240900-linux-postgres-nsg.

  2. Vyberte Nastavení>příchozích pravidel zabezpečení.

  3. Vyberte Přidat.

  4. V části Zdroj vyberte Moje IP adresa.

  5. V části Služba vyberte SSH.

  6. Vyberte Přidat.

Zobrazení správce flexibilního serveru Azure Database for PostgreSQL

  1. Vyhledejte a vyberte flexibilní server Azure Database for PostgreSQL. Jmenuje se postgres-xxxxx, kde xxxxx je jedinečný řetězec, který definovala šablona Bicep. Řetězec zůstává konzistentní napříč nasazeními ve vašem předplatném a skupině prostředků.

  2. Vyberte >.

V tomto scénáři používáte Microsoft Entra pouze pro ověřování. Spravovaná identita 240900-linux-postgres-identity přiřazená uživatelem je uvedená v části Microsoft Entra Admins.

Spravovaná identita 240900-linux-postgres-identity je aktuálně jediným správcem serveru. Volitelně můžete jako správce přidat vlastní uživatelský účet. V tomto scénáři ale použijete spravovanou identitu, která už je na místě.

V nadcházející části použijete identitu z virtuálního počítače ke správě serveru přes Azure CLI. Tuto identitu také použijete k poskytnutí přístupu k serveru pro vaši aplikaci.

V produkčním scénáři byste pravděpodobně použili kombinaci spravovaných identit, MICROSOFT Entra ID a jemně odstupňovaného řízení přístupu na základě role, abyste mohli bezpečně přistupovat k datům a spravovat prostředky v Azure. Dodržujete zásadu nejnižších oprávnění.

Přečtěte si více o těchto scénářích v části Ověřování pomocí Microsoft Entra s Azure Database for PostgreSQL - flexibilní server a Použití ID Microsoft Entra pro ověřování s Azure Database for PostgreSQL - flexibilní server.

Projděte si pravidla brány firewall flexibilního serveru Azure Database for PostgreSQL.

Vyberte Nastavení>Síťová nastavení.

Pokud jste server spravovali z místního počítače, a ne z virtuálního počítače, museli byste do pravidel brány firewall přidat svoji IP adresu.

Pravidlo brány firewall pro aktuální IP adresu můžete vytvořit tak, že vyberete Přidat aktuální IP adresu klienta (xxx.xxx.xxx.xxx)>Uložit. Toto pravidlo vám umožní přístup k vývojovému/testovacímu serveru pomocí nástrojů na místním počítači. Protože ale k přístupu k databázi používáte virtuální počítač, nebudete v tuto chvíli vytvářet pravidlo brány firewall.

V produkčním prostředí byste pravděpodobně tento server izolovali od veřejného internetu úplně zrušením zaškrtnutí políčka Povolit veřejný přístup k tomuto prostředku přes internet pomocí možnosti veřejné IP adresy .

Na rozdíl od virtuálního počítače jste nepřidružili službu Azure Database for PostgreSQL k žádné virtuální síti. Zachováte možnost přístupu ke službě Azure Database for PostgreSQL přes veřejný internet, což je užitečné pro scénáře vývoje/testování.

Pokud chcete zajistit zabezpečení i flexibilitu, povolíte přístup z virtuálního počítače přes jeho virtuální síť pomocí privátního koncového bodu. Privátní koncový bod umožňuje virtuálnímu počítači přistupovat k databázi, aniž by ji zpřístupňuje veřejnému internetu. Přečtěte si další informace o privátních koncových bodech ve službě Azure Database for PostgreSQL – sítě flexibilního serveru s využitím služby Private Link.

Tady byl pro vás pomocí Bicep vytvořen privátní koncový bod.

Kontrola přiřazení rolí pro spravovanou identitu přiřazenou systémem virtuálního počítače

  1. Vraťte se 240900-linux-postgres do skupiny prostředků a vyberte vm-1.

  2. V nabídce služby vyberte >.

    Tady můžete ověřit, že spravovaná identita přiřazená systémem je připojená k virtuálnímu počítači.

  3. Pod Přiřazeno systémem vyberte Přiřazení rolí Azure.

    Tady můžete ověřit, že je role Čtenář přiřazena spravované identitě přiřazené systémem. Role je vymezena na 240900-linux-postgres skupinu prostředků.

Oprávnění v této identitě umožňují používat Azure CLI v rámci virtuálního počítače k výpisu prostředků ve skupině prostředků. Díky této možnosti nemusíte do skriptů pevně zakódovat podrobnosti o konkrétních prostředcích.

V pozdější fázi přiřadíte spravované identitě virtuálního počítače další roli, aby mohl virtuální počítač přistupovat přímo k účtu Azure Blob Storage.

Dále prozkoumáte a nakonfigurujete nasazenou infrastrukturu.

Zdroje informací