Aracılığıyla paylaş


Terraform için Azure Dışarı Aktarma Nasıl Çalışır?

Bu makalede Terraform için Azure Dışarı Aktarma iş akışları tanıtabilirsiniz. Bu makalede aracın en iyi uygulama kılavuzu, geçerli sınırlamalar ve bu sınırlamaların nasıl azaltılması gerektiğini öğreneceksiniz.

Etkileşimli mod

Varsayılan olarak Terraform için Azure Dışarı Aktarma etkileşimli modda çalışır. Etkileşimli modda çalıştırdığınızda, kullanılabilir klavye kısayolları ekranın en altında listelenir.

Görev Klavye kısayolu
Gezinti
Kaynak listesinde önceki öğeyi seçin. ↑ -veya- k
Kaynak listesinde sonraki öğeyi seçin. ↓ -veya- j
Kaynak listesinde önceki sayfaya gitme. ← -veya- h -veya- Page Up
Kaynak listesinde sonraki sayfaya gitme. → -veya- l -veya- Page Down
Kaynak listesinin başlangıcına atlayın. g -veya- Giriş
Kaynak listesinin sonuna atlayın. G -veya- Ucu
Atlanması gereken kaynakları seçme
Kaynağı atla (veya "Atla" olarak işaretlenmişse kaldır) Sil
Filtreleme işlemleri
Kaynak listesinde metne göre filtre tanımlama. /
Geçerli filtreyi temizleme Esc
İşlemleri kaydetme
Kaynak listesinin eşleme dosyasını kaydedin. Çıkış dosyası atlanmaktan etkilenir (ancak filtrelenmez). s
Kaynakları durum olarak dışarı aktarın (belirtilmezse --hcl-only ) ve yapılandırmayı oluşturur. W
Kullanıcı deneyimi
Geçerli kaynak için önerileri görüntüleme. R
Kaynak dışarı aktarma hatalarını göster (varsa). E
Yardımı görüntüleme. ?
Bırak
Etkileşimli moddan çıkın. S

Her kaynak için Terraform için Azure Dışarı Aktarma, karşılık gelen Terraform kaynak türünü tanımaya çalışır. Eşleşme bulursa, çizgi şu göstergeyle işaretlenir: 💡.

Kaynak çözümlenemiyorsa Terraform kaynak adresini şu biçimde girmeniz gerekir: <resource type>.<resource name>. Örneğin, azurerm_linux_virtual_machine.test azurerm_linux_virtual_machinetest Terraform kaynak türüne, yapılandırma dosyalarında kullanılan sanal makinenin adına başvurur.

Seçili kaynağın kullanılabilir kaynak türlerini görmek için r tuşuna basın.

Bazı durumlarda, kaynakta Terraform desteği olmaması gibi karşılık gelen Terraform kaynakları olmayan Azure kaynakları vardır. Bazı kaynaklar, sanal makine sağlanırken oluşturulan işletim sistemi Diski kaynağı gibi başka bir kaynak sağlamanın yan etkisi olarak da oluşturulabilir. Böyle durumlarda, hiçbir şey atamadan kaynakları atlayabilirsiniz.

İçeri aktarılacak tüm kaynakları gözden geçirdikten sonra Terraform yapılandırmasını oluşturmaya başlamak ve (seçili değilse--hcl-only) Terraform durumuna içeri aktarmaya başlamak için w tuşuna basın.

Etkileşimli olmayan mod

Varsayılan olarak Terraform için Azure Dışarı Aktarma etkileşimli modda çalışır. Aracın etkileşimli olmayan modda çalıştırılması gerektiğini belirtmek için bayrağını --non-interactive belirtin.

aztfexport [command] --non-interactive <scope>

Önemli

Terraform için Azure Dışarı Aktarma'yı çalıştırdığınız dizin boş değilse bayrağını kullanmak --hcl-only için bayrağı eklemeniz --overwrite gerekir.

Temel iş akışlarıyla ilgili en iyi yöntemler

Temel düzeyde, Azure Dışarı Aktarma'nın tüm kullanıcıları iki seçenek arasında bir kararla karşı karşıyadır:

Aşağıdaki alt bölümler, senaryoya göre hangi seçeneğin seçildiğine ilişkin rehberlik sağlar.

Altyapıyı yönetme

Yapılandırılan kaynakların ortamınızda istenen şekilde davrandığını doğrulamadıysanız durum olarak dışarı aktarmanız gerekmeyebilir.

Terraform'daki kaynak kümesini iş akışlarıyla terraform init plan apply yönetmek istediğinizden eminseniz, duruma dışarı aktarma önemlidir.

Kaynakları henüz yönetmek istediğinizden emin değilseniz bayrağı geçirmeniz --hcl-only önerilir.

Mevcut altyapı

Mevcut Terraform ortamlarına aktardığınız senaryolarda, özellikle mevcut ortamlara eklemeden önce terraform planı eşdeğeri olarak düşünmek --hcl-only yararlı olabilir.

terraform apply komutu, yapılandırmalarının önceden var olan duruma bağlandığı kaynakları dışarı aktarmaya eşit hale getirir. Bu senaryoda, eşleme dosyası kullanmak kaynakları listelemek ve eşlemek için çalışma zamanından tasarruf sağlar.

Altyapıyı bulma

Bir ortamda hangi kaynakların mevcut olduğundan emin değilseniz bayrağını --generate-mapping-file belirterek doğrulayabilirsiniz. Bu konu hakkında daha fazla bilgi için bkz . Terraform için Azure Dışarı Aktarma kullanarak özelleştirilmiş kaynak seçimini ve adlandırmayı keşfetme.

Sınırlamalar

Terraform için Azure Export, Azure altyapısını Terraform koduna ve durumuna dönüştürmeye çalışan karmaşık bir araçtır. Geçerli bilinen sınırlamaları aşağıdaki alt bölümlerde açıklanmıştır.

Salt yazma özellikleri

AzureRM'deki bazı özellikler salt okunur olur ve Terraform için Azure Dışarı Aktarma'nın oluşturduğu oluşturulan koda dahil değildir. Bu sorun, HCL koduna dışarı aktarıldıktan sonra özelliği tanımlanarak giderilir.

Özellikler arası kısıtlamalar

AzureRM sağlayıcısı birbiriyle çakışan iki özellik ayarlayabilir. Terraform için Azure Dışarı Aktarma çakışan özellikleri okuduğunda, kullanıcının yalnızca bir tane yapılandırmasına rağmen her iki özelliği de aynı değere ayarlayabilir. Aynı oluşturulan yapılandırmada birden çok özellik arası kısıtlama mevcut olduğunda daha fazla komplikasyon ortaya çıkar. Bu sorunu azaltmak için yapılandırmanızda çapraz özellik çakışmalarının nerede olduğunu bilmeniz gerekir.

Kaynak kapsamı dışındaki altyapı

Kaynak kapsamlarını hedeflemek için Terraform için Azure Dışarı Aktarma'yı kullanırken, yapılandırma için gereken kaynaklar belirtilen kapsamın dışında olabilir. Örneklerden biri rol atamasıdır. Kullanıcının kapsamın dışında olan kaynakları tanımlaması gerekir.

Salt yazma özellikleri

Azure Dışarı Aktarma, yapılandırması içinde yalnızca yazma özellikleri (parolalar gibi) oluşturamaz. Yeni kaynak kümeleri oluşturmak için salt yazma özellikleri hakkında bilgi sahibi olmanız ve bunları bir yapılandırmada tanımlamanız gerekir.

Kodu kodlama standartlarına uyacak şekilde değiştirme

Kullanıcı kodunu kodlama standartlarına uyacak şekilde değiştirmek isterse birkaç gerekli işlem vardır. Bu adımlar yalnızca kullanıcı kodu gelen kutusu olmayan ortamlarda kullanmayı planlıyorsa gerekli olacaktır.

Özellik tanımlı kaynaklar

Azure'daki bazı kaynaklar üst Terraform kaynağındaki bir özellik veya tek bir Terraform kaynağı olarak tanımlanabilir. Bir örnek alt ağdır. Terraform için Azure Export, kaynağı tek bir kaynak olarak tanımlar, ancak mevcut kodlama yapılandırmanızla eşleştirmek en iyi yöntemdir.

Açık bağımlılıklar

Terraform için Azure Export şu anda yalnızca açık bağımlılıkları bildirebiliyor. Kodu gerekli örtük bağımlılıkları içerecek şekilde yeniden düzenlemek için kaynaklar arasındaki ilişkilerin eşlemesini bilmeniz gerekir.

Sabit kodlanmış değerler

Terraform için Azure Export şu anda sabit kodlanmış dizeler oluşturur. En iyi yöntem olarak, bu değerleri değişkenlere göre yeniden düzenlemeniz gerekir. Ayrıca, bayrağını --full-properties tüm özellikleri kullanıma sunarken kullandığınızda, oluşturulan yapılandırmada bazı hassas bilgiler (gizli diziler gibi) görülebilir. Bu kodun görünürlüğünü korumak için önerilen uygulamaları kullanın.

Sonraki adımlar