由于近期要测试一个公网项目,对比之下,选择了aws服务器,免费使用一年。
准备:一个visa信用卡即可,需要一个外网邮箱(我这边使用的hotmail)
注册的步骤不再赘述,切记几个点,国内地址真实,国内手机号要能接收到短信。
一、注册完成后,可选择区域,我这边选择的是新加坡。
url:
https://ap-southeast-1.console.aws.amazon.com/console/home?region=ap-southeast-1#
二、需要注意选的免费的,额外的尽量不要添加
https://ap-southeast-1.console.aws.amazon.com/ec2/home?region=ap-southeast-1#LaunchInstances:
三、
## 一、创建 EC2 实例的步骤
1. **登录 AWS 管理控制台**:
- 打开 AWS 官网并登录你的账户。新用户可先注册 AWS 账户,通常会有免费试用额度。
2. **选择 EC2 服务**:
- 在控制台首页,找到并点击“EC2”服务,进入 EC2 控制面板。
3. **启动实例向导**:
- 点击“Launch Instance”按钮,开始实例创建向导。
4. **选择 AMI(Amazon Machine Image)**:
- 在选择操作系统镜像中,AWS 提供多种预配置的 AMI,如 Amazon Linux、Ubuntu、Windows 等,选择你需要的即可。
5. **选择实例类型**:
- 选择适合的实例类型。初学者可以选择 t2.micro 类型,免费且适用于小规模应用。
6. **配置实例详细信息**:
- 配置网络设置、IAM 角色、安全组等。安全组相当于防火墙,控制进出流量以确保实例安全。
7. **添加存储**:
- 配置实例的存储大小和类型。默认情况下,EC2 实例附带一个根 EBS 卷,也可添加额外的存储卷。
8. **添加标签**:
- 添加标签以管理和识别资源,例如给实例命名。
9. **配置安全组**:
- 设置允许哪些 IP 地址访问实例,并开放必要的端口。在生产环境中要严格控制访问权限。
10. **检查并启动实例**:
- 检查所有配置是否正确,然后点击“Launch”按钮。选择或创建一个密钥对(Key Pair),并下载保存密钥对文件,用于通过 SSH 连接实例。
## 二、使用 EC2 实例的注意事项
1. **安全性**:
- 确保安全组设置正确,只开放必要的端口,避免使用默认的 SSH 端口 22,以增加安全性。
2. **备份和恢复**:
- 定期对重要数据进行快照备份,以便在数据丢失时快速恢复。
3. **成本控制**:
- 监控实例使用情况,按需调整实例类型,避免资源浪费。闲置的实例应及时停止或释放,以防产生不必要的费用。
4. **自动化管理**:
- 利用 AWS 的自动化工具(如 CloudFormation、Elastic Beanstalk 等),提高管理效率,减少手动操作的繁琐。
5. **更新和维护**:
- 定期更新操作系统和软件,修补安全漏洞,保持实例的安全性和稳定性。
tips:运行一个t2.micro 750小时,约等于一个月,如果开两台,每台半个月,四台每台一周。
四、选择密钥:一般是新建
报错处理:
在aws新建实例,只要是选择ubuntu 22或者24版本,密钥对都报错未注册
出现该提示的一个原因可能是由于你的秘钥格式最新版本的系统已经不支持
安全组记得放行22端口或者80 443,又或者是其他需要的端口
解决办法:
一、
在aws用网页连接该实例之后
在/etc/ssh/sshd_config文件中加上
PubkeyAcceptedKeyTypes +ssh-rsa
然后重启ssh
sudo systemctl restart ssh
二、上传到跳板机登陆
chmod 400 testhost.pem
ssh -i “testhost.pem” ubuntu@ec2-xxxx.ap-southeast-1.compute.amazonaws.com
其他知识了解:
在使用 SSH 连接到不同操作系统的服务器时,用户名的区别主要体现在以下几个方面:
1. 默认用户名
- Ubuntu: 默认用户名通常是
ubuntu
。 - Amazon Linux: 默认用户名通常是
ec2-user
。 - CentOS: 默认用户名通常是
centos
。 - Debian: 默认用户名通常是
admin
或debian
。 - Fedora: 默认用户名通常是
fedora
。 - Red Hat: 默认用户名通常是
ec2-user
或root
(取决于配置)。
2. 用户权限
- 有些操作系统在安装时会默认创建普通用户,而其他操作系统可能提供
root
权限的用户。 - 在连接时使用
root
用户通常具有更高的权限,但出于安全考虑,建议使用非root
用户,并在需要时使用sudo
提升权限。
3. 用户组
- 每个操作系统可能会定义不同的用户组和权限策略,影响用户的访问权限和操作能力。
4. SSH 配置
- 某些操作系统可能在 SSH 配置中使用不同的身份验证方式或设置(例如,禁止
root
直接登录)。
5. 系统管理
- 在某些 Linux 发行版(如 Ubuntu),使用
sudo
进行管理任务是常见做法,而在其他发行版(如 CentOS)可能会直接使用su
切换到root
用户。
6. 安装与配置
- 不同操作系统在安装时可能会有不同的用户设置和配置选项,影响如何通过 SSH 连接。
示例命令
# 连接 Ubuntu
ssh -i "testhost.pem" ubuntu@your-ip
# 连接 Amazon Linux
ssh -i "testhost.pem" ec2-user@your-ip
# 连接 CentOS
ssh -i "testhost.pem" centos@your-ip
作为一个轻量级的服务器,可以帮我们测试一下公共服务之类的,不过也要注意观察账单,尽量0元体验,lol,到期记得删除实例。