学习亚马逊云的话,第一个学习的服务就是EC2,那么从新建一个EC2开始。
名称和标签这里填写EC2的名字,比如我这里是MyLinux,新建之后这个机器的Tag就是Key: Name,Value: MyLinux, 然后下面可以选择AMI,Quick start里提供了常见的系统镜像,比如亚马逊云自己的Amazon linux,还有常见的Windows server,ubuntu,Redhat之类的,然后是选择的实例大小和硬件架构,一般我们都会使用x86,当然出于成本考虑也会使用arm的。
在登陆的时候同样适用ssh key,无论是windows 还是都是提供了pem的key,对于Linux而言默认禁用了密码登陆(其实是没有设置密码)可以使用ssh -i 指定密钥登陆,而windows则需要在控制台上通过这个key来解析密码,解析出来的密码是不变的,如果在操作系统内更改了密码,那么这个pem就没有用了。
下一步则是网络,同样需要选择VPC,子网,是否自动分配公网IP和安全组,出于方便我们都是把机器放在公有子网,然后自动分配公网IP,这个的安全组就就可以看做是EC2的防火墙,最后是设置硬盘,根据不同的实例类型可以挂载不同数量的EBS卷。
| medium
| large
| xlarge
| 2xlarge
| 4xlarge
| 8xlarge
| 12xlarge
| 32 |
| ———————————————————— | —- |
| 16xlarge
| 48 |
| 24xlarge
| 64 |
| 32xlarge
| 88 |
| 48xlarge
| 128 |
| metal-48xl
| 79 |
当然除此之外,还有些高级设置,比如是否加入域,是否绑定IAM 实例配置文件,主机名称类型,是否开启自动恢复,是否开始增强将空,还有控制台和SDK停止和终止实例的限制。
需要注意的是:IAM 实例配置文件常常和IAM Role造成混淆,在控制台新建IAM Role并且选择信任关系为EC2的时候,就会自动创建IAM 实例配置,也就是我们常说的instance profile,如果使用CLI/SDK,活着手动修改信任关系则需要手动创建实例配置。
创建Instance Profile:
aws iam create-instance-profile --instance-profile-name MyInstanceProfile
将IAM角色添加到Instance Profile:
aws iam add-role-to-instance-profile --instance-profile-name MyInstanceProfile --role-name MyIAMRole
还有一个很重要的东西叫做User data:这个可以当作在系统启动之前运行的自定义脚本,而且只会在这个实例启动的第一次执行,该脚本会以root身份运行,如果这个脚本启动失败了,也不会对EC2实例的启动造成任何的影响。以下就是一个在userdata中安装nginx并且启动的例子。
#!/bin/bash
# 更新系统包
sudo apt-get update
# 安装 Nginx
sudo apt-get install -y nginx
# 启动 Nginx 服务
sudo systemctl start nginx
# 使 Nginx 在启动时自动运行
sudo systemctl enable nginx
以上就是启动EC2的常用知识点了。