Memecahkan masalah penerapan Terraform - AWS Transfer Family

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Memecahkan masalah penerapan Terraform

Bagian ini menjelaskan kemungkinan solusi untuk masalah yang terkait dengan penerapan sumber daya Transfer Family menggunakan Terraform. Untuk informasi umum tentang modul Terraform untuk Transfer Family, lihat. Modul Transfer Family Terraform

Memecahkan masalah kegagalan pembuatan sumber daya Terraform

Deskripsi

Saat mencoba membuat sumber daya Transfer Family menggunakan Terraform, Anda mengalami kesalahan seperti:

Error: error creating Transfer Server: InvalidRequestException: The request is not valid. Error: error creating Transfer User: InvalidRequestException: Unable to create the user because the server endpoint type is incompatible with the home directory type.

Menyebabkan

Kesalahan ini biasanya terjadi karena parameter konfigurasi yang tidak kompatibel atau dependensi yang hilang dalam konfigurasi Terraform Anda. Penyebab umum meliputi:

  • Jenis titik akhir dan konfigurasi penyimpanan yang tidak kompatibel

  • Tidak ada peran atau kebijakan IAM yang diperlukan

  • Spesifikasi kebijakan keamanan yang salah

  • Masalah konfigurasi titik akhir VPC

Solusi

Untuk mengatasi masalah penerapan Terraform:

  • Pastikan konfigurasi Terraform Anda menggunakan kombinasi parameter yang kompatibel:

    • Untuk titik akhir publik, pastikan Anda menggunakan Amazon S3 untuk penyimpanan.

    • Untuk titik akhir VPC, verifikasi konfigurasi VPC dan grup keamanan yang tepat.

  • Gunakan dependensi eksplisit dengan depends_on atribut untuk memastikan sumber daya dibuat dalam urutan yang benar.

  • Verifikasi bahwa semua peran IAM memiliki hubungan kepercayaan dan izin yang diperlukan.

  • Gunakan versi terbaru AWS penyedia untuk Terraform untuk memastikan kompatibilitas dengan semua fitur Transfer Family.

  • Untuk penerapan yang kompleks dan kasus penggunaan sederhana, pertimbangkan untuk menggunakan modul Transfer Family Terraform resmi yang tersedia di. GitHub https://github.com/aws-ia/terraform-aws-transfer-family Modul-modul ini memberikan contoh ekstensif yang mencakup kasus penggunaan pelanggan yang sederhana dan kompleks, mengikuti praktik AWS terbaik, dan dapat menyederhanakan penerapan bagi pelanggan yang membutuhkan bantuan dengan konfigurasi infrastruktur sebagai kode (IAc).

Memecahkan masalah manajemen status Terraform

Deskripsi

Setelah membuat perubahan pada sumber daya Transfer Family Anda di luar Terraform (melalui konsol atau AWS CLI), Anda mengalami penyimpangan status atau kesalahan saat menjalankan atau. terraform plan terraform apply

Menyebabkan

Terraform memelihara file status yang melacak sumber daya yang dikelolanya. Saat perubahan dilakukan di luar Terraform, file status menjadi tidak sinkron dengan sumber daya sebenarnya, menyebabkan kesalahan atau perilaku tak terduga selama operasi Terraform berikutnya.

Solusi

Untuk mengatasi masalah manajemen status Terraform dengan sumber daya Transfer Family:

  1. Gunakan terraform import untuk membawa sumber daya yang ada di bawah manajemen Terraform:

    terraform import <transfer_family_server.example> s-<server-id> terraform import <transfer_family_server.example> s-<server-id>/username
  2. Gunakan terraform refresh untuk memperbarui file status dengan infrastruktur dunia nyata saat ini

  3. Untuk sumber daya yang tidak dapat diimpor atau memiliki masalah status yang rumit, pertimbangkan terraform state rm untuk menggunakannya untuk menghapusnya dari file status, lalu buat ulang dengan Terraform

  4. Menerapkan kebijakan untuk mengelola sumber daya Transfer Family secara eksklusif melalui Terraform untuk mencegah pergeseran status di masa depan

  5. Gunakan penyimpanan status jarak jauh dengan penguncian untuk mencegah modifikasi bersamaan saat bekerja dalam tim