Amazon Web Services Amazon Elastic Compute Cloud örneğini dağıtmak ve Azure Arc'a bağlamak için Terraform planı kullanma
Bu makale, sağlanan Terraform planını kullanarak bir Amazon Web Services (AWS) Amazon Elastic Compute Cloud (EC2) örneği dağıtmak ve bunu Azure Arc özellikli bir sunucu kaynağı olarak bağlamak için rehberlik sağlar.
Önkoşullar
Azure Arc Jumpstart deposunu kopyalayın.
git clone https://github.com/microsoft/azure_arc.git
Azure CLI'yi 2.7 ve üzeri bir sürüme yükleyin veya güncelleştirin. Geçerli yüklü sürümünüzü denetlemek için aşağıdaki komutu 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 komutu çalıştırın. Bu komutu Azure Cloud Shell'de de çalıştırabilirsiniz.
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ı olan bir etiket atayın
azure-arc-demo
ve İleri'yi seçerek Gözden Geçir sayfasına geçin.Her şeyin doğru olduğundan emin olun ve Hazır olduğunuzda 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 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/ubuntu/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 ~/.ssh ve adlandırılmış
id_rsa
id_rsa.pub
ve içinde kullanılabilir olduğundan 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-aws-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.Konak IP'sinin
ssh ubuntu@xx.xx.xx.xx
neredexx.xx.xx.xx
olduğunu kullanarak VM'yi SSH olarak ayarlayın.içindeki
vars.sh
tüm ortam değişkenlerini dışarı aktarın.Ş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-aws-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. Örneğin gerçekten kaldırılmasının birkaç dakika süreceğini unutmayın.
Örneği el ile silerseniz Terraform planı tarafından oluşturulan öğesini de silmelisiniz *./scripts/install_arc_agent.sh
.
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