Megosztás a következőn keresztül:


Terraform-csomag használata Amazon Linux 2-példány üzembe helyezéséhez az Amazon Elastic Compute Cloudon, és csatlakoztassa az Azure Archoz

Ez a cikk útmutatást nyújt az Amazon Web Services (AWS) Amazon Elastic Compute Cloud (EC2) Linux 2-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. Az Azure CLI-nek a 2.7.0-s vagy újabb verziót kell futtatnia. A jelenlegi telepített verzió ellenőrzésére használható 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ő parancsokat:

    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 the AWS cloud console.

    A screenshot of an identity and access management 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 how to create 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 válassza a Tovább gombot

    Second screenshot of how to create 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 how to create 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 tovább a felülvizsgálati lapra.

    A screenshot of tags in an AWS cloud console.

  7. Ellenőrizze, hogy minden helyes-e, majd válassza a Felhasználó létrehozása lehetőséget.

    Fourth screenshot of how to create a new 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. A Bezárás lehetőség kiválasztása előtt másolja le ezeket az értékeket. 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/al2/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 ~/.ssh és elnevezettekid_rsa.pub.id_rsa 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-servers-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.

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 of the azcmagent connect command commented out.

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

    A screenshot of output from Terraform.

  3. SSH a virtuális géphez a ssh ec2-user@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ő helyen: vars.sh

    A screenshot of exported environment variables in var.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-Servers-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. A screenshot of how to terminate an instance in the AWS console.