亞馬遜雲主機(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 Ser...

TOP2
微軟雲Azure PostgreSQL

利用完全託管、智慧且可擴充套件的 Pos...

TOP3
微軟雲Azure資料庫MySQL

使用可縮放的開源 MySQL 資料庫進行...

微軟雲Azure資料庫MariaDB

企業就緒且完全託管的社群 MariaDB...

Azure Cache for Redis

分散式可縮放記憶體中解決方案,提供超快速...

微軟雲azure 資料工廠

使用 Azure 資料工廠整合所有資料,...

0.018282s