内容


开始使用 IBM Smart Business Development and Test on the IBM Cloud

提高云效率的逐步指导

Comments

IBM Smart Business Development and Test on the IBM Cloud 是一个动态供应并伸缩了的弹性环境,可提供企业客户开发和测试应用程序代码所需要的一切。它包括了一个 Web 门户来配置和管理云资源、IBM 产品的软件映像以便于您立即开始开发和测试,以及一些 API 来使您能够通过编程的方式控制云资源和软件。您还可以通过浏览器或通过一些旨在使此环境成为一个有效的环境以便开发人员很容易地重用组件并在应用程序开发环境中进行协作的 IBM Rational® 工具与 IBM Cloud 交互。IBM Cloud 的产品版本现在已经可以在美国和加拿大可用。查看如何能 立即开始使用 IBM Cloud

(对了,在本文中,如果 “Cloud” 一词中的首字母大写,表示我们谈论的是产品 — IBM Smart Business Development and Test on the IBM Cloud。如果是小写则代表我们所谈的是一般的云计算。)

IBM Cloud 概述

正如所有好的技术一样,云也在不断发展;那么目前,我们可以期待如下的服务:

  • 概览(主页 ibm.com/cloud/developer/)是对此产品环境的访问入口。如果还没有登录过,可以参考最新的新闻和视频。登录后,就会得到活动实例的一个列表以及用户统计信息、视频演示及其他资源。
  • 借助 控制面板 可以添加和管理实例、映像和存储。这里有三个查看选项:
    1. 所供应的所有实例
    2. 创建自定制实例的映像
    3. 所供应的持久云存储单元
    (我们稍候将讨论如何创建和管理实例、映像和存储。)
  • asset catalog 是由 Rational Asset Manager 软件支撑的,它是一个健壮的界面,可用来管理您所创建的定制软件映像的细节。您可以添加许可、用户指导、一般内容,也可以定制映像的细节。asset catalog 还包含一些秘钥开发人员论坛以及其他的云资料和工件。(此列表后,有关于 catalog 的更多讨论。)
  • account page 保存有您的专用秘钥(下一节有关于秘钥的更多内容)、所保留的 IP 地址、您帐户和实例/映像通知的聚合、一些全球统计信息以及基本的用户信息。
  • support page 便于您访问 Development and Test on the IBM Cloud 社区,也提供了其他多种云资源。您可以向他人提出问题并查看反馈。这里还有一个文档和视频库,内有各种详细资源。这个支持页面包括 My developerWorks 上的 IBM Smart Business Development and Test on the IBM Cloud Support Forum— 在这里您可以报告您在使用 IBM Cloud 过程中遇到的问题、查看系统的当前状态以及查看我们的维护时间表。

现在来详细介绍一下 asset catalog。它受 Rational Asset Manager 支撑,借助这个平台,可以管理组织、使用/重用以及对小至一个简单的社区发帖大到一个视频或代码片段的各种资产的报告。

就这个云而言,它可以在如下三个方面提供帮助:

  1. 它为所有的软件映像提供了一个可视的协作存储库,可在云上供应。它带来了一定程度的透明性以及对详细的映像元素的访问,这就使得社区和个人用户很容易就映像的创建和交互相互协作。
  2. 它还通过将与映像相关的所有东西聚合成单一的一个管理单元提高了对映像创建生命周期的管理控制。这就让您可以享受高级别的定制,而无需知道云操作的所有细节。
  3. 它还通过插件导出了一个与基于 Eclipse 的开源工具集成的 API。Rational Zephyr 拓补为您提供了将云资源拖放到部署拓扑中的能力以便您可以将它们包括在项目中并只用几个鼠标单击就能供应它们。

设立帐户

本节将提供逐步指导来帮助您设立帐户。

要注册并设立一个帐户:

  1. 从 overview 页面,在右栏找到 Get started 模块并选择 Register Now
  2. 填入所有字段并单击 Continue。您会收到一个电子邮件,内含激活代码。
  3. 从这封邮件中将激活代码复制并粘贴到注册表单。
  4. 用电子邮件和密码登录。

创建资产

本节将提供逐步指导帮助您创建实例、秘钥、映像和存储。

创建一个虚拟服务器实例

一个实例与一个用户相关联;必须先有实例,然后才能有自己的计算、存储、网络或中间件映像。并且您只能访问您实例化后的映像。

首先,可以基于公用映像创建一个实例。要创建一个新的实例:

  1. 单击 控制面板,然后单击 Add an instance 立即开始。在这里,可以查看所有可用映像的一个列表。
  2. 选择想要访问的数据中心。
  3. 选择想要实例化的一个映像(比如,Novell SUSE Linux Enterprise Server 11.0,32 位)并单击 Next
  4. 键入一个请求名(比如 test_request)。
  5. 如果没有为实例使用 SSH 密钥,请先生成一个密钥对,然后再继续。
    1. 单击 Add Key
    2. 键入密钥对的名称并单击 Continue
    3. 单击 Click to download key 并将此文件保存在本地硬盘上。这个私有密钥创建后,最好加以保存,因为(如果丢失)它将不能恢复。
  6. 选择想要用在连接实例的 SSH 连接内的那个密钥。可以从 Account 选项卡管理这些密钥。
  7. 选择此实例的静态 IP 地址或选择所生成的这个默认系统。单击 Next
  8. 查看此实例的摘要并单击 Next
  9. 选择 I agree 并单击 Submit 阅读并接受许可协议。
  10. 如果实例成功创建,最终会弹出一个消息,告知您已经成功。

创建实例后,可以从控制面板查看它的信息。

创建映像

映像可以是一个公用映像(比如,在 IBM Smart Business Development and Test on the IBM Cloud 服务内预先定义的一个操作系统或中间件映像),也可以是一个可被复制和实例化的定制或捕获实例。映像不能被启动、停止或重启。

好了,至此您已经供应了一个实例并用您自己的数据和软件对它进行了定制。现在,您可以使您自己的私有软件映像以该实例为基础。这个新的映像将被输入您的个人库,为您提供了从该映像供应新实例的能力。

要创建一个映像:

  1. 在控制面板页面,单击 Instances 并选择想要从实例列表中捕获的这个实例。
  2. 单击实例名下面的 Create an image
  3. Create Image 对话框,若不想使用默认值,可以键入名称和描述。单击 Submit。此映像创建完毕可能需要花费一些时间。

创建映像后,可以从控制面板查看其信息。

创建一个持久存储单元

实例创建后,它没有与任何的固定存储相关联。此实例的存储空间由 IBM Smart Business Development and Test on the IBM Cloud 服务自动分配。当删除实例时,与该实例相关联的数据将会丢失。

不过,在创建实例之前,可以先创建存储,而在删除此实例后,存储还会存在:

  1. 在控制面板页面,单击 StorageAdd storage 以便开始。
  2. 选择这个数据中心,键入名称,并选择存储的大小和格式。 单击 Next
  3. 查看存储的摘要并单击 Next
  4. 选择 I agree 阅读并接受许可。
  5. 单击 Add Storage。会出现类似于 “Successfully created new Storage” 的提示信息。

在添加了存储后,就可以从控制面板上删除它的信息。

有关存储,有两点需要注意:

  • 存储只能在创建实例时被附加。
  • 可以通过 NFS 或类似的应用程序在实例间共享存储。

访问资产

本节将提供逐步指导来帮助您访问刚刚创建的实例。

有三种方法可以连接到所创建的实例。

  • 通过 PuTTY。
  • 通过 WinSCP。
  • 通过 VNC。

通过 PuTTY 连接到实例

当然,使用来自 Account 选项卡的 Web 浏览器将可以连接一些实例。例如,如果您创建过 Novell SUSE 11 Linux Enterprise Server 实例,可以通过单击 “Getting Started” 屏幕上的链接登录并配置您的团队。但如果想要或必须使用一个 SSH 客户机连接到实例,则必须获得这个客户机并准备好 SSH 私有密钥以便安全地连接到您的实例。

Linux 和 Apple 操作系统有一个嵌入的 SSH 客户机。对于 Microsoft Windows 操作系统,可以从 PuTTY 下载站点(参考资料)下载 PuTTY;PuTTYgen 还可方便地用来生成您自己的密钥对。

准备密钥。 必须获得与您实例相关联的私有密钥。它必须是 PuTTY 格式。如果您的密钥是在创建实例时由用户界面生成的,那么就可以将它转变为 PuTTYgen 内的一个 PuTTY 密钥文件并保存为公用密钥供将来使用:

  1. 启动 PuttyGen.exe。
  2. 单击 Load,在您本地磁盘上定位这个密钥文件(比如,ibmcloud_your.name@us.ibm.com_rs),并单击 Open
  3. 指定一个密钥 passphrase。单击 Save private key
  4. 选择 PuTTY 密钥文件的保存位置以及文件名(比如 test.ppk),然后单击 Save
  5. 单击 Save public key,如果愿意,可以指定一个不同的名称,然后单击 Save。默认地,test.ppk 的公用密钥将保存于与 test.ppk.public 相同的目录内。

连接到您的实例。若在本地机上有 PuTTY 客户机,那么可以很安全地连接到在 IBM Smart Business Development and Test on the IBM Cloud 服务内创建的实例。要连接到您的实例:

  1. 启动 PuTTY。
  2. 在主机名(或 IP 地址)字段中输入您实例的 IP 地址。
  3. 从左侧的 category 面板中选择 Connection -> Data 并在 Auto-login 用户名字段中键入 idcuser
  4. 从左侧的 category 面板中选择 Connection -> SSH -> Auth 并在 Authentication 参数中的 SSH-2 选择 Allow attempted changes of username
  5. 单击 Browse,选择通过 PuTTYgen 生成的 PuTTY 专用密钥文件并单击 Open
  6. 单击 Open。如果已经指定了一个密钥 passphrase,那么就直接输入,这时将看到一个页面提示您正在连接到您的实例。

通过 WinSCP 连接到实例

WinSCP 是面向 Microsoft Window 的一个开源 SFTP 和 FTP 客户机。它可以被用于安全地在远程机与本地机之间传输文件。WinSCP 客户机可以从这个站点获取(参考资料 )。

连接到您的实例。若在本地机上有 WinSCP 客户机,那么您可以很安全地连接到您在 IBM Smart Business Development and Test on the IBM Cloud 服务内创建的实例。要连接到您的实例:

  1. 若您的专用密钥不是 .ppk 格式的,那么需要将您的专用密钥(在创建实例时所生成的)转换成 PuTTY 格式。
  2. 启动 WinSCP。
  3. 输入此实例的 IP 地址或主机名,同时输入用户名 idcuser。密码保留空白。
  4. 找到专用密钥文件。
  5. 单击 Login
  6. 出现提示时,指定 passphrase。单击 OK

通过 VNC 连接到实例

Virtual Network Computing (VNC) 支持远程控制,让您能够查看和管理远程应用程序。要获取 VNC 客户机和服务器,可以从 RealVNC Web 站点(参考资料)下载它们。

准备 VNC 服务器。在用 VNC 连接到一个实例前,需要在这个实例上安装并配置 VNC 服务器。

要在 Novell SUSE Linux 11 Enterprise Server 上准备 VNC 服务器:

  1. 启动 PuTTY 并登录到这个实例。
  2. sudo bash 命令设置根特权。
  3. 输入 vncserver 命令后,指定并确认密码来访问您的远端桌面。
  4. 当被提示是否设置一个只限查看的密码时,请键入 y
  5. 指定一个只限查看的密码并再次输入这个密码以确认您的输入。
  6. 用类似 yast 的命令配置这个实例:
    1. 用上下箭头键从左侧面板中选择 Network Services
    2. 按右箭头键,然后用上下箭头键选择 Remote Administration。按下 Enter 键。
    3. Tab 键直到您选择 Allow Remote Administration,然后按下 Enter 键。
    4. Tab 键来选择 Finish

要在 Red Hat Enterprise Linux 上准备 VNC 服务器:

  1. 启动 PuTTY 并登录这个实例。
  2. sudo bash 命令设置根特权。
  3. 输入 vncserver 命令后,指定并确认密码来访问您的远端桌面。
  4. 从 /root/.vnc/ 中找到这个文件 xtartup 并输入 vi 命令。
# Uncomment the following two lines for normal desktop:

unset SESSION_MANAGER-----------------------(Attention: uncomment the two line)
exec /etc/X11/xinit/xinitrc 

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
twm &
~
  1. 取消这两行的注释(在本例中的粗体部分)并退出 vi。
  2. 添加规则 #iptables -A INPUT -p tcp --dport 5900:5920 -j ACCEPT
  3. 再次输入 vncserver 命令。这时 VNC 服务器已经启动了。

连接到您的实例。 如果在机器上安装了 VNC 查看器,那么就可以连接到在 IBM Smart Business Development and Test on the IBM Cloud 服务内创建的实例。要连接到您的实例:

  1. 启动 VNC 查看器。
  2. 输入您实例的主机名或 IP 地址、一个冒号(:)及显示数字(比如 129.33.195.130:3)。这个显示数字必须与在前面的配置步骤中所用的数字相匹配。
  3. 单击 OK ,您将能看到这个实例的图形界面。

为实例配置防火墙

用户问我最多的问题就是:“我如何配置我实例上的防火墙?”(而用户通常也会以 “为什么我不能连接到我实例上的 XXX 端口?” 的形式来问这个问题。)

目前,除了邮件端口 25 外,所有您的出向端口 — 请记住,您的实例试图联系某个端口上的一个外部服务 — 都应是开放的。(如果需要发送邮件,可以考虑使用安全 SMTP,端口 465。)

对于入向端口,至少有两种方法可以用来配置它们:

  1. 通过将适合您虚拟机的规则注入到整个虚拟机监控程序防火墙规则中。
  2. 在虚拟机本身(例如,使用 iptables)。

更改虚拟机监控程序防火墙规则

首先让我们仔细看看第一种方法。显然,如果关心的是性能,那么最好是处理虚拟机监控程序级别上的防火墙。如果想要把这些包限制在这个级别,那么在它们被丢弃前,它们甚至无需被发到 VM。

另一方面,我们正在讨论的这个过程似乎有点难懂:在基础主映像中,只有端口 22、80 和 443 可以通过虚拟机监控程序对 VM 开放。如果需要开放其他的端口,可以按照以下步骤进行:

  1. 您需要捕获正在运行实例的一个映像。在控制面板中,选择实例并单击 Select image。所需的时间长短取决于这个实例的大小。
  2. 完成捕获后,需要在映像目录中找到并访问您的定制映像。请确认您已经登录;从这个映像首页中您需要单击 Content 选项卡并导航到名为 parameters.xml 的文件。
  3. 查看一下这个默认的 parameters.xml 文件。它应该类似于如下的清单 1,只有端口 22、80 和 443 是开放的:
清单 1. 默认的 parameters.xml 文件
  <?xml version="1.0" encoding="UTF-8" ?> 
- <parameters xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:noNamespaceSchemaLocation="platform:/resource/com.ibm.ccl.devcloud.client/
    schema/parameters.xsd">
  - <firewall>
    - <rule>
        <source>0.0.0.0/0</source> 
        <minport>22</minport> 
        <maxport>22</maxport> 
      </rule>
    - <rule>
        <source>0.0.0.0/0</source> 
        <minport>80</minport> 
        <maxport>80</maxport> 
      </rule>
    - <rule>
        <source>0.0.0.0/0</source> 
        <minport>443</minport> 
        <maxport>443</maxport> 
      </rule>
 </firewall>
</parameters>
  1. 您可以随意地添加您想要开放的端口。如果想要开放所有的端口,可以以这个文件为基础。
清单 2. 开放所有端口
  <?xml version="1.0" encoding="UTF-8" ?> 
- <parameters xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:noNamespaceSchemaLocation="platform:/resource/com.ibm.ccl.devcloud.client/
    schema/parameters.xsd">
  - <firewall>
    - <rule>
        <source>0.0.0.0/0</source> 
        <minport>1</minport> 
        <maxport>65535</maxport> 
      </rule>
    </firewall>
</parameters>
  1. 上载修改后的这个文件(代替原来的 parameters.xml)并确保已经保存了这个新的映像。
  2. 从这个修改后的映像供应一个新的实例。一旦实例成为活动的,新的防火墙规则将会代替老的规则。

更改 iptables 规则

更改 iptables 规则更为迅速。默认情况下,iptables 防火墙未在实例中启用。(要更多地了解 iptables,可以访问 项目主页。)

要启用它,按以下的步骤操作:

  1. 成为根用户(sudo bash),导航到 /etc/sysconfig,并编辑名为 iptables 的这个文件。
  2. 可以随意地添加或移除一些行:完成后,启动这个服务:service iptables start
  3. 检查此服务是否在运行及这些规则是否有效:service iptables status

一切准备就绪了!

管理您的资产

本节将提供逐步指导来帮助您管理所创建的这些资产。

管理实例

在控制面板页面,选择 Instances,将得到当前实例的一个列表。可以对实例执行以下操作:

  • 编辑实例名称。
    1. 单击实例名称旁的 Change name
    2. 指定一个新名称并单击 Continue
  • 延长有效期。现在,有效期最长可延长 30 天。
  • 删除实例。当删除实例时,实例将被停止,并且在临时文件系统中的数据也将被删除且不能恢复,因此,需要把重要的数据保存到其他的存储系统上。
  • 创建一个映像。可以基于您定制的实例创建映像。

管理映像

在控制面板页面,选择 Images,将得到当前映像的一个列表。可以对映像执行以下的操作:

  • 删除一个映像。
  • 在这个映像基础上创建一个实例。
    1. 单击 Instances 选项卡并单击 Add instance
    2. Add Instance (4 步骤中的第 1 步)选择这个映像对话框,单击右上方的 My images
    3. 选择想要实例化的映像并单击 Next

作为一个最终用户,可以只有专用映像。但这样一来,将不能与企业内或企业外的其他人分享这些映像。

管理存储

在控制面板页面,选择 Storage,将得到当前存储的一个列表。可以对存储执行以下操作:

  • 删除存储。
  • 基于此存储创建一个实例。
    1. 单击 Instances 选项卡并单击 Add instance
    2. 选择一个映像。
    3. Configure Image 对话框的 Add Instance 中(4 步骤中的第 2 步),选择在 Mount Storage 字段中创建的这个存储并单击 Mount Point(比如 /mnt/extra)。
  • 通过设立 NFS 服务器共享此存储。
    1. 配置映像防火墙来打开 NFS 端口:nfsd 用端口 111,mountd 用端口 2049,mountd 用端口 1011,lockd 用端口 35000。(请注意,只能为映像做防火墙配置,不能为实例做这些配置,因此需要从实例捕获映像并配置专用映像。)
    2. 通过编辑文件 /etc/services 为 mountd 和 lockd 指定端口:
      mountd 1011
      rpc lockd 35000
    3. 供应映像并用 PuTTY 或 VNC 连接到实例。
    4. 配置一个 NFS 服务器:
      # rpc.nfsd
      # rpc.mountd
      # vi /etc/exports
      在文件 /etc/exports 中,将 0.0.0.0 更改为 *。
    5. 启动这个 NFS 服务器: # service portmap start
      # service nfs start

要使用在其他实例中共享的存储,可以将这个存储挂载到本地目录: # mount -t nfs <SERVER_NAME>:/<SERVER_DIR> <LOCAL_PATH>,其中:

  • <SERVER_NAME>是 NFS 服务器的主机名。
  • <SERVER_DIR> 是 NFS 服务器上的这个存储的目录。
  • <LOCAL_PATH> 是这个存储要被挂载到的那个目录。

管理密钥

在帐号页面,可以在 Access 下查看当前密钥的列表。可以对密钥执行以下操作:

  • 查看密钥的内容。单击密钥表 Actions 列中的 Edit,就可以看到这个密钥的内容。
  • 编辑一个密钥。
    1. 在编辑这个密钥前,需要获取 PuTTYgen 以生成您自已的密钥对。
    2. 单击密钥表 Actions 列中的 Edit
    3. 运行 PuttyGen.exe 并单击 Generate
    4. 指定一个 passphrase。
    5. 单击 Save public key
    6. 指定想要保存这个密钥文件的位置。
    7. 复制这个密钥文件的内容(不包括头 ssh-rsa 和尾 rsa-key-20091222)并将其粘贴到 Key contents 字段。
    8. 单击 Save changes
  • 更改默认密钥。如果有多个密钥,那么可以单击 Change the default key 并选择另一个密钥。
  • 添加一个密钥。单击 Add a key
    1. 在添加密钥前,需要获取 PuTTYgen 以生成您自已的密钥对。
    2. 运行 PuttyGen.exe 并单击 Generate
    3. 指定一个 passphrase。
    4. 单击 Save public key
    5. 指定想要保存密钥文件的位置。
    6. 单击 Add a key,复制这个密钥文件的内容(不包括头 ssh-rsa 和尾 rsa-key-20091222)并将其粘贴到 Key contents 字段。
    7. 单击 Continue
  • 生成一个新密钥。单击 Generate a new key,将获得一个由 IBM Smart Business Development and Test on the IBM Cloud 服务生成的密钥。

管理 IP 地址

在帐号页面,可以在 Your IPs 下查看当前 IP 地址的一个列表。可以对这些 IP 执行以下操作:

  • 添加一个 IP。单击 IP 表下的 Add IP,选择数据中心后, 就会分配一个 IP 地址。
  • 删除一个 IP。单击 IP 表 Actions 列的 Delete
  • 创建具有这个 IP 地址的一个实例。
    1. 单击控制面板中的 Instances ,然后单击 Add instance
    2. 选择一个映像。
    3. Configure Image 对话框的 Add Instance (4 步骤中的第 2 步),在动态或静态的 IP 字段选择这个 IP 地址。

关于在这个 Cloud 中工作的更多信息

此外,这里有一个更新了的 how-to wiki(参见 参考资料),它提供了其他的起步指导,比如:

  • 添加一个基础操作系统和 SDK DVD 作为一个 YAST 安装源(以防您想要将其他软件安装到您的虚拟机上)。
  • 有关通过编程方式与这个 Cloud 环境交互(通过 REST API)的更多参考。
  • 如何在任意 VM 上成为根用户。
  • 同步您的本地时间与 NTP。
  • 如何配置 IPv6(如果有一个软件依赖项需要 IPv6)。
  • 创建运行中实例的一个副本(如若您的旧实例就要过期或是创建完全相同的 VM,这么做可以保存您的工作)。

结束语

尝试使用 IBM Smart Business Development and Test on the IBM Cloud — 可以通过产品版本,也可以使用 beta 版(参见 参考资料)。


相关主题


评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Cloud computing
ArticleID=501910
ArticleTitle=开始使用 IBM Smart Business Development and Test on the IBM Cloud
publish-date=07222010