Nasazení instance Amazon Web Services Amazon Elastic Compute Cloud s využitím plánu Terraformu a jeho připojení ke službě Azure Arc

Tento článek obsahuje pokyny k použití poskytnutého plánu Terraformu k nasazení instance Amazon Elastic Compute Cloud (AWS) Amazon Elastic Compute Cloud (EC2) a jeho připojení jako prostředku serveru s podporou Služby Azure Arc.

Požadavky

  1. Naklonujte úložiště Azure Arc Jumpstart.

    git clone https://github.com/microsoft/azure_arc.git
    
  2. Nainstalujte nebo aktualizujte Azure CLI na verzi 2.7 a novější. Pomocí následujícího příkazu zkontrolujte aktuální nainstalovanou verzi.

    az --version
    
  3. Generování klíče SSH (nebo použití existujícího klíče SSH)

  4. Vytvoření bezplatného účtu AWS

  5. Instalace Terraformu >= 0.12

  6. Vytvořte instanční objekt Azure.

    K připojení virtuálního počítače AWS k Azure Arc se vyžaduje instanční objekt Azure přiřazený s rolí Přispěvatel. Pokud ho chcete vytvořit, přihlaste se ke svému účtu Azure a spusťte následující příkaz. Tento příkaz můžete spustit také v Azure Cloud Shellu.

    az login
    az account set -s <Your Subscription ID>
    az ad sp create-for-rbac -n "<Unique SP Name>" --role contributor --scopes "/subscriptions/<Your Subscription ID>"
    

    Příklad:

    az ad sp create-for-rbac -n "http://AzureArcAWS" --role contributor --scopes "/subscriptions/00000000-0000-0000-0000-000000000000"
    

    Výstup by měl vypadat takto:

    {
      "appId": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
      "displayName": "http://AzureArcAWS",
      "password": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
      "tenant": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
    }
    

    Poznámka:

    Důrazně doporučujeme nastavit obor instančního objektu na konkrétní předplatné Azure a skupinu prostředků.

Vytvoření identity AWS

Aby Terraform mohl vytvářet prostředky v AWS, musíme vytvořit novou roli AWS IAM s příslušnými oprávněními a nakonfigurovat Terraform, aby ho mohl používat.

  1. Přihlášení ke konzole pro správu AWS

  2. Po přihlášení vyberte rozevírací seznam Služby v levém horním rohu. V části Zabezpečení, Identita a Dodržování předpisů vyberte IAM pro přístup ke stránce správy identit a přístupu.

    A screenshot of an AWS cloud console.

    A screenshot of identity and access management in the AWS cloud console.

  3. V nabídce vlevo klikněte na Uživatelé a pak vyberte Přidat uživatele a vytvořte nového uživatele IAM.

    A screenshot of creating a new user in an AWS cloud console.

  4. Na stránce Přidat uživatele pojmenujte uživatele Terraform a zaškrtněte políčko Programový přístup a pak vyberte Další.

    Second screenshot of creating a new user in an AWS cloud console.

  5. Na stránce Nastavit oprávnění vyberte Připojit existující zásady přímo a pak zaškrtněte políčko vedle AmazonEC2FullAccess, jak je vidět na snímku obrazovky, a pak vyberte Další.

    Third screenshot of creating a new user in an AWS cloud console.

  6. Na stránce Značky přiřaďte značku s klíčem azure-arc-demo a výběrem tlačítka Další přejděte na stránku Revize.

    A screenshot of tags in an AWS cloud console.

  7. Ověřte, že je všechno správné, a až budete připraveni, vyberte Vytvořit uživatele .

    Fourth screenshot of creating a user in an AWS cloud console.

  8. Po vytvoření uživatele se zobrazí ID přístupového klíče uživatele a tajný přístupový klíč. Před výběrem možnosti Zavřít tyto hodnoty zkopírujte. Na další stránce uvidíte příklad, jak by to mělo vypadat. Jakmile tyto klíče budete mít, budete je moct používat s Terraformem k vytvoření prostředků AWS.

    A screenshot of creating a user successfully in an AWS cloud console.

Konfigurace Terraformu

Před spuštěním plánu Terraform je nutné exportovat proměnné prostředí, které bude plán používat. Tyto proměnné jsou založené na vašem předplatném a tenantovi Azure, instančním objektu Azure a uživateli a klíči AWS IAM, které jste právě vytvořili.

  1. Pomocí příkazu načtěte ID předplatného Azure a ID tenanta az account list .

  2. Plán Terraformu vytváří prostředky v Microsoft Azure i AWS. Potom na virtuálním počítači AWS EC2 spustí skript pro instalaci agenta Azure Arc a všech nezbytných artefaktů. Tento skript vyžaduje určité informace o prostředích AWS a Azure. Upravte a aktualizujte scripts/vars.sh jednotlivé proměnné příslušnými hodnotami.

    • TF_VAR_subscription_id = ID vašeho předplatného Azure
    • TF_VAR_client_id = ID vaší aplikace instančního objektu Azure
    • TF_VAR_client_secret = vaše heslo instančního objektu Azure
    • TF_VAR_tenant_id = ID tenanta Azure
    • AWS_ACCESS_KEY_ID = přístupový klíč AWS
    • AWS_SECRET_ACCESS_KEY = tajný klíč AWS
  3. Z Azure CLI přejděte do azure_arc_servers_jumpstart/aws/ubuntu/terraform adresáře klonovaného úložiště.

  4. Exportujte proměnné prostředí, které jste upravili spuštěním scripts/vars.sh zdrojového příkazu, jak je znázorněno níže. Terraform vyžaduje, aby se plán správně spustil. Všimněte si, že tento skript se také automaticky spustí na virtuálním počítači AWS jako součást nasazení Terraformu.

    source ./scripts/vars.sh
    
  5. Ujistěte se, že jsou klíče SSH k dispozici v ~/.ssh a pojmenované id_rsa.pub a id_rsa. Pokud jste postupovali podle výše uvedeného ssh-keygen průvodce a vytvořili klíč, měl by už být správně nastavený. Pokud ne, možná budete muset upravit main.tf použití klíče s jinou cestou.

  6. terraform init Spusťte příkaz, který stáhne zprostředkovatele Terraform AzureRM.

    A screenshot of the terraform init command.

Nasazení

  1. terraform apply --auto-approve Spusťte příkaz a počkejte na dokončení plánu. Po dokončení budete mít nasazenou a připojenou instanci AWS Amazon Linux 2 EC2 a připojit se jako nový server s podporou Azure Arc v nové skupině prostředků.

  2. Otevřete Azure Portal a přejděte do arc-aws-demo skupiny prostředků. Virtuální počítač vytvořený v AWS bude viditelný jako prostředek.

    A screenshot showing an Azure Arc-enabled server in the Azure portal.

    A screenshot of AWS console displaying EC2 instances.

Částečně automatizované nasazení (volitelné)

Jak jste si možná všimli, posledním krokem spuštění je registrace virtuálního počítače jako nového prostředku serveru s podporou Azure Arc.

A screenshot of the azcmagent connect command.

Pokud chcete provést ukázku nebo řízení skutečného procesu registrace, postupujte takto:

  1. install_arc_agent.sh.tmpl V šabloně skriptu zakomentujte run connect command oddíl a soubor uložte.

    A screenshot showing main.tf being commented out to disable automatic onboarding of an Azure Arc agent.

  2. Spuštěním příkazu terraform outputzískáte veřejnou IP adresu virtuálního počítače AWS.

    A screenshot of output from Terraform.

  3. Připojte virtuální počítač přes SSH pomocí ssh ubuntu@xx.xx.xx.xx ip adresy hostitele, kde xx.xx.xx.xx je ip adresa hostitele.

    A screenshot of an SSH key connecting to an EC2 server.

  4. Exportujte všechny proměnné prostředí v souboru vars.sh.

    A screenshot of exported environment variables in vars.sh.

  5. Spusťte následující příkaz:

    azcmagent connect --service-principal-id $TF_VAR_client_id --service-principal-secret $TF_VAR_client_secret --resource-group "arc-aws-demo" --tenant-id $TF_VAR_tenant_id --location "westus2" --subscription-id $TF_VAR_subscription_id
    

    Another screenshot of the azcmagent connect command.

  6. Po dokončení se váš virtuální počítač zaregistruje ve službě Azure Arc a zobrazí se ve skupině prostředků prostřednictvím webu Azure Portal.

Odstranění nasazení

Pokud chcete odstranit všechny prostředky, které jste vytvořili v rámci této ukázky, použijte terraform destroy --auto-approve příkaz, jak je znázorněno níže.

A screenshot of the terraform destroy command.

Případně můžete instanci AWS EC2 odstranit přímo ukončením z konzoly AWS. Mějte na paměti, že odebrání instance bude trvat několik minut.

A screenshot of how to terminate an instance in the AWS console.

Pokud instanci odstraníte ručně, měli byste také odstranit *./scripts/install_arc_agent.sh, který je vytvořen plánem Terraformu.