AWS Beanstalk PHP: como manter os arquivos entre as implementações?

2

Qual é a prática recomendada para manter arquivos dinâmicos ou enviados por usuários entre as implantações? Por exemplo, git aws.push simplesmente remove o diretório de aplicativos existente e, em seguida, extrai a nova versão na instância do EC2, mas preciso manter alguns logs, configurações e dados enviados pelo usuário armazenados no sistema de arquivos.

Estou prestes a montar o bucket do S3, mas não consigo encontrar nenhum hook de pós-implantação no AWS Beanstalk para disparar o mount S3 automagicamente ...

    
por wik 01.04.2012 / 08:18

1 resposta

1

Gostaria de repensar por que seu aplicativo está armazenando coisas no sistema local para começar. Ter esses arquivos removidos em implantações é apenas um problema. Outro problema é que, quando seu aplicativo é dimensionado para mais de uma instância, essas instâncias não saberão sobre nenhum dos arquivos nas outras instâncias. Seria melhor que seu aplicativo usasse o S3 para todo o seu armazenamento ou usasse algum outro mecanismo permanente e acessível de qualquer instância que estivesse executando o aplicativo.

Outra coisa em que pensar é nas sessões dos usuários. Se você estava armazenando sessões anteriormente no servidor, também precisa fazer algo diferente lá. Quando houver mais de uma instância do seu aplicativo em execução, os dados da sessão não serão confiáveis, a menos que você a armazene em algum lugar acessível por todas as instâncias. O Elasticache ou o DynamoDB podem ser boas opções para armazenamento de sessão.

    
por 03.04.2012 / 17:06