Crie uma instância do Amazon EC2 com acesso automático ao S3 privado

2

Eu estava pensando. Digamos que eu tenha um arquivo em um bucket S3 privado e, em seguida, implemente uma instância do EC2 que tenha algo parecido em seu rc.local:

GET link

Como posso fazer com que minha instância do EC2 que eu implemente automaticamente tenha acesso ao meu bucket S3 privado, sem que eu precise explicitamente adicioná-lo manualmente através do painel de controle da AWS.

O motivo de eu perguntar é porque estou planejando implantar minha instância do EC2 remotamente usando um script boto python de outro servidor usando uma imagem de instantâneo, e a imagem de instantâneo incluirá o download de um arquivo do meu bucket S3 privado.

    
por James Willson 19.02.2013 / 13:54

2 respostas

5

Opção 1

Se a sua nova instância for baixar o arquivo logo após ser iniciado, você poderá criar um arquivo público com limite de tempo:

  1. Gere um URL com limite de tempo para o arquivo que você deseja baixar. Consulte o link
  2. Inicie sua nova instância, transmitindo o URL gerado nos dados do usuário.
  3. Dentro de sua nova instância, leia os dados do usuário e faça o download do arquivo.

Ao fazer o acima, nenhuma credencial é necessária na sua instância do EC2. No entanto, seu URL público é público por um breve período.

Opção 2

Inicie sua nova instância em uma "função" do EC2. Consulte o link

Quando você usa uma função do EC2, sua instância tem chaves de acesso de geração automática e expiração automática fornecidas a ela regularmente. Então você não precisa ter credenciais mantidas no seu servidor. Em vez disso, seu cliente da AWS solicitará continuamente das novas chaves da AWS que serão alteradas com o tempo.

Dessa forma, você pode dar à sua função EC2 uma política do IAM que permita o acesso do S3 ao (s) seu (s) arquivo (s).

    
por 19.02.2013 / 15:22
0

Se você deseja expor suas informações de s3 api em uma string de consulta no instantâneo, use o seguinte

link

Você também pode usar o IAM para criar um usuário que tenha acesso restrito apenas a esse bucket e que gere um novo par de chaves de API para usar na string de consulta.

    
por 19.02.2013 / 14:03