Terraform planı kullanarak Amazon Elastic Compute Cloud'da bir Amazon Linux 2 örneği dağıtma ve Azure Arc'a bağlama
Bu makalede, sağlanan Terraform planını kullanarak bir Amazon Web Services (AWS) Amazon Elastic Compute Cloud (EC2) Linux 2 örneği dağıtmak ve bunu Azure Arc özellikli bir sunucu kaynağı olarak bağlamak için yönergeler sağlanmaktadır.
Önkoşullar
Azure Arc Jumpstart deposunu kopyalayın.
git clone https://github.com/microsoft/azure_arc.git
Azure CLI'yi yükleyin veya güncelleştirin. Azure CLI 2.7.0 veya sonraki bir sürümü çalıştırıyor olmalıdır. Geçerli yüklü sürümünüzü denetlemek için kullanın
az --version
.SSH anahtarı oluşturma (veya mevcut SSH anahtarını kullanma)
Azure hizmet sorumlusu oluşturma.
AWS sanal makinesini Azure Arc'a bağlamak için Katkıda Bulunan rolüyle atanmış bir Azure hizmet sorumlusu gereklidir. Oluşturmak için Azure hesabınızda oturum açın ve aşağıdaki komutları çalıştırın:
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>"
Örneğin:
az ad sp create-for-rbac -n "http://AzureArcAWS" --role contributor --scopes "/subscriptions/00000000-0000-0000-0000-000000000000"
Çıkış şu şekilde görünmelidir:
{ "appId": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX", "displayName": "http://AzureArcAWS", "password": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX", "tenant": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX" }
Dekont
Hizmet sorumlusunu belirli bir Azure aboneliği ve kaynak grubuyla kapsamanızı kesinlikle öneririz.
AWS kimliği oluşturma
Terraform'un AWS'de kaynak oluşturabilmesi için uygun izinlere sahip yeni bir AWS IAM rolü oluşturmamız ve Terraform'u bunu kullanacak şekilde yapılandırmamız gerekir.
AWS yönetim konsolunda oturum açma
Oturum açtıktan sonra sol üstteki Hizmetler açılan listesini seçin. Güvenlik, Kimlik ve Uyumluluk altında, kimlik ve erişim yönetimi sayfasına erişmek için IAM'yiseçin
Soldaki menüden Kullanıcılar'a tıklayın ve ardından Yeni bir IAM kullanıcısı oluşturmak için Kullanıcı ekle'yi seçin.
Kullanıcı Ekle sayfasında kullanıcıyı adlandırın
Terraform
ve Programlı Erişim onay kutusunu seçin ve ardından İleri'yi seçinİzinleri Ayarla sayfasında Var olan ilkeleri doğrudan ekle'yi seçin ve ardından ekran görüntüsünde görüldüğü gibi AmazonEC2FullAccess'in yanındaki kutuyu seçin ve ardından İleri'yi seçin.
Etiketler sayfasında, anahtarıyla bir etiket atayın
azure-arc-demo
ve ardından gözden geçirme sayfasına gitmek için İleri'yi seçin.Her şeyin doğru olduğunu doğrulayın, ardından Kullanıcı oluştur'u seçin.
Kullanıcı oluşturulduktan sonra kullanıcının erişim anahtarı kimliğini ve gizli dizi erişim anahtarını görürsünüz. Kapat'ı seçmeden önce bu değerleri aşağı kopyalayın. Sonraki sayfada, bunun nasıl görünmesi gerektiğini gösteren bir örnek görebilirsiniz. Bu anahtarlara sahip olduktan sonra bunları Terraform ile kullanarak AWS kaynakları oluşturabilirsiniz.
Terraform'ı yapılandırma
Terraform planını yürütmeden önce, plan tarafından kullanılacak ortam değişkenlerini dışarı aktarmanız gerekir. Bu değişkenler Azure aboneliğinizi ve kiracınızı, Azure hizmet sorumlusunu ve yeni oluşturduğunuz AWS IAM kullanıcısını ve anahtarlarını temel alır.
komutunu kullanarak
az account list
Azure abonelik kimliğinizi ve kiracı kimliğinizi alın.Terraform planı hem Microsoft Azure hem de AWS'de kaynaklar oluşturur. Ardından Azure Arc aracısını ve tüm gerekli yapıtları yüklemek için AWS EC2 sanal makinesinde bir betik yürütür. Bu betik, AWS ve Azure ortamlarınız hakkında belirli bilgiler gerektirir. Değişkenlerin her birini uygun değerlerle düzenleyin
scripts/vars.sh
ve güncelleştirin.TF_VAR_subscription_id
= Azure abonelik kimliğinizTF_VAR_client_id
= Azure hizmet sorumlusu uygulama kimliğinizTF_VAR_client_secret
= Azure hizmet sorumlusu parolanızTF_VAR_tenant_id
= Azure kiracı kimliğinizAWS_ACCESS_KEY_ID
= AWS erişim anahtarıAWS_SECRET_ACCESS_KEY
= AWS gizli anahtarı
Azure CLI'dan kopyalanan deponun dizinine
azure_arc_servers_jumpstart/aws/al2/terraform
gidin.Aşağıda gösterildiği gibi kaynak komutuyla çalıştırarak
scripts/vars.sh
düzenlediğiniz ortam değişkenlerini dışarı aktarın. Terraform, planın düzgün yürütülmesi için bunların ayarlanmasını gerektirir. Bu betiğin Terraform dağıtımının bir parçası olarak AWS sanal makinesinde de otomatik olarak yürütüleceğini unutmayın.source ./scripts/vars.sh
SSH anahtarlarınızın içinde
~/.ssh
ve olarak adlandırıldığındanid_rsa.pub
id_rsa
emin olun. Anahtarınızı oluşturmak için yukarıdaki kılavuzu izlediysenizssh-keygen
, bu zaten doğru ayarlanmış olmalıdır. Aksi takdirde, farklı bir yola sahip bir anahtar kullanmak için değiştirmenizmain.tf
gerekebilir.terraform init
Terraform AzureRM sağlayıcısını indirecek komutu çalıştırın.
Dağıtım
terraform apply --auto-approve
komutunu çalıştırın ve planın tamamlanmasını bekleyin. Tamamlandıktan sonra, yeni bir kaynak grubu içinde yeni bir Azure Arc özellikli sunucu olarak dağıtılan ve bağlanan bir AWS Amazon Linux 2 EC2 örneğine sahip olacaksınız.Azure portalını açın ve kaynak grubuna
arc-servers-demo
gidin. AWS'de oluşturulan sanal makine kaynak olarak görünür.
Yarı otomatik dağıtım (isteğe bağlı)
Fark etmiş olabileceğiniz gibi, çalıştırmanın son adımı VM'yi yeni bir Azure Arc özellikli sunucu kaynağı olarak kaydetmektir.
Gerçek kayıt işleminin tanıtımını yapmak/denetlemek istiyorsanız aşağıdakileri yapın:
Betik şablonunda
install_arc_agent.sh.tmpl
bölümü açıklama satırı yapınrun connect command
ve dosyayı kaydedin.komutunu çalıştırarak
terraform output
AWS VM'sinin genel IP'sini alın.SSH'yi kullanarak
ssh ec2-user@xx.xx.xx.xx
VM'ye geçin. Buradaxx.xx.xx.xx
ana bilgisayar IP'sini kullanır.içindeki tüm ortam değişkenlerini dışarı aktarma
vars.sh
Şu komutu çalıştırın:
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
Tamamlandığında VM'niz Azure Arc'a kaydedilir ve Azure portalı aracılığıyla kaynak grubunda görünür.
Dağıtımı silme
Bu tanıtım kapsamında oluşturduğunuz tüm kaynakları silmek için aşağıda gösterildiği gibi komutunu kullanın terraform destroy --auto-approve
.
Alternatif olarak AWS EC2 örneğini AWS konsolundan sonlandırarak doğrudan silebilirsiniz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin