AWS系列之二 使用EC2
在本文中我们有三个任务。
第一:使用Amazon management console创建一个EC2实例。
第二:使用本地的命令行工具远程登陆到该EC2实例。
第三:在该EC2实例上创建一个web服务,并通过公共域名来访问该web服务。
如果你还没有AWS的账号的话,可以使用qwiklabs提供的免费实验来进行该练习。地址是https://run.qwiklabs.com。
登陆到亚马逊的AWS服务的management console后选择EC2服务。

然后你就可以到EC2的控制面板了。

点击上面大大的Launch Instance按钮来开始创建一个新的EC2实例。

首先要选择机器的镜像文件AMI(Amazon Machine Image),有各种Linux的发行版,也有Windows系统。在本次实验中我们选取第一个,即Amazon Linux AMI,亚马逊自己的一个Linux发行版。
然后是选择机器类型,不同类型机器性能不同,收费标准也不一样,一切都是根据你的需求来决定。就选第一个吧,最便宜。

然后你有两个选择,一个是点击Review and Launch直接启动新机器,其余参数都采用默认值,另一个是点击Next:Configure Instance Details自定义其它配置。在这里我们选择第二个按钮,然后直到step6:Configure Security Group。

这里是配置安全组的,你可以使用已有的安全组,也可以创建一个全新的安全组。在安全组里可以设置一系列策略来管理该实例与外界的访问情况。
由于我们需要远程登录到该实例,并且需要该实例提供http服务,所以我们需要开放22和80端口。22端口默认是开放的,80端口则需要手动开放。方法是点击Add Role按钮并新加一个role。

配置完成后点击Launch按钮,会弹出一个页面让你设置key pair。

这个key pair是用来与该实例建立安全连接。亚马逊会存一个公钥,自己在本地存放一个私钥,当想要连接该实例时,需要提供私钥。这里我们选择新建一个key pair,并取名为awsworkshop,选择保存到本地。稍后会使用它来ssh到该实例。
点击Launch Instances按钮,实例就会被初始化了。

点击View Instances来查看新创建的实例。

一般需要等待3到5分钟来完成对新实例的初始化。在上图中可以查看该实例的相关信息。亚马逊给该实例分配了一个公共IP和公共DNS域名,稍后需要使用它们。
等到该实例的Instance Status为running后,我们就可以进行第二个任务了,就是远程连接到该实例。
打开你心爱的终端,然后先提升刚保存的pem文件的权限。
1 |
|
然后在AWS的控制面板上找到该实例的公共IP,使用ec2-user用户名来ssh到该实例。
1 |
|
稍微等待以后就可以连接到远程实例了。
1 |
|
怎么样?一切都非常简单吧?
下面就进行这个实验的最后一个任务了,在该远程实例上搭建一个web服务器。
ssh到该实例后,执行下面命令。
1 |
|
这句命令是安装Apache的httpd服务器。
然后跳转到/var/www/html目录下,并新建一个名为index.html的文件。
1 |
|
使用你习惯的编辑器在该文件中输入一个html格式的文档并保存。
1 |
|
接下来启动web服务器。
1 |
|
大功告成,从该EC2实例的控制面板中找到其公共DNS,然后粘贴到浏览器中,就可以访问其提供的web服务了。

好了,这三个任务也就都完成了。希望大家喜欢这次EC2之旅。
AWS系列之二 使用EC2的更多相关文章
- AWS—Xshell工具远程登录EC2虚拟机
一.创建AWS账户(已有AWS账号的请跳过) 访问 https://amazonaws-china.com/cn/,点击创建AWS账户,根据提示填写个人相关信息,创建AWS账户. 二.创建EC2虚拟机 ...
- 【疯狂造轮子-iOS】JSON转Model系列之二
[疯狂造轮子-iOS]JSON转Model系列之二 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 上一篇<[疯狂造轮子-iOS]JSON转Model系列之一> ...
- 【原】Android热更新开源项目Tinker源码解析系列之二:资源文件热更新
上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程. 同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方 ...
- MySQL 系列(二) 你不知道的数据库操作
第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 本章内容: 查看\创建\使用\删除 数据库 用户管理及授权实战 局域网 ...
- ES6+ 现在就用系列(二):let 命令
系列目录 ES6+ 现在就用系列(一):为什么使用ES6+ ES6+ 现在就用系列(二):let 命令 ES6+ 现在就用系列(三):const 命令 ES6+ 现在就用系列(四):箭头函数 => ...
- CRL快速开发框架系列教程二(基于Lambda表达式查询)
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...
- Web 前端开发精华文章推荐(jQuery、HTML5、CSS3)【系列十二】
2012年12月12日,[<Web 前端开发人员和设计师必读文章>系列十二]和大家见面了.梦想天空博客关注 前端开发 技术,分享各种增强网站用户体验的 jQuery 插件,展示前沿的 HT ...
- C#微信公众号开发系列教程二(新手接入指南)
http://www.cnblogs.com/zskbll/p/4093954.html 此系列前面已经更新了两篇博文了,都是微信开发的前期准备工作,现在切入正题,本篇讲解新手接入的步骤与方法,大神可 ...
- 当我们说线程安全时,到底在说什么——Java进阶系列(二)
原创文章,同步发自作者个人博客,转载请以超链接形式在文章开头处注明出处http://www.jasongj.com/java/thread_safe/ 多线程编程中的三个核心概念 原子性 这一点,跟数 ...
随机推荐
- 接收新信息,在会话中看不到(thread表数据插入/更新失败)
分析原因:收到短信,sms表插入信息,触发器会自动更新thread表,更新失败导致一直有一条未读信息数量显示,但在会话列表中却看不到. (偶现,低概率. 解决方法:接收新信息插入后,立即查询threa ...
- shell学习--grep1
一. grep的来源 通过ex编辑器来查找某个字串: :/pattern/p 其中p是打印,包含字符串pattern的第一行将被打印:如果需要打印包含pattern的所有行,可以这样: :/g/pat ...
- G.Interference Signal---河南省第八届程序设计大赛(dp)
G.Interference Signal 时间限制: 2 Sec 内存限制: 128 MB提交: 47 解决: 18[提交][状态] 题目描述 Dr.Kong’s laboratory moni ...
- ORACLE导入、导出命令使用方法
oracle导入.导出命令使用方法: 给用户增加导入数据权限的操作 第一,启动sql*puls 第二,以system/manager登陆 第三,create user 用户名 IDENTIFIED B ...
- 和以往印象不同的Java
Java编程概述 一个Java源文件至多有一个public类,但是可以有很多class的定义 public static void main (String args[]) public 代表公共的, ...
- java基本数据类型取值范围
在JAVA中一共有八种基本数据类型,他们分别是 byte.short.int.long.float.double.char.boolean 整型 其中byte.short.int.long都是表示整数 ...
- MATLAB 画出三个通信小区cell边界示意图
d=1000; %两个小区中心间距离的一半 rcell=2*d/sqrt(3); %小区半径 ncell=3; %小区个数 cellposition=zeros(ncell,2); %初始化小区中心位 ...
- Mysql示例数据库employees.sql导入问题
Mysql版本:Server version: 5.7.9-log MySQL Community Server (GPL) 问题一.Unknown system variable 'storage_ ...
- C# 实现 任意多边形切割折线算法
1. 内容简介 本文旨在解决任意多边形切割折线,获取切割之后的折线集合. 本文实现的算法内容包括:判断两条线段是否相交,如若相交,获取交点集合.对线上的点集,按斜率方向排序.判断点是否在多边形内 ...
- 《python核心编程》笔记——系统限制
输出当前系统关于数字的范围 import sys l = {} maxint = sys.maxint minint = -maxint maxlong = sys.maxsize minlong = ...