Share via


Terraform-csomag használata Amazon Web Services Amazon Elastic Compute Cloud-példány üzembe helyezéséhez és az Azure Archoz való csatlakoztatásához

Ez a cikk útmutatást nyújt az Amazon Web Services (AWS) Amazon Elastic Compute Cloud (EC2) példány üzembe helyezéséhez és Azure Arc-kompatibilis kiszolgálói erőforrásként való csatlakoztatásához a megadott Terraform-csomag használatával.

Előfeltételek

  1. Klónozza az Azure Arc Jumpstart-adattárat.

    git clone https://github.com/microsoft/azure_arc.git
    
  2. Telepítse vagy frissítse az Azure CLI-t a 2.7-es vagy újabb verzióra. Az alábbi paranccsal ellenőrizze az aktuális telepített verziót.

    az --version
    
  3. SSH-kulcs létrehozása (vagy meglévő SSH-kulcs használata)

  4. Ingyenes AWS-fiók létrehozása

  5. A Terraform >= 0.12 telepítése

  6. Azure-szolgáltatásnév létrehozása.

    Az AWS virtuális gép Azure Archoz való csatlakoztatásához a közreműködői szerepkörrel hozzárendelt Azure-szolgáltatásnévre van szükség. A létrehozáshoz jelentkezzen be az Azure-fiókjába, és futtassa a következő parancsot. Ezt a parancsot az Azure Cloud Shellben is futtathatja.

    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éldául:

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

    A kimenetnek az alábbihoz hasonlónak kell lennie:

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

    Megjegyzés:

    Javasoljuk, hogy a szolgáltatásnevet egy adott Azure-előfizetésre és erőforráscsoportra terjedje ki.

AWS-identitás létrehozása

Ahhoz, hogy a Terraform erőforrásokat hozzon létre az AWS-ben, létre kell hoznunk egy új AWS IAM-szerepkört a megfelelő engedélyekkel, és konfigurálnunk kell a Terraformot a használatukhoz.

  1. Bejelentkezés az AWS felügyeleti konzolra

  2. Bejelentkezés után válassza a Szolgáltatások legördülő listát a bal felső sarokban. A Biztonság, identitás és megfelelőség területen válassza az IAM lehetőséget az identitás- és hozzáférés-kezelési lap eléréséhez

    A screenshot of an AWS cloud console.

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

  3. Kattintson a bal oldali menü Felhasználók elemére, majd válassza a Felhasználó hozzáadása lehetőséget egy új IAM-felhasználó létrehozásához.

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

  4. A Felhasználó hozzáadása lapon adja meg a felhasználó Terraform nevét, és jelölje be a Programozott hozzáférés jelölőnégyzetet, majd kattintson a Tovább gombra.

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

  5. Az Engedélyek beállítása lapon válassza a Meglévő szabályzatok közvetlen csatolása, majd az AmazonEC2FullAccess melletti jelölőnégyzetet a képernyőképen látható módon, majd válassza a Tovább gombot.

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

  6. A Címkék lapon rendeljen hozzá egy címkét egy kulccsalazure-arc-demo, majd a Tovább gombra kattintva lépjen a Véleményezés lapra.

    A screenshot of tags in an AWS cloud console.

  7. Ellenőrizze, hogy minden rendben van-e, és ha elkészült, válassza a Felhasználó létrehozása lehetőséget.

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

  8. A felhasználó létrehozása után megjelenik a felhasználó hozzáférési kulcsának azonosítója és titkos hozzáférési kulcsa. Másolja ki ezeket az értékeket a Bezárás lehetőség kiválasztása előtt. A következő lapon láthat egy példát arra, hogy ennek hogyan kell kinéznie. Ha már rendelkezik ezekkel a kulcsokkal, a Terraform segítségével AWS-erőforrásokat hozhat létre.

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

A Terraform konfigurálása

A Terraform-terv végrehajtása előtt exportálnia kell a terv által használt környezeti változókat. Ezek a változók az Azure-előfizetésen és -bérlőn, az Azure szolgáltatásnéven, valamint az imént létrehozott AWS IAM-felhasználón és kulcsokon alapulnak.

  1. A parancs használatával kérje le az Azure-előfizetés azonosítóját és bérlőazonosítóját az account list .

  2. A Terraform-csomag erőforrásokat hoz létre a Microsoft Azure-ban és az AWS-ben is. Ezután végrehajt egy szkriptet egy AWS EC2 virtuális gépen az Azure Arc-ügynök és az összes szükséges összetevő telepítéséhez. Ez a szkript bizonyos információkat igényel az AWS-ről és az Azure-környezetekről. Szerkessze scripts/vars.sh és frissítse az egyes változókat a megfelelő értékekkel.

    • TF_VAR_subscription_id = az Azure-előfizetés azonosítója
    • TF_VAR_client_id = az Azure-szolgáltatásnév alkalmazásazonosítója
    • TF_VAR_client_secret = az Azure-szolgáltatásnév jelszava
    • TF_VAR_tenant_id = az Azure-bérlő azonosítója
    • AWS_ACCESS_KEY_ID = AWS hozzáférési kulcs
    • AWS_SECRET_ACCESS_KEY = AWS titkos kulcs
  3. Az Azure CLI-ben keresse meg a azure_arc_servers_jumpstart/aws/ubuntu/terraform klónozott adattár könyvtárát.

  4. Exportálja a módosított scripts/vars.sh környezeti változókat a forrásparancs futtatásával, az alább látható módon. A Terraform megköveteli, hogy ezeket be kell állítani a terv megfelelő végrehajtásához. Vegye figyelembe, hogy ezt a szkriptet a Rendszer automatikusan távolról is végrehajtja az AWS virtuális gépen a Terraform-telepítés részeként.

    source ./scripts/vars.sh
    
  5. Győződjön meg arról, hogy az SSH-kulcsok elérhetők a ~/.ssh-ban, és elnevezték és id_rsaelneveztékid_rsa.pub. Ha követte a ssh-keygen fenti útmutatót a kulcs létrehozásához, akkor ezt már megfelelően be kell állítania. Ha nem, előfordulhat, hogy módosítania main.tf kell, hogy egy másik elérési úttal rendelkező kulcsot használjon.

  6. Futtassa azt a terraform init parancsot, amely letölti a Terraform AzureRM-szolgáltatót.

    A screenshot of the terraform init command.

Üzembe helyezés

  1. Futtassa a terraform apply --auto-approve parancsot, és várja meg, amíg a terv befejeződik. A befejezés után üzembe helyez egy AWS Amazon Linux 2 EC2-példányt, és új Azure Arc-kompatibilis kiszolgálóként csatlakozik egy új erőforráscsoporton belül.

  2. Nyissa meg az Azure Portalt, és keresse meg az arc-aws-demo erőforráscsoportot. Az AWS-ben létrehozott virtuális gép erőforrásként lesz látható.

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

    A screenshot of AWS console displaying EC2 instances.

Félautomata üzembe helyezés (nem kötelező)

Mint bizonyára észrevette, a futtatás utolsó lépéseként regisztrálja a virtuális gépet egy új Azure Arc-kompatibilis kiszolgálói erőforrásként.

A screenshot of the azcmagent connect command.

Ha le szeretné demózni/szabályozni a tényleges regisztrációs folyamatot, tegye a következőket:

  1. install_arc_agent.sh.tmpl A szkriptsablonban megjegyzést fűzhet a run connect command szakaszhoz, és mentheti a fájlt.

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

  2. Futtassa az AWS virtuális gép terraform outputnyilvános IP-címét.

    A screenshot of output from Terraform.

  3. A virtuális gép SSH-t használ a ssh ubuntu@xx.xx.xx.xxxx.xx.xx.xx gazda IP-címével.

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

  4. Az összes környezeti változó exportálása a következőben: vars.sh.

    A screenshot of exported environment variables in vars.sh.

  5. Futtassa az alábbi parancsot:

    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. Ha elkészült, a virtuális gép regisztrálva lesz az Azure Arcban, és látható lesz az erőforráscsoportban az Azure Portalon keresztül.

Az üzembe helyezés törlése

A bemutató részeként létrehozott összes erőforrás törléséhez használja az terraform destroy --auto-approve alábbi parancsot.

A screenshot of the terraform destroy command.

Másik lehetőségként törölheti az AWS EC2-példányt közvetlenül az AWS-konzolról való törléssel. Vegye figyelembe, hogy a példány tényleges eltávolítása néhány percet vesz igénybe.

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

Ha manuálisan törli a példányt, akkor a Terraform-terv által létrehozott példányt is törölnie *./scripts/install_arc_agent.shkell.