通过AWS Cloud9搭建服务器环境
关于AWS 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
2. 了解AMI相关信息
3. 选择实例类型
可以选择默认的t3.small类型,或是根据需要选择配置更高的实例类型
4. 配置实例
对实例的信息进行配置。注意网络相关的配置,需要确保选择一个可通公网的子网,并分配公有IP,以便从互联网访问EC2实例
5. 配置存储
6. 配置标签
7. 配置安全组
针对这个AMI会默认打开8181端口和22端口。其中8181端口做为Cloud9 Web IDE的访问端口(必须),22端口是做为SSH远程访问端口(非必须)。
8. 审核并启动实例
9. 配置SSH Key
一般使用这个AMI无须配置SSH Key, 只需要通过Web来登陆即可。如果后续希望通过SSH登陆这台EC2,则可以配置SSH Key
10. 查看实例启动状态
此时实例已经正常启动,点击红色框中的实例ID可以查看实例的相关信息
留意在这个窗口下可以查看到实例的ID和实例的公有IP/DNS,后续登陆Cloud9时需要用到
11. 登陆Cloud9
在浏览器中输入 http://实例公有IP:8181 ,并在弹出的窗口中输入
- 用户名: aws
- 密码: 实例ID(即上一个步骤中获取到的实例ID)
进入实验环境
步骤1: 通过AWS Cloud9搭建服务器环境
AWS Cloud9 为您提供了EC2基础设施资源并且一个可视化的编辑器。在本次实验中,您将通过Cloud9去创建一台具有公网访问权限的EC2 实例,运行后续的实验。
1.1 通过浏览器进入 https://dashboard.eventengine.run/ ,填入12位hash code,然后选择 Email One-Time Password 输入邮件接收临时密码
输入邮箱接收一次性登陆验证码
通过点击AWS Console , Open AWS Console 进入aws 控制台
1.2 打开AWS管理控制台,在Service菜单栏中输入关键字Cloud9,进入Cloud9 管理页面
1.3 点击Create environment,在Environment name and Description内输入 环境的名称 [username]_cloud9,点击 Next Step。
1.4 修改实例为t3.small , 其它使用的默认配置,本次实验不需要改动任何实例环境和网路环境, 点击 Next step
1.5 进入Review界面后,确认无误,点击Create Environment完成创建。
此后界面会跳转到 Cloud9 的编辑器页面
(可选)样式设置: 默认是深色,可以修改为白色
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"
}