使用AWS搭建云上应用
名词解释
AWS ECR:AWS ECR 容器存储库,按项目名创建容器仓库,一个项目对应一个仓库,目前是由Jenkins构建镜像远程push到AWS ECR。
**AWS ECS:Amazon Elastic Container Service (ECS) ,**一项高度可扩展的高性能容器管理服务,支持 Docker 容器,并让您能够在托管的 Amazon EC2 实例集群上轻松运行应用程序。
AWS Fargate:AWS Fargate 是您可以与 Amazon ECS 运行 容器无需管理 服务器或群集 Amazon EC2 实例。有 AWS Fargate,您不再需要提供, 配置或扩展虚拟计算机的群集以运行容器。这不需要 选择服务器类型、决定何时扩展群集或优化群集打包。
AWS EFS: Amazon EFS提供简单、可扩展、完全托管的弹性 NFS 文件系统.对于需要访问文件系统的应用,可以使用EFS,类似在Docker挂载一个磁盘,可直接访问 。
AWS S3:Amazon Simple Storage Service,一种对象存储,它具有简单的 Web 服务界面,可用于存储和检索 Web 上任何位置、任意数量的数据。它能够提供 99.999999999% 的持久性,并且可以在全球大规模传递数万亿对象。
AWS SQS:Amazon Simple Queue Service (SQS) 是一项快速可靠、可扩展且完全托管的消息队列服务。SQS 使得云应用程序的组件解藕大大简化,并且具有较高的成本效益。您可以使用 SQS 在任意吞吐量级别传输任何规模的数据,而不会丢失消息,并且无需其他服务即可保持可用。
**AWS EC2:Amazon Elastic Compute Cloud (Amazon EC2) ,**是一种 Web 服务,可在云中提供大小可调的计算容量。
AWS IMA:AWS Identity and Access Management (IAM) 是一种 Web 服务,可以帮助您安全地控制对 AWS 资源的访问。您可以使用 IAM 控制对哪个用户进行身份验证 (登录) 和授权 (具有权限) 以使用资源。
AWS CloudWatch:Amazon CloudWatch 是一项针对 AWS 云资源和在 AWS 上运行的应用程序的监控服务。您可以使用 Amazon CloudWatch 来收集和跟踪各项指标、收集和监控日志文件、设置警报以及自动应对 AWS 资源的更改。
NAT Gateway:NAT Gateway(网络地址转换网关) 主要用来对一组私有子网内的服务器进行代理,被代理的所有服务器的对外请求都将通过 NAT 网关发出,这样目标服务所看到的请求 IP 也都是 NAT 网关的 IP。
AWS Auto Scaling:AWS Auto Scaling 可以监控您的应用程序并自动调整容量,从而以尽可能低的成本来保持稳定、可预测的性能。使用 AWS Auto Scaling,您可以在几分钟内为多项服务中的多个资源设置扩展。
AWS ELB:Elastic Load Balancing 在多个目标(如 Amazon EC2 实例、容器、IP 地址和 Lambda 函数)之间自动分配传入的应用程序流量。它可以在单个可用区内处理不断变化的应用程序流量负载,也可以跨多个可用区处理此类负载。Elastic Load Balancing 提供三种负载均衡器,它们均能实现高可用性、自动扩展和可靠的安全性,因此能让您的应用程序获得容错能力
部署架构
使用Amazon Elastic Container Service、AWS Fargate、Docker 和 Amazon EC2。每个区域部署架构基本一致。