AWS

27 abr, 2016

Amazon News – IDs de recursos EC2 mais longos

Publicidade

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.

LongerEC2-EBS-IDs_diagramV3

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.

ec2_console

Marque Use Longer IDs no recurso que quiser habilitar:

ec2_console_1

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.