Se o comando terraform init atingir o tempo limite devido a fatores como latência de rede, problemas como a impossibilidade de baixar providers podem ocorrer. Para resolver esses problemas, especifique o site de imagens open source da Alibaba Cloud.
Problema
É possível baixar o provider da Alibaba Cloud das seguintes fontes: source = hashicorp/alicloud e source = aliyun/alicloud. No entanto, ao baixar o provider na China, você pode enfrentar velocidades lentas ou falhas no download:
- Finding aliyun/alicloud versions matching "1.191.0"...
╷
│ Error: Failed to query available provider packages
│
│ Could not retrieve the list of available versions for provider aliyun/alicloud: could not query provider registry for registry.terraform.io/aliyun/alicloud: the request
│ failed after 2 attempts, please try again later: Get "https://registry.terraform.io/v1/providers/aliyun/alicloud/versions": net/http: request canceled (Client.Timeout
│ exceeded while awaiting headers)
╵
- Finding hashicorp/alicloud versions matching "1.191.0"...
╷
│ Error: Failed to query available provider packages
│
│ Could not retrieve the list of available versions for provider hashicorp/alicloud: could not query provider registry for registry.terraform.io/hashicorp/alicloud: the
│ request failed after 2 attempts, please try again later: Get "https://registry.terraform.io/v1/providers/hashicorp/alicloud/versions": context deadline exceeded
│ (Client.Timeout exceeded while awaiting headers)
╵
Solução
O Terraform CLI V0.13.2 e versões posteriores permitem configurar imagens de rede. Para solucionar os problemas mencionados, o provider da Alibaba Cloud oferece um serviço de imagens que ajuda usuários na China a baixar imagens com maior rapidez.
Método de configuração
Crie um arquivo de configuração chamado .terraformrc ou terraform.rc. A localização do arquivo varia conforme o sistema operacional do seu host.
Em sistemas operacionais Windows, o arquivo deve ser nomeado como
terraform.rce armazenado no diretório%APPDATA%do usuário. O diretório específico varia conforme a versão do Windows e as configurações do sistema. Execute o comando$env:APPDATAno PowerShell para localizar o diretório do arquivo no seu sistema operacional.Em todos os outros sistemas operacionais, o arquivo deve ser nomeado como
.terraformrce armazenado no diretório home do usuário correspondente.
Também é possível usar a variável de ambiente TF_CLI_CONFIG_FILE para especificar o diretório do arquivo de configuração para o Terraform CLI. O arquivo de configuração deve seguir o formato de nomenclatura *.tfrc.
Se você utiliza macOS, crie um arquivo chamado .terraformrc no diretório home. O arquivo deve conter o seguinte conteúdo:
provider_installation {
network_mirror {
url = "https://mirrors.aliyun.com/terraform/"
// Only Alibaba Cloud-related providers can be downloaded from image sources in the Chinese mainland.
include = ["registry.terraform.io/aliyun/alicloud",
"registry.terraform.io/hashicorp/alicloud",
]
}
direct {
// All providers except Alibaba Cloud-related providers maintain the original download links.
exclude = ["registry.terraform.io/aliyun/alicloud",
"registry.terraform.io/hashicorp/alicloud",
]
}
}
Instruções
Leia o conteúdo em inglês para compreender O QUE precisa ser comunicado
Escreva o texto em português do Brasil DO ZERO — esqueça a estrutura das frases em inglês
Preserve toda a formatação markdown, blocos de código, links e imagens exatamente como estão
Tags xref (
<a data-tag="xref" ...>text</a>) — preserve a tag INTEIRA com todos os atributos na ordem e caixa originais, traduza APENAS o texto visível entre > eAplique todas as regras específicas de idioma rigorosamente
Aplique as regras de stopwords com tolerância zero
Use o modo imperativo em passos numerados e listas de procedimentos
Garanta a consistência terminológica — o mesmo termo deve ter a mesma tradução em todo o documento
Varie os inícios de frase em listas e tabelas — nenhum início deve se repetir mais de 3 vezes
Retorne APENAS o documento markdown em português do Brasil, sem explicações