
Requisito
- Sirve audios y videos almacenados en un depósito S3
- Proteja selectivamente carpetas con autenticación básica (contraseña de nombre de usuario);
- Baja latencia tanto como sea posible pero no necesaria.
- El costo también es un factor, pero abierto a ideas.
- Manera para que el equipo de medios cargue el nuevo contenido. (Para s3 necesitan hacer público cada archivo manualmente)
- Somos un equipo muy pequeño con recursos limitados.
Configuración actual
- Datos almacenados en un depósito s3
- Un sitio web que se ejecuta dentro de una instancia EC2
- servidor apache2
Nuestras consideraciones
Invierta las URL del proxy s3 en el nivel de Apache y configure la autenticación básica en el nivel de Apache. PERO
requiere mantener públicos todos los objetos del depósitoy luego aplicar políticas del depósito, ¡lo cual se está yendo de las manos!Bloquee completamente el acceso público a S3 y luego use AWS PHP SDK para servir la tienda de conos. Luego, permita que el equipo de medios cargue contenido nuevo desde la consola de AWS. Con esta opción no estoy seguro de cómo se verá afectada la latencia.
Estamos seguros de que habrá algunas buenas soluciones disponibles para requisitos similares. Indíquenos una solución viable. Muchas gracias.
Editar: Por ahora hemos mantenido el depósito privado bloqueando todo el acceso público. Luego agregamos una política de depósito para permitir el acceso público solo a nuestra instancia EC2 y de esta manera logramos lo que queríamos. Pero todavía estamos abiertos a una solución viable y completa de baja latencia hacia la que podamos avanzar.
Respuesta1
En lugar de un EC2, probablemente desee considerar la posibilidad de ofrecer un sitio web estático a través de S3 o CloudFront. CloudFront también le permitirá hacer que el depósito sea privado. Si necesita un sitio dinámico, aloje las API solo en EC2 (o Lambda y API Gateway) y acceda a ellas desde el sitio alojado en S3.
En cualquier caso, CloudFront le permitirá servir el contenido del depósito mientras lo mantiene privado y proporcionará una buena latencia, etc.