标签 AWS 下的文章

摆脱了 Xen,新的 C5 实例和未来的虚拟机将采用“核心 KVM 技术”

AWS 透露说它已经创建了一个基于 KVM 的新的 管理程序 hypervisor ,而不是多年来依赖的 Xen 管理程序。

新的虚拟机管理程序披露在 EC2 新实例类型的新闻脚注里,新实例类型被称为 “C5”,由英特尔的 Skylake Xeon 提供支持。AWS 关于新实例的 FAQ 提及“C5 实例使用新的基于核心 KVM 技术的 EC2 虚拟机管理程序”。

这是爆炸性的新闻,因为 AWS 长期以来一直支持 Xen 管理程序。Xen 项目从最强大的公共云使用其开源软件的这个事实中吸取了力量。Citrix 将其大部分 Xen 服务器运行了 AWS 的管理程序的闭源版本。

更有趣的是,AWS 新闻中说:“未来,我们将使用这个虚拟机管理程序为其他实例类型提供动力。” 这个互联网巨头的文章中计划在“一系列 AWS re:Invent 会议中分享更多的技术细节”。

这听上去和很像 AWS 要放弃 Xen。

新的管理程序还有很长的路要走,这解释了为什么 AWS 是最后一个运行 Intel 新的 Skylake Xeon CPU 的大型云服务商,因为 AWS 还透露了新的 C5 实例运行在它所描述的“定制处理器上,针对 EC2 进行了优化。”

Intel 和 AWS 都表示这是一款定制的 3.0 GHz Xeon Platinum 8000 系列处理器。Chipzilla 提供了一些该 CPU 的新闻发布级别的细节,称它与 AWS 合作开发了“使用最新版本的 Intel 数学核心库优化的 AI/深度学习引擎”,以及“ MXNet 和其他深度学习框架为在 Amazon EC2 C5 实例上运行进行了高度优化。”

Intel 之前定制了 Xeons,将其提供给 Oracle 等等。AWS 大量购买 CPU,所以英特尔再次这样做并不意外。

迁移到 KVM 更令人惊讶,但是 AWS 可以根据需要来调整云服务以获得最佳性能。如果这意味着构建一个虚拟机管理程序,并确保它使用自定义的 Xeon,那就这样吧。

不管它在三周内发布了什么,AWS 现在都在说 C5 实例和它们的新虚拟机管理程序有更高的吞吐量,新的虚拟机在连接到弹性块存储 (EBS) 的网络和带宽都超过了之前的最佳记录。

以下是 AWS 在 FAQ 中的说明:

随着 C5 实例的推出,Amazon EC2 的新管理程序是一个主要为 C5 实例提供 CPU 和内存隔离的组件。VPC 网络和 EBS 存储资源是由所有当前 EC2 实例家族的一部分的专用硬件组件实现的。

它基于核心的 Linux 内核虚拟机(KVM)技术,但不包括通用的操作系统组件。

换句话说,网络和存储在其他地方完成,而不是集中在隔离 CPU 和内存资源的管理程序上:

新的 EC2 虚拟机管理程序通过删除主机系统软件组件,为 EC2 虚拟化实例提供一致的性能和增长的计算和内存资源。该硬件使新的虚拟机管理程序非常小,并且对用于网络和存储的数据处理任务没有影响。

最终,所有新实例都将使用新的 EC2 虚拟机管理程序,但是在近期内,根据平台的需求,一些新的实例类型将使用 Xen。

运行在新 EC2 虚拟机管理程序上的实例最多支持 27 个用于 EBS 卷和 VPC ENI 的附加 PCI 设备。每个 EBS 卷或 VPC ENI 使用一个 PCI 设备。例如,如果将 3 个附加网络接口连接到使用新 EC2 虚拟机管理程序的实例,则最多可以为该实例连接 24 个 EBS 卷。

所有面向公众的与运行新的 EC2 管理程序的 EC2 交互 API 都保持不变。例如,DescribeInstances 响应的 “hypervisor” 字段将继续为所有 EC2 实例报告 “xen”,即使是在新的管理程序下运行的实例也是如此。这个字段可能会在未来版本的 EC2 API 中删除。

你应该查看 FAQ 以了解 AWS 转移到其新虚拟机管理程序的全部影响。以下是新的基于 KVM 的 C5 实例的统计数据:

实例名vCPURAM(GiB)EBS*带宽网络带宽
c5.large24最高 2.25 Gbps最高 10 Gbps
c5.xlarge48最高 2.25 Gbps最高 10 Gbps
c5.2xlarge816最高 2.25 Gbps最高 10 Gbps
c5.4xlarge16322.25 Gbps最高 10 Gbps
c5.9xlarge36724.5 Gbps10 Gbps
c5.18xlarge721449 Gbps25 Gbps

每个 vCPU 都是 Amazon 购买的物理 CPU 上的一个线程。

现在,在 AWS 的美国东部、美国西部(俄勒冈州)和欧盟地区,可以使用 C5 实例作为按需或点播服务器。该公司承诺其他地区将尽快提供。


via: https://www.theregister.co.uk/2017/11/07/aws_writes_new_kvm_based_hypervisor_to_make_its_cloud_go_faster/

作者:Simon Sharwood 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

AWS 作为全球首屈一指的云服务商,无论是在服务上,还是在技术上,均引领了云技术方面的发展。在 AWS 上,有很多前沿技术的应用,我们特地收集整理了一些 AWS 技术方面的精华文章,分享给您。

数据库

  1. 数据库迁移服务 DMS——手把手教你玩转 MongoDB 到 DynamoDB 之间数据库迁移
  2. 让你的数据库流动起来 – 利用 MySQL Binlog 实现流式实时分析架构
  3. 破解谷堆悖论:轻松搞定 RDS MySQL 到 Redshift 的数据同步
  4. 使用 Oracle Data Pump 将数据库迁移到 AWS 的 RDS Oracle 数据库
  5. 使用 DMS 迁移 Oracle 数据库
  6. 将 Oracle 数据库迁移到 AWS 云的方法
  7. 使用 DMT 工具迁移北京区域的数据库
  8. 手把手教你调校 AWS PB 级数据仓库
  9. Amazon DynamoDB 让海量数据管理变为可能
  10. Mycat:轻松实现百亿级大表分布式存储与秒级并行查询

存储

  1. EBS 新功能:块存储调整超 Easy,24×7不停机!
  2. AWS 文件存储网关初体验
  3. 利用 S3fs 在 Amazon EC2 Linux 实例上挂载 S3 存储桶
  4. 客户端直连 S3 实现分片续传的思路与实践
  5. 如何使用 AWS 命令行分段上传大文件
  6. 乐高君倾情出演:三分钟教会你如何使用 Snowmobile

无服务器

  1. 深入 Serverless—让Lambda 和 API Gateway支持二进制数据
  2. 带您玩转 Lambda,轻松构建 Serverless 后台!
  3. 在 AWS 上构建无服务器的分析系统
  4. 如何在 1 个小时之内轻松构建一个 Serverless 实时数据分析平台

软件开发

  1. 云端开发工具 AWS CodeStar 快速入门
  2. 分分钟启动 AWS 应用程序开发 | AWS CodeStar 介绍
  3. 新上线!AWS CodeDeploy 自动部署初相识
  4. AWS Kinesis 的 Javascript 交互方法

网络服务

  1. 在 VPC 中自建基于 BIND 的 DNS 服务器
  2. AWS 上 NAT 的那点事
  3. 基于 AWS 平台跳板机配置
  4. 使用 Docker 封装 IPSec 网关并实现与 AWS VPC 的动态 VPN 连接
  5. 大家热聊的 VPC,大咖给你讲清楚
  6. 防盗图利器:AWS WAF – Web 应用程序防火墙初体验
  7. 想了解 Amazon ECS?这篇文章就够了!
  8. 使用 AWS ALB 实现基于主机名的路由分发

大数据与人工智能

  1. 利用 Amazon Redshift 构建新一代数据分析 BI 系统
  2. Redshift 又添新功能:让用户直接查询 S3 中的海量数据而无需复制到本地
  3. 如何使用 Apache Mahout 在 Amazon Elastic MapReduce 上构建推荐系统
  4. 手把手教你使用 Amazon EMR 进行交互式数据查询
  5. 巧用 Amazon EMR 节省数据分析成本
  6. 用 50 行代码和人工智能增强 MacOS 功能!
  7. 如何在 AWS 上安装使用分布式 TensorFlow
  8. 分布式神经网络框架 CaffeOnSpark 在 AWS 上的部署过程
  9. 程序员的深度学习入门指南

其它

  1. 通过 AWS Config 管理 AWS 服务配置
  2. 云迁移的 21 个最佳实践
  3. 使用 AWS Lambda 和 Amazon DynamoDB 实现 CloudFormation 模板的动态管理
  4. DAX - DynamoDB 集成全托管的内存缓存,轻松搞定读取负载!
  5. CrowdTangle 经验谈:如何立足 AWS 构建 SaaS 解决方案
  6. 如何灵活地调整 Amazon EC2 的 IAM 角色?
  7. 使用 Amazon CloudFront 签名 URL+S3 实现私有内容发布12
  8. 管理者如何授权?通过 AWS 目录服务管理 AWS 资源
  9. AWS Limit Monitoring:书到用时方恨少,资源提限需趁早!
  10. Elastic GPU:更灵活高效的选择
  11. 全球首创!Amazon EC2 F1 实例权威解读
  12. Amazon Polly:你打字,我说话!
  13. Amazon Lex 快速上手
  14. Amazon Rekognition 快速入门
  15. 利用 CloudWatch 搭建无人值守的监控预警平台
  16. 一键搞定云端网络环境,让您轻松迁移至 AWS!
  17. CloudFront 常见错误配置及解决方法
  18. CloudWatch Events 监控您应用的安全
  19. 专线直连 AWS 建立混合 IT 环境实务指南
  20. 将 VMware 中的 Ubuntu 12.04 映像导入成 Amazon EC2 AMI
  21. 手把手教你在 FPGA 实例上运行“Hello World”

还想看到更多技术分享,深入了解 AWS 最前沿的技术发展?

现在有机会了!

不要犹豫了,马上点此免费报名参加

7 月 26 日,不要错过。

认识 71 个 AWS 云服务的术语 ! 通过了解 AWS 世界中使用的术语开始你的 AWS 云服务使用生涯 !

AWS,即 亚马逊 Web 服务 Amazon Web Services ,是一个提供了一系列按使用计费的 web 服务的云平台。 它是迄今为止最为著名的云平台之一。由于其灵活性、有效性、弹性、可测量性和无须维护,所以有一些企业正逐步把他们的业务迁移到云端。 由于许多公司目前在使用这些服务,所以对于系统管理员和运维人员来说应该了解一下 AWS。

这篇文章旨在列出这些 AWS 提供的服务并且解释在 AWS 中出现的术语。

截止到目前为止(2017 年 3 月),AWS 提供了分为 17 组的共计 71 种服务:

计算型服务

这是一个提供了虚拟服务器配置功能的服务,即所谓的云计算。它提供了包括以下这一系列的服务。

  1. EC2:EC2 代表弹性计算云。这种服务提供了可根据个人需求扩展的 虚拟机。
  2. EC2 容器服务:其高性能,高可扩展性使其可在 EC2 集群环境中运行服务。
  3. Lightsail:该服务使用户非常容易地启动和管理虚拟服务器(EC2)。
  4. Elastic Beanstalk:该服务能够自动管理你的应用程序的容量配置、负载平衡、扩展以及健康监控从而减少你的管理压力。
  5. Lambda:它允许你只在你需要的时候运行代码而不用去管理服务器。
  6. Batch:它使用户能够以自定义的管理方式运行计算工作负载(批处理)。

存储型服务

它是一种云存储服务,即由 Amazon 提供的云存储设施。 该组服务包括:

  1. S3:S3 代表简单存储服务(3 个 S)。 它给你提供了在线存储服务,你可随时从任何地方存储/检索任何数据。
  2. EFS:EFS 代表弹性文件系统。 它是一个可以和 EC2 服务器一起使用的在线存储服务。
  3. Glacier:它是一种低成本/低性能数据存储解决方案,主要针对存档或长期备份。
  4. Storage Gateway:这种服务的接口会将你的内部应用程序(托管在 AWS 之外)与 AWS 存储连接。

数据库

AWS 还提供在其基础设施上托管数据库,以便客户可以利用亚马逊最先进的技术来获得更快/高效/安全的数据处理。 该组包括:

  1. RDS:RDS 代表关系数据库服务。 用于在云上设置,操作和管理关系数据库。
  2. DynamoDB:其 NoSQL 数据库提供了快速处理和高可扩展性。
  3. ElastiCache:这是一种为你的 Web 应用程序管理内存缓存以便更快运行它们的方案 !
  4. Redshift:它是一个巨大的(PB 级)的完全可升级的云端数据仓库服务。

网络 & 内容分发

由于 AWS 提供云端的 EC2 服务器,因此网络相关内容也将在出现在这里。 内容分发用于向位于最近位置的用户提供文件。 现如今有许多非常有名的加速网站。

  1. VPC:VPC 代表虚拟私有云。 它是你自己的虚拟网络,是你的专用 AWS 帐户。
  2. CloudFront:这是 AWS 的内容分发网络(CDN)服务。
  3. Direct Connect:它是将数据中心/场所与 AWS 连接起来的网络方式,以提高吞吐量,降低网络成本,并避免由于基于互联网的连接而导致的连接问题。
  4. Route 53:它是一个云端的域名系统的 DNS Web 服务。

迁移

它提供了一系列服务来帮助你实现本地服务到 AWS 的迁移工作。 这包括 :

  1. Application Discovery Service:专门用于分析您的服务器、网络、应用程序以帮助/加速迁移的服务。
  2. DMS:DMS 指的是数据库迁移服务。 它用于将数据从本地数据库迁移到 EC2 上托管的 RDS 或 DB。
  3. Server Migration:也称为 SMS(服务器迁移服务)是一种无代理服务,将您的工作负载从本地移动到 AWS。
  4. Snowball: 当你想要使用物理存储设备(而不是基于互联网/基于网络的传输)将大量数据传入/迁出 AWS 时,你应该使用它。

开发者工具

顾名思义, 这是一系列帮助开发者简化在云端编码的服务。

  1. CodeCommit:它是一个安全的、可扩展的、可管理的源代码管理服务,用于托管代码仓库。
  2. CodeBuild:这是一个云端的代码生成器。主要用于执行、测试代码和构建部署软件包。
  3. CodeDeploy:这是一个可在 AWS 服务器或本地进行自动化应用程序部署的部署服务。
  4. CodePipeline:这个部署服务可以使编码人员可以在发布之前将其应用程序可视化。
  5. X-Ray:它可以使用事件调用分析应用程序。

管理工具

这是一组可帮助你管理 AWS 上的 Web 服务的服务。

  1. CloudWatch:监控你的 AWS 资源或应用程序的监控服务。
  2. CloudFormation:基础设施即代码!以集体有序的方式管理 AWS 架构的方式。
  3. CloudTrail:AWS 帐户的审计和合规工具。
  4. Config : AWS 的资源清单、配置历史记录和配置更改通知,以实现安全性和治理。
  5. OpsWorks:它可以自动化地配置,部署 EC2 或内部部署计算。
  6. Service Catalog:创建和管理被批准在你/公司帐户中使用的 IT 服务目录。
  7. Trusted Advisor:它的 AWS AI 可以通过审查你的 AWS 基础设施使你的 AWS 基础设施更好,更省钱。
  8. Managed Service:提供持续的基础设施管理。

安全性、身份和合规

这是一组很重要的 AWS 服务以确保你的 AWS 空间的安全性。

  1. IAM:IAM 即身份和访问管理,控制用户访问你的 AWS 资源和服务。
  2. Inspector:自动安全评估可帮助你在 AWS 上的应用安全和合规。
  3. Certificate Manager:为 AWS 应用程序提供,管理和部署 SSL / TLS 证书。
  4. Directory Service:相当于 AWS 的 Microsoft Active Directory。
  5. WAF & Shield:WAF 即 Web 应用防火墙。 监控和控制对 CloudFront 或负载均衡器上的内容的访问。
  6. Compliance Reports:AWS 基础设施空间的合规报告,以确保您的应用程序符合您的策略。

数据分析

AWS 空间的数据分析服务,以帮助您查看、计划和对帐户中的事件采取行动。

  1. Athena:它是一个基于 SQL 查询的服务,用于分析 S3 存储的数据。
  2. EMR:EMR 的全写是 Elastic Map Reduce。 是一个主要用于大数据处理和分析的服务。
  3. CloudSearch:AWS 在应用和服务中的搜索功能。
  4. Elasticsearch Service:它可以创建一个域并在 AWS Cloud 中部署、操作和扩展 Elasticsearch 集群。
  5. Kinesis:这种服务可以实现实时的大量流数据处理。
  6. Data Pipeline:它可以帮助我们在不同的 AWS 服务之间实现数据迁移。
  7. QuickSight:收集、分析和呈现 AWS 的业务数据。

人工智能

AWS 的 AI!

  1. Lex:它可以帮助我们在一些使用语音和文本的应用中构建会话界面。
  2. Polly:这是一个提供文字到语音转换的服务。
  3. Rekognition:使您能够将图像分析添加到应用程序。
  4. Machine Learning:它具有学习数据中的模式的算法。

物联网

这个服务保证了 AWS 在不同设备上的高可用性。

  1. AWS IoT:它使联网硬件设备与 AWS 的应用程序能够交互。

游戏开发

顾名思义,这个服务旨在游戏开发。

  1. Amazon GameLift:该服务旨在部署、管理用于会话的多人游戏的专用游戏服务器。

移动服务

这是一组主要针对手持设备的服务。

  1. Mobile Hub:帮助您创建移动应用的后台功能并将其集成到移动应用。
  2. Cognito:在连接了互联网设备上控制移动用户的身份验证和 AWS 的访问。
  3. Device Farm:移动应用测试服务使你可以在 Android 上托管的真实手机上跨 Android、iOS 测试应用。
  4. Mobile Analytics:在 AWS 上测量、跟踪和分析移动应用数据。
  5. Pinpoint:针对性的推送通知和移动互动。

应用服务

这是一组可以和你在 AWS 上的应用一起使用的服务。

  1. Step Functions:定义和使用应用程序中的各种功能。
  2. SWF:SWF 代表简单的工作流服务。其云工作流程管理可帮助开发人员在应用程序生命周期的不同阶段进行协调和贡献。
  3. API Gateway:帮助开发人员创建、管理和托管 API。
  4. Elastic Transcoder:帮助开发人员将媒体文件转换为在各种设备上可以播放的格式。

消息

AWS 中的通知和消息服务。

  1. SQS:SQS 表示简单队列服务。完全管理的消息队列服务,用于在 AWS 中的服务和应用之间进行通信。
  2. SNS:SNS 代表简单通知服务。 为 AWS 用户推送通知服务,提醒他们有关其在 AWS 空间中的服务。
  3. SES:SES 代表简单电子邮件服务。 这是 AWS 为自己的客户提供高性价比的电子邮件服务。

企业生产率

一组帮你提高业务生产率的服务。

  1. WorkDocs:协同文件共享、存储和编辑服务。
  2. WorkMail:安全的商务邮件、日程服务。
  3. Amazon Chime:在线的企业会议!

桌面和应用程序流式传输

实现桌面应用程序通过云端进行流传输。

  1. WorkSpaces:完全管理且安全的云计算服务。
  2. AppStream 2.0:来自云端的流式桌面应用。

(题图:rackaid.com)


via: http://kerneltalks.com/virtualization/aws-cloud-terminology/

作者:Shrikant Lavhate 译者:chenxinlong 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

这种改变使得在 AWS 上实施甲骨文的软件的价格翻了一番,它已经安静地生效了,而几乎没有通知用户。

之前有消息传出,甲骨文使亚马逊云上的产品价格翻了一倍。它在如何计算 AWS 的虚拟 CPU 上耍了一些花招。它这么做也没有任何宣扬。该公司的新定价政策于 1 月 23 日生效,直到 1 月 28 日都几乎没有被人注意到, 甲骨文的关注者 Tim Hall 偶然发现 Big Red 公司的 甲骨文软件云计算环境许可文件并披露了出来。

乍一看,这一举动似乎并不太大,因为它仅将甲骨文的 AWS 定价与 Microsoft Azure 的价格相提并论。但是 Azure 只有市场领先的 AWS 体量的三分之一,所以如果你想在云中销售许可证,AWS 是合适的地方。虽然此举可能或可能不会影响已经在 AWS 上使用甲骨文产品的用户,但是尚不清楚新规则是否适用于已在使用产品的用户 - 它肯定会让一些考虑可能使用甲骨文的用户另寻它处。

这个举动的主要原因是显而易见的。甲骨文希望使自己的云更具吸引力 - 这让 The Register 观察到一点:“拉里·埃里森确实承诺过甲骨文的云将会更快更便宜”。更快和更便宜仍然有待看到。如果甲骨文的 SPARC 云计划启动,并且按照广告的形式执行,那么可能会更快,但是更便宜的可能性较小。甲骨文以对其价格的强硬态度而著称。

随着其招牌数据库和业务栈销售的下滑,并且对 Sun 公司的 74 亿美元的投资并未能按照如期那样,甲骨文将其未来赌在云计算上。但是甲骨文来晚了,迄今为止,它的努力似乎还没有结果, 一些金融预测者并没有看到甲骨文云的光明前景。他们说,云是一个拥挤的市场,而四大公司 - 亚马逊、微软、IBM 和谷歌 - 已经有了领先优势。

确实如此。但是甲骨文面临的最大的障碍是,好吧,就是甲骨文。它的声誉在它之前。

保守地说这个公司并不是因为明星客户服务而闻名。事实上,各种新闻报道将甲骨文描绘成一个恶霸和操纵者。

例如,早在 2015 年,甲骨文就因为它的云并不像预期那样快速增长而越来越沮丧,开始激活业内人士称之为的“核特权”。它会审核客户的数据中心,如果客户不符合规定,将发出“违规通知” - 它通常只适用于大规模滥用情况,并命令客户在 30 天内退出使用其软件。

或许你能想到,大量投入在甲骨文软件平台上的大公司们绝对不能在短时间内迁移到另一个解决方案。甲骨文的违规通知将会引发灾难。

商业内幕人士 Julie Bort 解释到:“为了使违规通知消失 - 或者减少高额的违规罚款 - 甲骨文销售代表通常希望客户向合同中添加云额度”。

换句话说,甲骨文正在使用审计来扭转客户去购买它的云,而无论他们是否有需要。这种策略与最近 AWS 价格翻倍之间也可能存在联系。Hall 的文章的评论者指出,围绕价格提升的秘密背后的目的可能是触发软件审计。

使用这些策略的麻烦迟早会出来。消息一旦传播开来,你的客户就开始寻找其他选项。对 Big Red 而言或许是时候参考微软的做法,开始建立一个更好和更温和的甲骨文,将客户的需求放在第一位。

(题图:windowsitpro


via: http://windowsitpro.com/cloud/oracle-policy-change-raises-prices-aws

作者:Christine Hall 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

LCTT 译注: 终端节点 Endpoint ,详情请见: http://docs.amazonaws.cn/general/latest/gr/rande.html

最新发布的 GO 的 SDK v1.6.0 版本,加入了获取区域与终端节点信息的功能。它可以很方便地列出区域、服务和终端节点的相关信息。可以通过 github.com/aws/aws-sdk-go/aws/endpoints 包使用这些功能。

endpoints 包提供了一个易用的接口,可以获取到一个服务的终端节点的 url 列表和区域列表信息。并且我们将相关信息根据 AWS 服务区域进行了分组,如 AWS 标准、AWS 中国和 AWS GovCloud(美国)。

解析终端节点

设置 SDK 的默认配置时, SDK 会自动地使用 endpoints.DefaultResolver 函数。你也可以自己调用包中的EndpointFor 方法来解析终端节点。

// 解析在us-west-2区域的S3服务的终端节点
resolver := endpoints.DefaultResolver()
endpoint, err := resolver.EndpointFor(endpoints.S3ServiceID, endpoints.UsWest2RegionID)
if err != nil {
        fmt.Println("failed to resolve endpoint", err)
        return
}

fmt.Println("Resolved URL:", endpoint.URL)

如果你需要自定义终端节点的解析逻辑,你可以实现 endpoints.Resolver 接口,并传值给aws.Config.EndpointResolver。当你打算编写自定义的终端节点逻辑,让 SDK 可以用来解析服务的终端节点时候,这个功能就会很有用。

以下示例,创建了一个配置好的 Session,然后 Amazon S3 服务的客户端就可以使用这个自定义的终端节点。

s3CustResolverFn := func(service, region string, optFns ...func(*endpoints.Options)) (endpoints.ResolvedEndpoint, error) {
        if service == "s3" {
               return endpoints.ResolvedEndpoint{
                       URL:           "s3.custom.endpoint.com",
                       SigningRegion: "custom-signing-region",
               }, nil
        }

        return defaultResolver.EndpointFor(service, region, optFns...)
}
sess := session.Must(session.NewSessionWithOptions(session.Options{
        Config: aws.Config{
               Region:           aws.String("us-west-2"),
               EndpointResolver: endpoints.ResolverFunc(s3CustResolverFn),
        },
}))

分区

endpoints.DefaultResolver 函数的返回值可以被 endpoints.EnumPartitions接口使用。这样就可以获取 SDK 使用的分区片段,也可以列出每个分区的分区信息。

// 迭代所有分区表打印每个分区的ID
resolver := endpoints.DefaultResolver()
partitions := resolver.(endpoints.EnumPartitions).Partitions()

for _, p := range partitions {
        fmt.Println("Partition:", p.ID())
}

除了分区表之外,endpoints 包也提供了每个分区组的 getter 函数。这些工具函数可以方便列出指定分区,而不用执行默认解析器列出所有的分区。

partition := endpoints.AwsPartition()
region := partition.Regions()[endpoints.UsWest2RegionID]

fmt.Println("Services in region:", region.ID())
for id, _ := range region.Services() {
        fmt.Println(id)
}

当你获取区域和服务值后,可以调用 ResolveEndpoint。这样解析端点时,就可以提供分区的过滤视图。

获取更多 AWS SDK for GO 信息, 请关注其开源仓库。若你有更好的看法,请留言评论。


via: https://aws.amazon.com/cn/blogs/developer/using-the-aws-sdk-for-gos-regions-and-endpoints-metadata

作者:Jason Del Ponte 译者:Vic020 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

AWS(Amazon Web Services)是全球领先的云服务器提供商之一。你可以使用 AWS 平台在一分钟内设置完服务器。在 AWS 上,你可以微调服务器的许多技术细节,如 CPU 数量,内存和磁盘空间,磁盘类型(更快的 SSD 或者经典的 IDE)等。关于 AWS 最好的一点是,你只需要为你使用到的服务付费。在开始之前,AWS 提供了一个名为 “Free Tier” 的特殊帐户,你可以免费使用一年的 AWS 技术服务,但会有一些小限制,例如,你每个月使用服务器时长不能超过 750 小时,超过这个他们就会向你收费。你可以在 aws 官网上查看所有相关的规则。

因为我的这篇文章是关于在 AWS 上创建 Linux 服务器,因此拥有 “Free Tier” 帐户是先决条件。要注册帐户,你可以使用此链接。请注意,你需要在创建帐户时输入信用卡详细信息。

让我们假设你已经创建了 “Free Tier” 帐户。

在继续之前,你必须了解 AWS 中的一些术语以了解设置:

  1. EC2(弹性计算云):此术语用于虚拟机。
  2. AMI(Amazon 机器镜像):表示操作系统实例。
  3. EBS(弹性块存储):AWS 中的一种存储环境类型。

通过以下链接登录 AWS 控制台:https://console.aws.amazon.com/

AWS 控制台将如下所示:

Amazon AWS console

在 AWS 中设置 Linux VM

1、 创建一个 EC2(虚拟机)实例:在开始安装系统之前,你必须在 AWS 中创建一台虚拟机。要创建虚拟机,在“ 计算 compute ”菜单下点击 EC2:

Create an EC2 instance

2、 现在在 创建实例 Create instance 下点击 “启动实例” Launch Instance 按钮。

Launch the EC2 instance

3、 现在,当你使用的是一个 “Free Tier” 帐号,接着最好选择 “Free Tier” 单选按钮以便 AWS 可以过滤出可以免费使用的实例。这可以让你不用为使用 AWS 的资源而付费。

Select Free Tier instances only

4、 要继续操作,请选择以下选项:

a、 在经典实例向导中选择一个 AMI(Amazon Machine Image),然后选择使用 Red Hat Enterprise Linux 7.2(HVM),SSD 存储

b、 选择 “t2.micro” 作为实例详细信息。

c、 配置实例详细信息:不要更改任何内容,只需单击下一步。

d、 添加存储:不要更改任何内容,只需点击下一步,因为此时我们将使用默认的 10(GiB)硬盘。

e、 添加标签:不要更改任何内容只需点击下一步。

f、 配置安全组:现在选择用于 ssh 的 22 端口,以便你可以在任何地方访问此服务器。

Configure AWS server

g、 选择“ 查看并启动 Review and Launch ”按钮。

h、 如果所有的详情都无误,点击 “ 启动 Launch ”按钮。

i、 单击“ 启动 Launch ”按钮后,系统会像下面那样弹出一个窗口以创建“密钥对”:选择选项“ 创建密钥对 create a new key pair ”,并给密钥对起个名字,然后下载下来。在使用 ssh 连接到服务器时,需要此密钥对。最后,单击“ 启动实例 Launch Instance ”按钮。

Create Key pair

j、 点击“ 启动实例 Launch Instance ”按钮后,转到左上角的服务。选择“ 计算 compute ”--> “EC2”。现在点击“ 运行实例 Running Instances ”:

Go to the running EC2 instance

k、 现在你可以看到,你的新 VM 的状态是 “ 运行中 running ”。选择实例,请记下登录到服务器所需的 “ 公开 DNS 名称 Public DNS ”。

Public DNS value of the VM

现在你已完成创建一台运行 Linux 的 VM。要连接到服务器,请按照以下步骤操作。

从 Windows 中连接到 EC2 实例

1、 首先,你需要有 putty gen 和 Putty exe 用于从 Windows 连接到服务器(或 Linux 上的 SSH 命令)。你可以通过下面的链接下载 putty。

2、 现在打开 putty gen :puttygen.exe

3、 你需要单击 “Load” 按钮,浏览并选择你从亚马逊上面下载的密钥对文件(pem 文件)。

4、 你需要选择 “ssh2-RSA” 选项,然后单击保存私钥按钮。请在下一个弹出窗口中选择 “yes”。

5、 将文件以扩展名 .ppk 保存。

6、 现在你需要打开 putty.exe。在左侧菜单中点击 “connect”,然后选择 “SSH”,然后选择 “Auth”。你需要单击浏览按钮来选择我们在步骤 4 中创建的 .ppk 文件。

7、 现在点击 “session” 菜单,并在“host name” 中粘贴在本教程中 “k” 步骤中的 DNS 值,然后点击 “open” 按钮。

8、 在要求用户名和密码时,输入 ec2-user 和空白密码,然后输入下面的命令。

$ sudo su - 

哈哈,你现在是在 AWS 云上托管的 Linux 服务器上的主人啦。

Logged in to AWS EC2 server


via: https://www.howtoforge.com/tutorial/how-to-setup-linux-server-with-aws/

作者:MANMOHAN MIRKAR 译者:geekpi 校对:jasminepeng

本文由 LCTT 原创编译,Linux中国 荣誉推出