Amazon使用指南

Amazon使用指南
一、Amazon Web Services简介
Amazon Web Services是一组服务,可以通过程序访问 Amazon 的计算基础设施。只要能够访问 Internet就可以使用Amazon Web Services。Amazon 提供多种Web服务,最基本的服务包括存储、计算、消息传递和数据集。通过Amazon 提供的可靠且经济有效的服务上构建功能,可以实现复杂的企业应用程序。这些 Web 服务本身驻留在用户所在物理环境之外的云中,具备极高的可用性。只需根据使用的资源付费,不需要提前付费,具有很强的弹性计算能力。因为硬件由 Amazon维护和服务,从而降低了用户的使用难度、成本和维护费用。公司不再需要承担高额的基础设施投资和维护成本,这为创新提供了更大的机会。使得用户集中于其本身的业务,而无需为服务器、磁盘空间、操作系统和应用软件的维护、安装、更新等相关的计算环境问题。根据 Amazon的估计,传统企业大约花费 70% 的时间用于构建和维护基础设施上,在推动企业发展的思想上实际上只花费 30% 的时间。现在,Amazon 会处理与硬件和基础设施相关的繁琐工作,并确保其高可用性,用户只需关注其自己的核心业务。
Amazon提供的存储服务。所有应用程序都需要存储文件、文档、用户下载或备份。现在,可把应用程序需要的任何文件存储在 Amazon Simple Storage Service (S3) 中,从而实现可伸缩、可靠、高可用、低成本的存储。Amazon Elastic Compute Cloud (EC2) 能够根据需要扩展或收缩计算资源,非常方便地提供新
的服务器实例。Amazon Simple Queue Service (SQS) 提供不受限制的可靠的消息传递,可以使用它消除应用程序组件之间的耦合。Amazon SimpleDB (SDB) 提供可伸缩、包含索引且无需维护的数据集存储,以及处理和查询功能。Amazon SimpleDB (SDB) 提供可伸缩、包含索引且无需维护的数据集存储,以及处理和查询功能。和第三方提供多种语言的开发人员库,包括 Ruby、Python、Java™、Erlang 和 PHP,可以使用这些库与服务通信。还可以使用命令行工具管理 EC2 上的计算资源。REST 接口很容易使用;可以用任何编程语言编写客户机,通过 HTTP 向 Web 服务发出请求。
Amazon Simple Storage Service(S3)提供一个用于数据存储和获取的 Web 服务接口。数据可以是任何类型的,可以从 Internet 上的任何地方存储和访问数据。可以在S3中存储任意数量的对象;存储的每个对象的大小可以从1字节到5GB。在创建 bucket(与操作系统中的文件夹概念相似)时,可以选择对象的存储位置。使用与 Amazon 电子商务网站的全球网络相同的数据存储基础设施存储数据,确保安全性。对于存储在 S3 中的每个对象,
可以指定访问限制,可以用简单的 HTTP 请求访问对象。甚至可以让对象可通过 BitTorrent 协议下载。S3 让用户完全不必为存储空间、数据访问或数据安全性操心。甚至不必承担维护存储服务器的成本。Amazon 为 S3 提供的服务水平协议承诺 99.9% 的正常运行时间,每月度量一次。
Amazon EC2 是一个 Web 服务,用户可以在几分钟内获得虚拟机器,根据需要轻松地扩展或收缩计算
能力。用户只需为实际使用的计算时间付费。如果需要增加计算能力,可以快速地启动虚拟实例;当需求下降时,可以随时降低使用的资源。EC2 环境本身基于在剑桥大学开发的开放源码的 Xen 系统管理程序。Amazon 允许创建 Amazon 机器映像 (AMI) 作为实例的模板。可以通过指定权限控制对实例的访问。Amazon EC2 提供真正全Web范围的计算,很容易扩展和收缩计算资源。您可以完全控制在 Amazon 数据中心中运行的这个计算环境。Amazon 提供五种服务器类型;可以选择适合自己应用程序需要的服务器类型。
Amazon Simple Queue Service (SQS) 允许访问 Amazon 提供的可靠的消息传递基础设施。可以使用简单的基于REST的 HTTP 请求在任何地方发送和接收消息。不需要安装和配置任何东西。可以创建任意数量的队列,发送任意数量的消息。Amazon 把消息存储在多个服务器和数据中心中,从而提供消息传递系统所需的冗余和可靠性。每个消息最多可以包含 8KB 的文本数据。每个队列可以有一个可配置的可见性超时周期,用来控制多个读者对队列的访问。一个应用程序从队列中读取一个消息之后,其他读者就看不到这个消息,直到超时周期期满为止。在超时周期期满之后,消息重新出现在队列中,另一个读者进程就可以处理它。SQS 与其他 Amazon Web Services 很好地集成。可以使用 SQS 构建松散耦合的系统;在这种系统中,EC2 实例可以通过向 SQS 发送消息相互通信并整合工作流。还可以使用队列为应用程序构建一个自愈合、自动扩展的基于 EC2 的基础设施。可以使用 SQS 提供的身份验证机制保护队列中的消息,防止未授权的访问。
Amazon SimpleDB (SDB)是一个用于存储、处理和查询结构化数据集的 Web 服务。它并不是传统意义上的关系数据库,而是一个高可用的模式,是云中的非结构化数据存储,可以使用它存储和获取包含键的值。每组包含键的值需要一个惟一的条目名;条目本身划分为域。每个条目可以包含最多 256 个键-值对。可以在每个域中对自己的数据集执行查询。SDB 便于使用,提供关系数据库的大多数功能。SDB 的维护比典型的数据库简单得多,因为不需要设置或配置任何东西。Amazon 负责所有管理任务。Amazon 自动地为数据编制索引,可以在任何时候任何地方访问索引。不受模式限制的关键优点是,能够动态地插入数据和添加新的列或键。SDB 是 Amazon 基础设施的组成部分,会在幕后自动地扩展。您可以把注意力放在更重要的方面。同样,只需为实际使用的数据集资源付费。
二 EC2实现弹性计算
Amazon Elastic Compute Cloud (EC2) 是 Amazon 提供的云计算环境的基本平台。通过使用 EC2,可以在任何时候根据个人或企业的需要简便地创建、启动和供应虚拟实例。根据实例的类型和每小时的实际使用量付费。虚拟服务器在 Amazon 数据中心的安全环境中运行。EC2 可以为 Web 范围的应用程序提供动态地配置计算需求、需要调整计算能力。在 EC2 启动实例时,自动地为每个实例分配一个私有 IP 地址和一个公共 IP 地址。当然,可以使用公共 IP 地址通过 Internet 访问实例。但是,在每次启动实例时,这个地址都会变。如果使用某种动态 DNS 映射把 DNS 名称连接到 IP 地址,那么把变化传播到整个 Internet 花费的时间可能长达 24 小时。为了解决这个问题,EC2 引入了弹性 IP 地址的概念。弹性
IP 地址是与您的 EC2 账户相关联的静态 IP 地址,而不是与实例相关联;除非显式地把它释放回 EC2,它会一直与您的账户相关联。还可以在实例之间重新映射弹性 IP 地址。因此,在任何实例出现故障时,只需启动另一个实例并重新映射它(或使用现有的实例),从而快速响应实例故障。在任何时候,只能有一个实例映射到弹性IP地址。
按照以下步骤为账户启用 Amazon EC2 服务:
1.登录 Amazon Web Services 账户。
2.导航到 Amazon EC2。
3.选择页面右边的 Sign Up For This Web Service。
4.提供必需的信息并完成注册过程。
与任何 Amazon Web Services 的所有通信都要通过 SOAP 接口或查询/REST 接口。在本文中,将使用查询/REST 接口与 EC2 通信。需要获得自己的访问键,可以通过在Web Services Account information 页面上选择 View Access Key Identifiers 获得访问键。现在设置了 Amazon Web Services 并为账户启用了 EC2 服务。与 EC2 交互
对于这个示例,我们使用 Amazon 提供的命令行工具和第三方开放源码 Ruby 库 right_aws 与 EC2 交互。在本文中,我们要:
•设置本地 EC2 开发环境。
•启动一个现有的 AMI。
•定制 AMI 以安装 right_aws 库和所需的其他软件。
•重新打包 AMI,把 AMI 上传给 S3,然后注册它。
•启动新的定制 AMI。
•通过在 Ruby shell 中运行代码片段熟悉 right_aws AP I。
(1)设置本地 EC2 开发环境
Amazon EC2 工具需要 Java™ 技术,所以要安装 Java。
1.下载 Amazon EC2 AMI Tools 和 Amazon EC2 API Tools。
2.解压到您选择的目录中。
3.需要设置一些环境变量并把工具目录添加到 shell 路径中,这样就可以在执行命令
行命令时到它们。清单 1 给出一个示例。
下面的命令针对 Linux。如果使用 Microsoft® Windows®,可以改用等效的命令。可以
从 account information page 下载 EC2 X.509 证书和 EC2 私有密钥文件。
清单 1. 设置 EC2 开发环境
$ export EC2_HOME=path_to_the_directory_with_the_tools
$ export JAVA_HOME=path_to_the_directory_with_your_java_sdk
# Add the directory to your PATH
$ export PATH=$PATH:$EC2_HOME/bin
# Export variables with the paths to your private key file and X.509 certificate $ export EC2_PRIVATE_KEY=path_to_your_private_key
$ export EC2_CERT=path_to_your_x509_certificate
4.运行以下命令列出 EC2 命令行工具的版本,从而确认所有设置都是正确
的。
清单 2. 检查设置
$ ec2-ami-tools-version
1.3-20041 20071010
5.需要创建在命令行 shell 中启动和连接实例所需的 SSH 密钥对。清单 3 中的命令
创建一个新的密钥对,然后在屏幕上显示密钥对的名称、它的指纹和私有密钥数据。
清单 3. 创建新的 SSH 密钥对
$ ec2-add-keypair devworks
KEYPAIR devworks
29:d1:90:7b:3d:a4:99:52:41:e0:1f:21:d5:20:97:d3:f0:33:fd:76
-
----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAyxaeXt6nb+qzboVW/3ax7An8CUJjDqwNi/PZm4lGOAzOHGnuPlDXeh1GpJ9f
hky7Bg6VEY2VfS5G6UtmIzsGf/JlquzVl/x3uyriOzeCIw+m07aSgUOBn3qW/74IZxYYkxCYdBci
eZeKpr8Mpvuz2sfurRzQOkUeHyuEaiD1RRS7DGxxUXfpVYhGjPltfNW2xRSMLTaOZzRwRdS0cHUU
hC+GOKFDkp8nqQpd8iGUtp2G2DI1pxRN4MbeFZHWMh5tcIo1NTc7pkFPGEwrq6pO6gIsEOLqGpTL
+2AxJY5WToZQoTWieOVwLpjJU9fnufRs0Mt/M/TP6SGK/YkrQOprOwIDAQABAoIBAFj1UGvX9dnl
IbHAwInoUSlGelsH9GIB5XEvYFtr9xEoMsRpdk1flfNMjZwgn3Qxeh6+Fnf438lUkwUv3M6D1WYI
JJaJZUpM8ZlPwIcV2nBHM9k6+NOcYVQdG7VsZTvahusscssvMw+13KsLtpwSVwb3WsoDfAZ6LiaT Jk5in20hTiipC0pz0K9DgQ//76r20ysUFpCymj4EvQrRkk5kBtsiMixsJzimpUOrSmrRHcORKEin FKM6y/DFE33zhP8BNDQRaDLGni0Ip+/jP3EHmia41SSbnwzRcbXMfH5fL3KAyRsCE0ocHY+cjUng HPYxl1ffdLZuEW3wJDQFuTS/v4ECgYEA9r7HVVnrS2303zclzCTGen/W/SVbpflSKEYJOZpa8RtQ uFMOewfkTbBzfavLMVBYB8uAmcWIz5JAFSzlBaKDRCnouUeeDiDJVJd8Asbn1gCE8UVETUOthy50 R90RTtPNMmyP7AnoSMTuzsbwVORus7IJvceWHQBB4KCh652UansCgYEA0rSmvdquidkXf5iFpebc
6Wh/qy+L1dkgz7+HTZIMW7kxA4EfJFnqaQRPqJ5XYcLvk2IzxNQKJlZvtBhCfVYhPJ2uB2Yqxv0p 0LXGC01fZSyhbYGfaxVymA3HMc2ULBbaFMyhO7l7zkz+G+qkylych59zJBSoUxSFStpgNL7NhkEC gYAPJIorLMeJ64eZo1LIgoFDx1C0XHSRbQmjuxiZ1mU6YsjDZyV+W2+hbPDJh5+CuUGNyOlthnfs 9TbFlenAPMb9iezkYgbLKyvv6xQLP5W+xm1iOTQF4d9mam1sc566TblMHOmAPONqg9t8CS16qEI6 +PQsF3GY+gkQ9gq54QPYvQKBgDgwjsrQd30xVI/lV7a/Uyg3gtxe6JaVuadNN0LbcMpBH64EkA58 oANzb97SoxDiEEuog4+40CAbKtzHH2wXPPPSROeaOkwolS8gWnkHICp19XKjf6Tp6k5cVkOUxC/h xDSJwXGQ7FA+vgEp2NpSSjfssKLtk1ncfhNRGxjVzS9BAoGBALbBLS4Nbjs2Fco+okNQPNfJNSvW yWV7a6ngfRzW8B+BO6V1QRIR44bwv/Z74oQ7ttt8KoZENB5yzZwaVWpFlOjSO/4Nx++Ef4pY5aPS zNpXcXCZgUdA67qmOILvrG7bnDR60dcBZVBl7CjnpTlccg7MD4CBsFJx+hGRPD2yIV94
-----END RSA PRIVATE KEY-----
6.把输出中从 -----BEGIN RSA PRIVATE KEY----- 开始的部分保存到一个本地文件
中。这就是启动实例和用 SSH 访问实例所用的私有密钥。一定要保证这个文件不被
泄露,不丢失。如果使用这个密钥启动一个实例,以后丢失了密钥,就无法再使用
shell 连接它。把密钥文件命名为 pk-devworks,修改文件的权限以提高安全性。
清单 4. 修改私有密钥文件的权限
$ chmod 600 pk-devworks
现在,开发环境已经设置好了。启动第一个实例。现在,从 RightScale 提供的一个基
于 CentOS 的公共映像启动第一个实例。这个映像的 AMI ID 是 ami-d8a347b1。
清单 5. 启动实例
$ ec2-run-instances –k devworks -n 1 ami-d8a347b1
RESERVATION    r-2691404f      710193521658    default
INSTANCE        i-7f923516      ami-d8a347b1
pending
devworks        0              m1.small
2008-09-07T18:05:34+0000
us-east-1c      aki-9b00e5f2
刚启动的实例总是处于 pending 状态。因为这个实例仍然处于启动过程中,所以还不
能访问它。在这种状态下,可以查看这个实例的相关信息:
•启动时间 — 以 UTC 形式显示的实例启动时间。
•实例类型 — 在启动时没有指定实例类型,所以 EC2 自动选择默认的 m1.small 实例。
•可用区 — 在启动时没有指定可用区,所以 EC2 根据当前的系统健康状态和可用性选择一个可用区。

本文发布于:2024-09-22 07:01:03,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/483430.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:使用方法手册
下一篇:welink使用手册
标签:实例   需要   使用   数据   提供   启动
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议