Menggunakan paket Terraform untuk menyebarkan instans Amazon Linux 2 di Amazon Elastic Compute Cloud dan menyambungkannya ke Azure Arc
Artikel ini memberikan panduan untuk menggunakan paket Terraform yang disediakan untuk menyebarkan instans Amazon Web Services (AWS) Amazon Elastic Compute Cloud (EC2) Linux 2 dan menghubungkannya sebagai sumber daya server berkemampuan Azure Arc.
Prasyarat
Kloning repositori Azure Arc Jumpstart.
git clone https://github.com/microsoft/azure_arc.git
Pasang atau perbarui Azure CLI. Azure CLI harus menjalankan versi 2.7.0 atau yang lebih baru. Gunakan
az --version
untuk memeriksa versi yang Anda pasang saat ini.Membuat kunci SSH (atau menggunakan kunci SSH yang ada)
Membuat Prinsipal Layanan Azure.
Untuk menghubungkan mesin virtual AWS ke Azure Arc, diperlukan perwakilan layanan Azure yang ditetapkan dengan peran Kontributor. Untuk membuatnya, masuk ke akun Azure Anda dan jalankan perintah berikut:
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>"
Misalnya:
az ad sp create-for-rbac -n "http://AzureArcAWS" --role contributor --scopes "/subscriptions/00000000-0000-0000-0000-000000000000"
Output akan terlihat seperti ini:
{ "appId": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX", "displayName": "http://AzureArcAWS", "password": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX", "tenant": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX" }
Catatan
Kami sangat menyarankan agar Anda memasukkan prinsipal layanan ke langganan Azure dan grup sumber daya tertentu.
Membuat identitas AWS
Agar Terraform dapat membuat sumber daya di AWS, kita perlu membuat peran AWS IAM baru dengan izin yang sesuai dan mengonfigurasi Terraform untuk menggunakannya.
Masuk ke konsol manajemen AWS
Setelah masuk, pilih daftar dropdown Layanan di kiri atas. Di bawah Keamanan, Identitas, dan Kepatuhan, pilih IAM untuk mengakses halaman manajemen identitas dan akses
Klik Pengguna dari menu kiri, lalu pilih Tambahkan pengguna untuk membuat pengguna IAM baru.
Di halaman Tambahkan Pengguna, beri nama pengguna
Terraform
dan pilih kotak centang Akses Terprogram, lalu pilih BerikutnyaPada halaman Atur Izin, pilih Lampirkan kebijakan yang ada secara langsung lalu pilih kotak di samping AmazonEC2FullAccess seperti yang terlihat di tangkapan layar, lalu pilih Berikutnya.
Di halaman Tag, tetapkan tag dengan kunci
azure-arc-demo
, lalu pilih Berikutnya untuk melanjutkan ke halaman ulasan.Verifikasi bahwa semuanya sudah benar, lalu pilih Buat pengguna.
Setelah pengguna dibuat, Anda akan melihat ID kunci akses pengguna dan kunci akses rahasia. Salin nilai-nilai ini sebelum memilih Tutup. Di halaman berikutnya, Anda dapat melihat contoh seperti apa tampilannya seharusnya. Setelah anda memiliki kunci-kunci ini, anda akan dapat menggunakannya dengan Terraform untuk membuat sumber daya AWS.
Mengonfigurasi Terraform
Sebelum menjalankan rencana Terraform, Anda harus mengekspor variabel lingkungan yang akan digunakan oleh paket. Variabel ini didasarkan pada langganan dan penyewa Azure Anda, perwakilan layanan Azure, dan pengguna AWS IAM serta kunci yang baru saja Anda buat.
Ambil ID langganan Azure dan ID penyewa Anda menggunakan perintah
az account list
.Paket Terraform menciptakan sumber daya di Microsoft Azure dan AWS. Kemudian menjalankan skrip pada mesin virtual AWS EC2 untuk menginstal agen Azure Arc dan semua artefak yang diperlukan. Skrip ini memerlukan informasi tertentu tentang lingkungan AWS dan Azure Anda. Edit
scripts/vars.sh
dan perbarui setiap variabel dengan nilai yang sesuai.TF_VAR_subscription_id
= ID langganan Azure AndaTF_VAR_client_id
= ID aplikasi perwakilan layanan Azure AndaTF_VAR_client_secret
= kata sandi perwakilan layanan Azure AndaTF_VAR_tenant_id
= ID penyewa Azure AndaAWS_ACCESS_KEY_ID
= kunci akses AWSAWS_SECRET_ACCESS_KEY
= Kunci rahasia AWS
Dari Azure CLI, navigasikan ke direktori
azure_arc_servers_jumpstart/aws/al2/terraform
repositori yang dikloning.Ekspor variabel lingkungan yang Anda edit dengan menjalankan
scripts/vars.sh
dengan perintah sumber seperti yang ditunjukkan di bawah. Terraform mengharuskan variabel ini diatur agar rencana dapat dijalankan dengan benar. Perhatikan bahwa skrip ini juga akan dieksekusi secara otomatis dari jarak jauh pada mesin virtual AWS sebagai bagian dari penyebaran Terraform.source ./scripts/vars.sh
Pastikan kunci SSH Anda tersedia di dalam
~/.ssh
dan bernamaid_rsa.pub
danid_rsa
. Jika Anda mengikuti panduanssh-keygen
di atas untuk membuat kunci Anda maka ini seharusnya sudah diatur dengan benar. Jika tidak, Anda mungkin perlu memodifikasimain.tf
untuk menggunakan kunci dengan jalur yang berbeda.Jalankan perintah
terraform init
yang akan mengunduh penyedia Terraform AzureRM.
Penyebaran
Jalankan perintah
terraform apply --auto-approve
dan tunggu paket selesai. Setelah selesai, Anda akan memiliki instans AWS Amazon Linux 2 EC2 yang disebarkan dan dihubungkan sebagai server berkemampuan Azure Arc baru di dalam grup sumber daya baru.Buka portal Azure dan navigasikan ke grup sumber daya
arc-servers-demo
. Mesin virtual yang dibuat di AWS akan terlihat sebagai sumber daya.
Penyebaran semi otomatis (opsional)
Seperti yang mungkin Anda perhatikan, langkah terakhir dari eksekusi ini adalah mendaftarkan VM sebagai sumber daya server berkemampuan Azure Arc yang baru.
Jika Anda ingin mendemo/mengontrol proses pendaftaran yang sebenarnya, lakukan hal berikut:
Di templat skrip
install_arc_agent.sh.tmpl
, komentari bagianrun connect command
dan simpan file.Dapatkan IP publik AWS VM dengan menjalankan
terraform output
.SSH ke VM menggunakan
ssh ec2-user@xx.xx.xx.xx
, yang manaxx.xx.xx.xx
merupakan IP host.Mengekspor semua variabel lingkungan di
vars.sh
Jalankan perintah berikut:
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
Setelah selesai, VM Anda akan terdaftar di Azure Arc dan terlihat di grup sumber daya melalui portal Azure.
Menghapus penyebaran
Untuk menghapus semua sumber daya yang Anda buat sebagai bagian dari demo ini, gunakan perintah terraform destroy --auto-approve
seperti yang ditunjukkan di bawah ini.
Atau, Anda dapat menghapus instans AWS EC2 secara langsung dengan mengakhirinya dari konsol AWS.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk