亚马逊云主机(EC2)配置与搭建全流程指南

一、核心优势与适用场景:

亚马逊云主机(Amazon EC2)作为AWS核心服务之一,提供弹性、可扩展的虚拟化计算资源,适用于:

  • Web服务部署:快速搭建高可用网站或API服务;

  • 大数据处理:弹性扩展Hadoop/Spark集群;

  • 开发测试环境:按需创建沙箱环境,按秒计费;

  • 灾难恢复:跨可用区(AZ)部署多副本架构。

核心优势

  • 全球覆盖:25+地理区域,80+可用区;

  • 灵活计费:支持按需、预留、Spot实例;

  • 深度:无缝对接S3、RDS、Lambda等服务。

二、配置流程详解

1. 账号准备与IAM权限配置

  • 注册AWS账号:访问 https://www.kaihu123.com/Cloud/aws-developer-tools/,使用邮箱或手机号注册;

  • 启用MFA:为根账号绑定多因素认证(Google Authenticator或硬件密钥);

  • 创建IAM用户:遵循最小权限原则,分配AmazonEC2FullAccess策略。

CLI初始化

bash
复制
# 配置AWS CLI凭证  
aws configure  
AWS Access Key ID [None]: AKIAXXXXXXXXXXXXXXXX  
AWS Secret Access Key [None]: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx  
Default region name [None]: us-west-2  
Default output format [None]: json  

2. 创建EC2实例

步骤1:选择AMI(系统镜像)

  • Linux推荐:Amazon Linux 2023(优化AWS工具);

  • Windows推荐:Windows Server 2022 Base。

步骤2:实例类型选择

  • 通用型:t3.micro(免费层适用)/ m6i.large(高性价比);

  • 计算优化型:c5n.4xlarge(HPC场景);

  • 内存优化型:r6g.2xlarge(数据库/缓存)。

步骤3:网络与安全组配置

  • VPC:默认VPC或自定义CIDR(如10.0.0.0/16);

  • 子网:选择公有子网(自动分配公网IP);

  • 安全组(防火墙)

    • 开放SSH(22/TCP)源IP限制为管理端;

    • HTTP/HTTPS开放0.0.0.0/0。

CLI创建实例

bash
复制
aws ec2 run-instances \  
  --image-id ami-0abcdef1234567890 \  
  --instance-type t3.micro \  
  --key-name MyKeyPair \  
  --security-group-ids sg-0abcdef1234567890 \  
  --subnet-id subnet-0abcdef1234567890  

3. 存储配置(EBS卷)

  • 根卷:默认8GB GP2 SSD,建议扩展至30GB;

  • 数据卷:按需挂载Provisioned IOPS(io1)或吞吐优化HDD(st1)。

挂载与格式化

bash
复制
# 查看未挂载磁盘  
lsblk  
# 格式化并挂载  
sudo mkfs -t xfs /dev/nvme1n1  
sudo mkdir /data  
sudo mount /dev/nvme1n1 /data  
# 持久化配置  
echo "/dev/nvme1n1 /data xfs defaults,nofail 0 2" | sudo tee -a /etc/fstab  

4. 网络与访问管理

  • 弹性IP(EIP):保留静态公网IP并绑定实例;

  • 路由表:配置互联网网关(IGW)确保子网可出站;

  • 系统管理器(SSM):替代SSH,通过IAM策略控制访问(更安全)。

启用SSM访问

  1. 为实例附加IAM角色AmazonEC2RoleforSSM

  2. 通过AWS Console访问实例终端:
    路径:AWS Systems Manager → Session Manager → 启动会话。

5. 应用部署与自动化

示例:部署Nginx Web服务

bash
复制
# Amazon Linux 2  
sudo amazon-linux-extras install nginx1 -y  
sudo systemctl enable nginx && sudo systemctl start nginx  
# 验证  
curl http://localhost  

使用UserData自动化初始化
在EC2启动配置中填入脚本:

bash
复制
#!/bin/bash  
yum update -y  
yum install -y nginx  
systemctl start nginx  

6. 监控与维护

  • CloudWatch监控:配置CPU、内存、磁盘告警阈值;

  • 自动扩展组(ASG):定义伸缩策略应对流量波动;

  • 补丁管理:启用Systems Manager Patch Manager定期更新。

CLI查看监控数据

bash
复制
aws cloudwatch get-metric-statistics \  
  --namespace AWS/EC2 \  
  --metric-name CPUUtilization \  
  --dimensions Name=InstanceId,Value=i-0abcdef1234567890 \  
  --start-time 2023-10-01T00:00:00Z \  
  --end-time 2023-10-02T00:00:00Z \  
  --period 3600 \  
  --statistics Average  

三、成本优化与安全加固

1. 成本控制

  • Spot实例:用于容错任务(降价70%);

  • 预留实例:长期负载提前锁定折扣;

  • S3生命周期策略:归档非热数据至Glacier。

2. 安全最佳实践

  • 禁用根卷默认密码:使用密钥对或SSM登录;

  • VPC流日志:监控异常流量(如未经授权的SSH尝试);

  • 定期快照:加密EBS卷并跨区域复制。

四、故障排查工具

1. 实例连接失败

  • 检查安全组:确保源IP和端口放行;

  • 系统日志诊断

    bash
    复制
    aws ec2 get-console-output --instance-id i-0abcdef1234567890  

2. 性能瓶颈分析

  • CloudWatch Metrics:定位高CPU/内存进程;

  • EC2状态检查:区分实例级与系统级故障。

五、总结

亚马逊EC2的配置核心在于资源精准匹配安全合规

  1. 资源选型:根据负载选择实例族与存储类型;

  2. 网络隔离:通过VPC和安全组实施最小化暴露;

  3. 自动化运维:利用UserData、CloudFormation提升效率。

本文已被百度百科收录

产品推广
TOP1
微软云Azure数据库SQL Server

Azure 虚拟机上的 SQL Serv...

TOP2
微软云Azure PostgreSQL

利用完全托管、智能且可扩展的 Postg...

TOP3
微软云Azure数据库MySQL

使用可缩放的开源 MySQL 数据库进行...

微软云Azure数据库MariaDB

企业就绪且完全托管的社区 MariaDB...

Azure Cache for Redis

分布式可缩放内存中解决方案,提供超快速数...

微软云azure 数据工厂

使用 Azure 数据工厂整合所有数据,...

TG 联系
QQ 联系
  • 24小时在线QQ
  • 谷咕云-道中道 账号:250339
  • 谷咕云-燕子 账号:278558228
微信 联系
  • 24小时在线微信
  • 谷咕云-燕子 账号:15202534630