亚马逊AWS官方博客

基于Amazon EC2 Container Service构建安全高可用的Docker私有库

1. 背景 Docker hub作为docker官方镜像仓库,提供了大量Docker镜像的托管服务。但使用它来托管企业私有Docker镜像存在一些问题,比如: (1)Docker hub托管私有镜像的服务目前只面对收费账户; (2)使用Docker hub托管私有镜像并不适合一些特殊场景,比如工作环境网络是内网,不允许访问外网,那就更不可能到Docker hub去下载镜像。 在这种情况下,如果能构建一个安全可靠的Docker私有库,将会是一个更好的选择。本文将介绍在Amazon EC2 Container Service基础上结合AWS Elastic LoadBalancer、AWS Autoscaling Group、AWS S3及Docker官方提供的registry镜像构建安全、高可用的Docker私有库的方案,帮助您轻构实现这一需求。 2. 方案详解 我们会使用AWS CloudFormation服务,使用自定义的模板脚本声明所需的资源,实现自动化构建。接下来结合我们的模板脚本对本方案进行详细介绍。 注意:以下内容与代码相关部分只贴出主要代码,部分代码用…表示省略;红字部分请替换成您自己账号相关的信息。 完整模板代码地址:https://s3-us-west-2.amazonaws.com/blog.leonli.org/registry.yml          或者点击按钮直接在控制台中运行: 2.1 架构图 根据以上架构图,基本数据传输过程为: (1)Docker客户端向镜像仓库发送的pull/push等命令事实上都是通过docker daemon转换成restful请求的形式再发送给镜像仓库的。在本架构中,我们利用AWS Elastic LoadBalancer(简称ELB)接收客户端发来的请求,作为整个架构的接入层。由于我们要求数据是通过TLS加密传输的,所以我们需要使用AWS IAM中的server certificate(由AWS IAM账户上传的TLS证书)与ELB关联,实现对客户端发来的请求进行加密。 (2)ELB会将请求反向代理给后端分布在不同可用区的两台Container Instance(安装了Docker运行环境的EC2实例),Container Instance中运行了Docker registry服务。当请求到达registry时,我们需要首先使用内置在registry中的用户认证文件(比如本架构中使用apache htpasswd创建的基本用户名密码保护文件),进行用户认证,认证不通过,则驳回请求,认证通过,才可以读写数据。 (3)我们将数据统一存储在一个只供创建者使用的S3 Bucket中。 2.2 基于AWS ECS运行Docker Registry服务 Amazon EC2 Container Service (ECS) 是一项高度可扩展的高性能容器管理服务,它让您能够在托管的 Amazon EC2 […]

Read More

新增 – EC2 Auto Scaling 的目标跟踪策略

最近我介绍过 DynamoDB Auto Scaling,并演示了它如何使用多个 CloudWatch 警报来实现 DynamoDB 表的自动容量管理。此功能在后台使用了一种更为通用的 Application Auto Scaling 模型,我们计划以后逐渐在多项不同 AWS 服务中投入使用该模型。 这一新的 Auto Scaling 模型包括一项重要的新功能,我们称之为目标跟踪。在创建使用目标跟踪的 Auto Scaling 策略时,需要为特定 CloudWatch 指标选择一个目标值。然后,Auto Scaling 旋转相应的旋钮 (打个比方) 推动指标趋向于目标,同时调整相关的 CloudWatch 警报。比起使用初始步进扩展策略类型来手动设置范围和阈值而言,采用对应用程序有意义的任何指标驱动的单元来指定期望的目标,通常来说要更简单,也更为直接。不过,您可以结合使用目标跟踪和步进扩展来实现高级扩展策略。例如,您可以使用目标跟踪实现扩展操作,使用步进扩展实现缩减操作。 现在面向 EC2 现在我们为 EC2 Auto Scaling 增加了目标跟踪支持。您现在可以创建应用程序负载均衡器请求计数、CPU 负载、网络流量或自定义指标 (Request Count per Target 是新指标,也是在今天发布) 驱动的扩展策略: 这些指标都具有同一个重要的特性:添加额外的 EC2 实例会推动指标下降 (但不会改变总体负载),反之亦然。 要创建使用目标跟踪的 Auto Scaling 组,只需输入策略名称、选择一个指标,然后设置所需的目标值: 您可以选择禁用策略的缩减功能。如果禁用,您可以手动缩减,也可以使用独立的策略。您可以使用 AWS Management Console, […]

Read More

AWS 深度学习之旅

如果您和我一样,就会对人工智能 (AI)、机器学习 (ML) 和深度学习这些主题有极大兴趣和深感兴奋。AI、ML 和深度学习的应用越来越广泛,对我来说,这意味着艾萨克·阿西莫夫博士的科幻小说、《星球大战》中机器和医疗的进步,以及让柯克船长和他的《星际迷航》舰员能够“前往没有人去过的地方”的那些技术都可成为现实。 大多数对前述主题感兴趣的人都熟悉深度学习支持的 AI 和 ML 解决方案,如实现图像和视频分类的卷积神经网络、语音识别、自然语言接口和推荐引擎。但是,设置基础设施、环境和工具,让数据科学家、机器学习实践者、研究科学家和深度学习爱好者/拥护者能够深入钻研这些技术并不总是那么容易。大多数开发人员都渴望能够快速上手深度学习,从而使用深度学习技术来训练模型和开发解决方案。 因此,无论您是经验丰富的数据科学家,还是急切想在这方面入门的开发人员,我都乐意分享一些资源,帮助您快速构建深度学习解决方案。 深度学习资源 Apache MXNet 是 Amazon 选择的深度学习框架。借助强大的 Apache MXNet 框架和 NVIDIA GPU 计算,您可以在 AWS 云中方便地启动您的可扩展深度学习项目和解决方案。随着您开始探索 MxNet 深度学习,有很多自助教程和数据集可供您使用: 启动 AWS 深度学习 AMI:该指南可引导您完成基于 Ubuntu 启动 AWS 深度学习 AMI 的步骤 MXNet – 创建计算机视觉应用程序:该实践教程使用预构建的笔记本指导您完成使用神经网络实现计算机视觉应用程序来识别手写数字的整个过程 AWS 机器学习数据集: AWS 在您可以免费访问的 AWS Marketplace 中托管机器学习数据集。这些大型数据集可供任何人用来分析数据,而无需下载或存储这些数据。 预测和提取 – 学习使用预先训练的模型来进行预测:该实践课程将指导您借助预先训练的模型并使用完整 Imagenet 数据集来进行预测和特征提取。 AWS 深度学习 AMI […]

Read More

白皮书:物联网的核心原则

摘要 本文概述了在制定物联网 (IoT) 策略时应考虑的核心原则。本文帮助客户了解 Amazon Web Services (AWS) 的好处以及 AWS 云平台如何成为支持 IoT 解决方案核心原则的关键组件。本文还简要介绍了应作为整个 IoT 策略一部分的 AWS 服务。本文针对的是正在了解物联网平台的决策者。 概述 物联网 (IoT) 策略的核心价值主张之一是让企业能够洞察以前不了解的周边环境。但企业若想制定 IoT 策略,则需要搭建符合 IoT 解决方案的基本原则的平台。 AWS 信奉一些自由原则,这些原则能为企业带来云的组织和经济收益。这些自由正是上百万客户使用 AWS 平台支持几乎所有云工作负载的原因。这些自由还是 AWS 成为跨商业、消费品和工业解决方案的任何物联网策略的主要催化剂 的原因。 采用这些解决方案的 AWS 客户已经确定了一些对所有 IoT 平台的成功都至关重要的核心原则。这些核心原则是敏捷性、可扩展性、成本和安全性;研究表明,它们对于 IoT 策略的长期成功十分重要。 本白皮书将这些原则定义为: 敏捷性 — 不受限制地快速分析、执行和构建业务和技术计划 可扩展性 — 在区域或全球范围内无缝地扩展基础设施以满足运营需求 成本 — 了解和控制运营 IoT 平台的成本 安全性 — 通过云保护来自设备的通信,同时保持合规性和快速迭代 通过使用 […]

Read More

补上 2017 年年初的 AWS 公告

尽管今年迄今为止我们已经发布了 123 篇文章,但我们根本没有时间来介绍每一项重要的 AWS 发布。此外,较新的服务通常更加丰富,并需要更多空间加以描述,这也增加了我们的工作量。本文 (以及随后每个季度的其他文章) 将概述我们之前没有时间介绍的一些发布。例如: 针对 NoSQL 数据库的迁移支持 面向 WorkDocs 的注释、标记和元数据 API。 Pinpoint 的电子邮件和短信集成 AWS Budgets 的使用类型组和链接账户访问 EC2 Systems Manager 对层次结构、标记和 CloudWatch Events 的支持 这些功能已经推出,您可能已经在使用它们了! 针对 NoSQL 数据库的迁移支持 通过此次发布,AWS Database Migration Service 可以迁移关系数据库、NoSQL 数据库和数据仓库。此次发布支持将 MongoDB 数据库用作迁移源,将 Amazon DynamoDB 表用作迁移目标。要开始操作,请为 MongoDB 和 DynamoDB 创建复制实例和数据库终端节点: 有关更多信息,请阅读MongoDB 用作 AWS Database Migration Service 的源和将 Amazon DynamoDB 数据库用作 […]

Read More

新增 – CloudWatch Events 的跨账户传送功能

CloudWatch Events 让您能够跟踪和响应 AWS 资源中的更改。您可以获得几乎实时的事件流,并使用规则将其路由到一个或多个目标 (AWS Lambda 函数、Amazon Kinesis 流、Amazon SNS 主题等)。生成的事件取决于特定的 AWS 服务。例如,以下是为 EC2 实例生成的事件: 或者,对于 S3 (必须启用 CloudTrail 才能创建使用这些事件的规则): 请参见 CloudWatch 事件类型列表,以查看有哪些服务和事件可用。 新的跨账户事件传送客户要求我们扩展 CloudWatch Events,以处理跨多个 AWS 账户的一些有趣且强大的使用案例,我们也很乐意满足这些要求。今天,我们将添加对 CloudWatch Events 的受控、跨账户传送的支持。如您所见,现在您可以安排将事件从一个 AWS 账户路由到另一个账户。与现有的事件传送模式一样,您可以使用 CloudWatch Events 规则来指定要将哪些事件发送到另一个账户。 以下是客户与我们分享的一些使用案例: 隔离问题 – 客户希望在单独的账户中处理和响应事件,以实施高级安全方案。 汇总 – 客户正在使用 AWS Organizations,并希望在整个组织范围内跨多个 AWS 账户跟踪某些类型的事件。 每个 AWS 账户都使用资源事件总线来分发事件。该对象可追溯到 CloudWatch Events 的引入,但从未这样被正式地称呼过。AWS 服务、PutEvents […]

Read More

AWS 降价 – 在Amazon EC2 上运行的 SQL Server 标准版

我很高兴地宣布,AWS 迎来了第 62 次降价,本次降价适用于在 EC2 上运行的 Microsoft SQL Server 标准版。 许多企业工作负载都在 Microsoft Windows 上运行,主要是在本地部署或企业数据中心。AWS 上提供了各种各样的服务,由我们覆盖全球的基础设施和合作伙伴生态系统提供支持,因此,我们认为它是构建、部署、扩展和管理 Windows 应用程序的最佳位置。Adobe、Pitney Bowes 和 DeVry University 等客户都已将核心生产 Windows Server 工作负载移到了 AWS。他们的应用程序囊括从 SharePoint 站点到自定义 .NET 应用程序和 SAP 的全部范围,且经常使用 SQL Server。 Microsoft SQL Server on AWS 运行在 EC2 Windows 实例上,并可为您的应用程序开发和迁移提供支持。通过它,您可以控制所有设置,就像在本地部署中运行关系数据库时控制设置一样,它支持 32 位和 64 位版本。 今天,我们将降低在 R4、M4、I3 和 X1 实例上运行的 EC2 上的 Microsoft […]

Read More

新增 – 面向 Amazon CloudWatch 控制面板的 API 和 CloudFormation 支持

我们在几年前发布了 CloudWatch 控制面板。在专为这次发布撰写的文章中,我介绍了如何以交互方式创建控制面板,以便以图形形式显示所选的 CloudWatch 指标。发布之后,我们增加了其他功能,包括全屏模式、深色主题、控制 Y 轴的范围、简化的重命名、持久性存储和新的可视化选项。 新 API 和 CLI 虽然控制台支持非常有利于交互式使用,但许多客户要求我们提供对控制面板及其中小部件的编程式创建和操作的支持。这些客户想要动态构建和维护控制面板,从而在创建和销毁相应的 AWS 资源时添加和删除小部件。其他客户则希望在两个或多个 AWS 账户中设置和维护一组一致的控制面板。 我非常高兴地宣布,面向 CloudWatch 控制面板的 API、CLI 和 AWS CloudFormation 支持现已推出,您可以立即开始使用! 我们新增了四个 API 函数 (和等效的 CLI 命令): ListDashboards / aws cloudwatch list-dashboards – 用于提取账户内所有控制面板的列表,或共享通用前缀的子集。 GetDashboard / aws cloudwatch get-dashboard – 用于提取单个控制面板的详细信息。 PutDashboard / aws cloudwatch put-dashboard – 用于创建新控制面板或更新现有控制面板。 DeleteDashboards / aws cloudwatch […]

Read More

现已推出 – AWS SDK for Java 2.0 的开发人员预览

AWS 开发人员工具团队一直苦心致力于 AWS SDK for Java 的开发,今天终于推出了 2.0 版开发人员预览版。这个版本是对旧 1.11.x 代码库的重大修改。新 SDK 构建在 Java 8 之上,重点在于一致性、不变性和易用性,包括经常请求的功能,例如支持非阻塞 I/O 以及在运行时选择所需的 HTTP 实现的能力。新的非阻塞 I/O 支持,比现有的服务客户端基于线程的异步变体实现更有效。每个非阻塞请求都返回一个 CompletableFuture 对象。版本 2.0 SDK 包括对早期 API 的许多更改。例如,它使用基于客户端生成器和不可变客户端的一致模型来代替客户端构造函数和可变方法的现有组合。该 SDK 还将用于配置多个区域的离散类集合折叠为单个区域类,并提供一组新的用于流式处理的 API。该 SDK 在 GitHub 上提供。您可以通过打开 GitHub 问题发送公共反馈,也可以按照通常的方式发送提取请求。要了解有关此 SDK 的更多信息,请阅读 AWS 开发人员博客上的AWS SDK for Java 2.0 – 开发人员预览。 -Jeff

Read More

AWS GovCloud (美国) 和 Amazon Rekognition – 一个功能强大的公共安全工具

我已告诉您有关 Amazon Rekognition 的信息,并介绍了它如何使用深度神经网络模型通过检测对象、场景和面部来分析图像。 今天我非常高兴地宣布,Amazon Rekognition 目前已在 AWS GovCloud (美国) 区域可用。要了解更多信息,请阅读 Amazon Rekognition 常见问题和 Amazon Rekognition 产品详情,查看 Amazon Rekognition 客户案例,然后使用 Amazon Rekognition 开发人员资源 页面上的信息构建您的应用程序。 面向公共安全的 Motorola Solutions 接下来,我将占用一点时间,向您介绍 Motorola Solutions 的研究,探讨如何通过 Amazon Rekognition 强化现场和指挥中心公共安全人员的实时情报。 Motorola Solutions 为 100 多个国家/地区的 100000 多家公共安全和商业客户提供用于移动情报和数字证据管理的软件、服务和工具,其中许多由使用随身、车载和固定式摄像机拍摄的图像提供支持。由于这些图像极其敏感,它们的存储环境必须满足联邦调查局定义的严格的 CJIS (刑事司法信息系统) 安全标准。 近几年来,Motorola Solutions 的研究人员一直在探索人工智能的使用。例如,他们已经使用 Amazon Rekognition、Amazon Lex 和 Amazon Polly 结合自己的软件构建了原型应用程序,用于从随身摄像机的图像中扫描失踪人员并发出提醒,而无需持续的人工关注或交互。仅仅在美国,就有大约 100000 […]

Read More