Jika perintah terraform init mengalami timeout karena faktor seperti latensi jaringan, masalah seperti ketidakmampuan mengunduh penyedia dapat terjadi. Untuk menyelesaikan masalah ini, Anda dapat menentukan situs web gambar open source Alibaba Cloud.
Masalah
Anda dapat mengunduh penyedia Alibaba Cloud dari sumber-sumber berikut: source = hashicorp/alicloud dan source = aliyun/alicloud. Anda mungkin mengalami kecepatan unduhan yang lambat atau kegagalan unduhan saat mengunduh penyedia di Tiongkok:
- Mencari versi aliyun/alicloud yang cocok dengan "1.191.0"...
╷
│ Error: Gagal meminta paket penyedia yang tersedia
│
│ Tidak dapat mengambil daftar versi yang tersedia untuk penyedia aliyun/alicloud: tidak dapat meminta registri penyedia untuk registry.terraform.io/aliyun/alicloud: permintaan
│ gagal setelah 2 percobaan, silakan coba lagi nanti: Dapatkan "https://registry.terraform.io/v1/providers/aliyun/alicloud/versions": net/http: permintaan dibatalkan (Client.Timeout
│ terlampaui saat menunggu header)
╵
- Mencari versi hashicorp/alicloud yang cocok dengan "1.191.0"...
╷
│ Error: Gagal meminta paket penyedia yang tersedia
│
│ Tidak dapat mengambil daftar versi yang tersedia untuk penyedia hashicorp/alicloud: tidak dapat meminta registri penyedia untuk registry.terraform.io/hashicorp/alicloud:
│ permintaan gagal setelah 2 percobaan, silakan coba lagi nanti: Dapatkan "https://registry.terraform.io/v1/providers/hashicorp/alicloud/versions": batas waktu konteks terlampaui
│ (Client.Timeout terlampaui saat menunggu header)
╵Solusi
Terraform CLI versi V0.13.2 dan yang lebih baru memungkinkan Anda mengonfigurasi gambar jaringan. Untuk menyelesaikan masalah tersebut, penyedia Alibaba Cloud menyediakan layanan gambar untuk membantu pengguna di Tiongkok mengunduh gambar dengan cepat.
Metode konfigurasi
Buat file konfigurasi bernama .terraformrc atau terraform.rc. Lokasi file bervariasi berdasarkan sistem operasi host Anda.
Pada sistem operasi Windows, file harus diberi nama
terraform.rcdan disimpan di direktori%APPDATA%pengguna. Direktori spesifik bervariasi berdasarkan versi Windows dan konfigurasi sistem. Anda dapat menjalankan perintah$env:APPDATAdi PowerShell untuk menemukan direktori file di sistem operasi Anda.Pada semua sistem operasi lainnya, file harus diberi nama
.terraformrcdan disimpan di direktori home pengguna terkait.
Anda juga dapat menggunakan variabel lingkungan TF_CLI_CONFIG_FILE untuk menentukan direktori file konfigurasi untuk Terraform CLI. File konfigurasi harus mengikuti format penamaan *.tfrc.
Jika Anda menggunakan macOS, buat file bernama .terraformrc di direktori home. File tersebut berisi konten berikut:
provider_installation {
network_mirror {
url = "https://mirrors.aliyun.com/terraform/"
// Hanya penyedia terkait Alibaba Cloud yang dapat diunduh dari sumber gambar di daratan Tiongkok.
include = ["registry.terraform.io/aliyun/alicloud",
"registry.terraform.io/hashicorp/alicloud",
]
}
direct {
// Semua penyedia kecuali penyedia terkait Alibaba Cloud mempertahankan tautan unduhan asli.
exclude = ["registry.terraform.io/aliyun/alicloud",
"registry.terraform.io/hashicorp/alicloud",
]
}
}