+86 13541016684Mon. - Fri. 10:00-22:00

通过AWS Cloud9搭建服务器环境

通过AWS Cloud9搭建服务器环境

关于AWS Cloud9

Cloud9 AWS Cloud9 是一种基于云的集成开发环境 (IDE),您只需要一个浏览器,即可编写、运行和调试代码。它包括一个代码编辑器、调试程序和终端。Cloud9 预封装了适用于 JavaScript、Python、PHP 等常见编程语言的基本工具,您无需安装文件或配置开发计算机,即可开始新的项目。Cloud9 IDE 基于云,因此您可以从办公室、家中或任何地方使用已连接互联网的计算机完成项目。Cloud9 还可以为开发无服务器应用程序提供无缝体验,使您能够轻松定义资源、进行调试,并在本地和远程执行无服务器应用程序之间来回切换。借助 Cloud9,您可以与团队快速共享开发环境,从而能够将程序配对,并实时跟踪彼此的输入。

在AWS国内区域通过 Marketplace 部署 Cloud9 Web IDE

目前AWS Cloud9暂未落地在中国区域, 因此无法在控制台上直接启动一个Cloud9 IDE. 不过由于Cloud9 Core是开源的,因此我们可以通过在EC2上部署Cloud9 Core来达到使用Cloud9 IDE的目的。

目前这个AMI已经经过了中国区Marketplace的流程并上线,中国区的用户可以在启动EC2的时候,选择Marketplace中的AMI创建一台虚拟机即可。Cloud9相关的Web服务会自动在EC2里面启动,相关的安全组也会配置好。以下是具体的在AWS中国区控制台的操作步骤:

1. Marketplace中选择AMI

AMI

2. 了解AMI相关信息

AMI 点击”Continue”继续下一步

3. 选择实例类型

Instance 可以选择默认的t3.small类型,或是根据需要选择配置更高的实例类型

4. 配置实例

Instance 对实例的信息进行配置。注意网络相关的配置,需要确保选择一个可通公网的子网,并分配公有IP,以便从互联网访问EC2实例

5. 配置存储

Instance 可以按默认配置,或是根据需要增加存储卷数量或大小

6. 配置标签

Tag 可以根据需要为实例进行标签配置

7. 配置安全组

SG 针对这个AMI会默认打开8181端口和22端口。其中8181端口做为Cloud9 Web IDE的访问端口(必须),22端口是做为SSH远程访问端口(非必须)。

8. 审核并启动实例

Launch 相关配置信息检查无误后即可启动实例

9. 配置SSH Key

Key 一般使用这个AMI无须配置SSH Key, 只需要通过Web来登陆即可。如果后续希望通过SSH登陆这台EC2,则可以配置SSH Key

10. 查看实例启动状态

Status 此时实例已经正常启动,点击红色框中的实例ID可以查看实例的相关信息

Status 留意在这个窗口下可以查看到实例的ID和实例的公有IP/DNS,后续登陆Cloud9时需要用到

11. 登陆Cloud9

Cloud9 在浏览器中输入 http://实例公有IP:8181 ,并在弹出的窗口中输入

  • 用户名: aws
  • 密码: 实例ID(即上一个步骤中获取到的实例ID)

Cloud9 验证成功后即可登陆至Cloud9 Web IDE

进入实验环境

步骤1: 通过AWS Cloud9搭建服务器环境

AWS Cloud9 为您提供了EC2基础设施资源并且一个可视化的编辑器。在本次实验中,您将通过Cloud9去创建一台具有公网访问权限的EC2 实例,运行后续的实验。

1.1 通过浏览器进入 https://dashboard.eventengine.run/ ,填入12位hash code,然后选择 Email One-Time Password 输入邮件接收临时密码

image-20210903140529220

image-20210903140615953

image-20200729204214972

输入邮箱接收一次性登陆验证码

通过点击AWS Console , Open AWS Console 进入aws 控制台

image-20200729204258710

1.2 打开AWS管理控制台,在Service菜单栏中输入关键字Cloud9,进入Cloud9 管理页面

1.3 点击Create environment,在Environment name and Description内输入 环境的名称 [username]_cloud9,点击 Next Step。 image-20210826095552848

1.4 修改实例为t3.small , 其它使用的默认配置,本次实验不需要改动任何实例环境和网路环境, 点击 Next step

image-20210826095650485

1.5 进入Review界面后,确认无误,点击Create Environment完成创建。

image-20210826095955572

此后界面会跳转到 Cloud9 的编辑器页面

image-20210826100148221

(可选)样式设置: 默认是深色,可以修改为白色

image-20200729211802528

1.6 Cloud9 通常使用动态生成 IAM 的认证授权信息,但目前和 EKS IAM Authentication 不兼容,因此我们直接给 Cloud 9 EC2 实例附加一个管理员权限的 IAM 角色,并禁止掉 Cloud9 默认的动态 IAM认证授权信息:

  • 1) 创建 IAM 角色

(1)请新开一个页面,进入https://console.aws.amazon.com/iam/home#/roles,选择创建角色 第一步选择 AWS service 并选择 EC2,点击下一步

(2)权限中选择 AdministratorAccess,点击下一步

(3)输入角色名字 eksworkshop-admin,点击创建角色

  • 2) 在EC2 Instances界面选择cloud9的EC2实例(名字为aws-cloud9-xxxxx),点击Actions/Instance Settings/Attach/Replace IAM Role,为该实例设置正确的角色

选择eksworkshop-admin 角色,点击Apply完成

  • 3) 关闭cloud9临时权限,并验证角色是否生效

点击AWS Cloud9图标 -> Preferences – >AWS Settings ->关闭临时权限

输入:

#设置默认region
export AWS_DEFAULT_REGION=us-east-1
echo "export AWS_DEFAULT_REGION=${AWS_DEFAULT_REGION}" >> ~/.bashrc


#测试角色是否生效
aws sts get-caller-identity

如果可以正常返回以下内容(包含eksworkshop-admin),则表示已经正确设置角色权限

#例子:
{
    "Account": "012345678911", 
    "UserId": "AROAYVRRQ4TUEIX4VRZLN:i-0e011f5bb16f38173", 
    "Arn": "arn:aws:sts::012345678911:assumed-role/eksworkshop-admin/i-0e011f5bb16f38173"
}