No ano passado, a AWS já havia informado que pretendia aumentar o tamanho dos IDs dos recursos relacionados a EC2 (instâncias, reservas, volumes e snapshots). Pois é, eles já liberaram essa opção no AWS Console (pode ser feito tanto pelo usuário IAM quanto pelo usuário Root). Essa opção permite que você teste a influência dos tamanhos dos IDs no seu ambiente atual e ajuste de acordo com as necessidades. Vamos supor que o controle sobre as suas instâncias seja feito guardando o ID das mesmas no Banco de Dados ou que você use algum script que utilize os IDs dos recursos. Em ambos os casos é possível validar agora, porque em dezembro de 2016 (a princípio) essa migração será feita de forma automática e obrigatória.
Por que a quantidade de caracteres dos IDs foi alterada de 8 para 17? A resposta é muito simples: a AWS tem crescido muito rápido, e por conta disso os IDs disponíveis estão próximos do limite. Para resolver esse problema, foi necessário adicionar mais caracteres aos identificadores.
Se você quiser optar pelo novo formato agora e começar a testá-lo (algo que eu aconselho se você utiliza esse ID em alguma ferramenta e/ou script) é só seguir os seguintes passos:
Habilitando a opção de IDs mais longos
AWS Console
Abra o AWS Console, faça login, selecione EC2 e clique em Resource ID length management.
Marque Use Longer IDs no recurso que quiser habilitar:
OBS: Se quiser desfazer o procedimento, é só seguir os passos anteriores e desmarcar a opção Use Longer IDs no recurso que quiser desabilitar.
AWS CLI
Abra o terminal e entre com o seguinte comando:
$ modify-id-format --resource instance --use-long-ids
Se quiser desabilitar, entre com este comando:
modify-id-format --resource instance --no-use-long-ids
OBS: Para fazer o mesmo com reservation, por exemplo, basta trocar instance por reservation no comando acima.
AWS Tools para Windows PowerShell
Utilize o Edit-EC2IdFormat cmdlet da seguinte forma para habilitar:
PS C:\> Edit-EC2IdFormat -Resource instance -UseLongId True
Para desabilitar:
PS C:\> Edit-EC2IdFormat -Resource instance -UseLongId False
OBS: Da mesma forma que feita pela CLI, se quiser habilitar ou desabilitar em outro recurso, como reservation, troque instance por reservation.
AWS SDKs
Faça a chamada à função ModifyIdFormat, especifique o recurso (instance ou reservation) e passe para o parâmetro UseLongIds True para habilitar ou False para desabilitar.
Alguns pontos de atenção
Esse recurso não afeta a conta de forma global, o que quer dizer que, se for especificado em uma região, as outras regiões da sua conta não serão afetadas. Assim que habilitado, os próximos recursos utilizados já vão aparecer com o novo formado de ID (pode levar alguns minutos). A alteração será refletida para todos os usuários da conta, por isso, por garantia em caso de teste, pode ser interessante criar uma nova conta ou utilizar uma região que não é usada atualmente.
Qualquer nova conta criada desde 7 de março de 2016 já vem com o recurso de IDs mais longos habilitado. É importante que, assim que os seus testes tenham dado resultado positivo, você habilite a opção de IDs mais longos de forma permanente, para garantir que não haverá problema no futuro.
Para que seja possível fazer essa alteração via CLI e/ou SDK é necessário utilizar as seguintes versões:
- PHPv2 v2.8.27+
- PHPv3 v3.15.0+
- CLI v1.10.2+
- Boto3 v1.2.1+
- Botocore v1.3.24+
As seguintes versões de SDK já são compatíveis e não precisam de atualização: PHP v1, Boto v1, Boto v2, Ruby v1, Ruby v2, JavaScript, Java, .NET, AWS Tools para Windows PowerShell e Go.
No caso de ferramentas, é necessário fazer a atualização para garantir o funcionamento correto.
OBS: As opções para Volumes e Snapshots aparecerão em abril.
Para mais informações, acesse Longer EC2 and EBS Resource IDs FAQ.
Para referências à API, acesse ModifyIdFormat.
IMPORTANTE: Se você utiliza algum serviço 3rd Party, entre em contato ou procure na documentação para saber se ele funcionará com a nova estrutura.
Se tiver alguma dúvida, deixe nos comentários abaixo.