Estoy usando AWS ECS para implementar mi sitio web. Ahora quiero saber -
Tengo dos definiciones de tarea:
Ejecute realmente los servicios con alguna carga representativa. Mire con una herramienta como top (1) que puede indicarle el uso real de la memoria (en top , busque una columna rss o rsz ) y la utilización de la CPU. La utilización de recursos de cualquier servicio dado depende increíblemente de la elección del idioma, el tiempo de ejecución, la carga, la concurrencia, las decisiones algorítmicas, las restricciones de la base de datos, ... y realmente no existe una regla general.
Haga coincidir la utilización real de los recursos medidos, algún plan de implementación hipotético y la lista de tipos de instancias de AWS EC2 . Si tiene 4 servicios, cada uno de los cuales requiere 1 núcleo de CPU completo y 1 GB de RAM, y desea ejecutar 3 réplicas de cada uno, necesita un total de 12 núcleos y 12 GB de RAM; si desea que esto se distribuya en 3 hosts, entonces las instancias 3x c5.xlarge le brindan 12 núcleos y 24 GB de RAM.
En general, los servicios de AWS administrados no son más baratos que ejecutar el mismo servicio usted mismo en instancias EC2 simples. En el caso de Fargate, tiene un precio por CPU-hora y GB-hora para tareas programadas. Al momento de escribir este artículo, la carga de trabajo hipotética que describí anteriormente costaría alrededor de US$0.54 por hora en us-east-1 ; para el uso bajo demanda de EC2, las 3 instancias c5.xlarge costarían 0,51 USD por hora (y esto se vuelve más económico si puede comprometerse a comprar instancias reservadas). Si su carga de trabajo es muy explosiva, podría ser más fácil programar y anular la programación de tareas de ECS que las instancias de EC2, y el modelo de precios de Fargate podría funcionar mejor para usted.
La documentación de ECS tiene un tutorial sobre cómo configurar CloudWatch y un grupo de escalado automático para expandir automáticamente un clúster . La reducción es un poco más complicada (debe configurar la instancia para que se agote , esperar a que las tareas se muevan y luego desaprovisionarla).
Si de todos modos se encuentra en un entorno de AWS, considere alojar contenido estático directamente en S3 . Esto probablemente será más barato y más fácil de administrar que ejecutar un servidor dedicado.