1 Linux Task - EC2 EBS EIP
AmazonElastic IP(EIP)弹性IP地址是为动态云计算设计的静态IPv4地址。
参考文档:
https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html
1.1 任务目标
实验目标:
从AMI创建实例,并提供web服务,为该实例绑定弹性IP,创建EBS卷快照,最后将启用web服务的ec2实例打包成镜像。
实验步骤:
(1)创建一个ec2实例
实例类型:t2.micro
EBS卷:10GB,1个分区
(2)安装web服务软件
Apache,默认开机启动
(3)修改web界面
文件index.html,显示内容Hello Developer Support
(4)设置安全组规则
HTTP入站与出站流量,SSH入站流量
(5)绑定弹性IP
(6)创建EBS快照
(7)创建镜像
结果展示:
(1)EIP地址
(2)Instance ID/Snapshot ID/AMI ID
(3)服务界面
1.2 实验
1. 安全组与密钥对创建
创建安全组:
aws ec2 create-security-group --group-name xincao-dev-sg --description "securitygroup for development - used by xincao"
设置SSH入站访问规则:
aws ec2 authorize-security-group-ingress --group-name xincao-dev-sg --protocol tcp --port 22 --cidr 0.0.0.0/0
创建密钥对:
aws ec2 create-key-pair --key-name xincao-dev-key --query 'KeyMaterial' --output text> xincao-dev-key.pem
chmod 400 xincao-dev-key.pem
2. 实例创建
aws ec2 run-instances --image-id ami-ceafcba8 --security-group-ids sg-932863ea--count 1 --instance-type t2.micro --key-name xincao-dev-key --query'Instances[0].InstanceId'
将root卷扩容为10GB:
新建实例02:
扩容操作:关闭实例01-->卸载root卷--->扩容-->将卷挂载至实例02-->Linux分区扩展-->重新挂载至实例01
3. 设置安全组HTTP访问规则
aws ec2 authorize-security-group-ingress --group-name xincao-dev-sg --protocol tcp--port 80 --cidr 0.0.0.0/0
aws ec2 authorize-security-group-ingress --group-name xincao-dev-sg --protocol tcp--port 443 --cidr 0.0.0.0/0
4. LAMP服务启用
参考文档:
https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/install-LAMP.html
软件源更新:sudo yum update –y
安装LAMP:sudo yum install -y httpd php mariadb-server php-mysqlnd
启动Apache Web服务器
sudo service httpd start
设置开机启动:sudo chkconfig --add httpd
sudo chkconfig --level 2345 httpd on
状态检查:sudo service httpd status
访问Web服务器IP:
此处使用的IP为自动分配的公网IP
设置文件权限:
将ec2-user添加到apache组:sudo usermod -a -G apache ec2-user
退出重新登录
查看group信息:groups
将/var/www及其内容的组所有权更改到apache组
sudo chown -R ec2-user:apache /var/www
添加组写入权限
find /var/www -type f -exec sudo chmod 0664 {} \;
新建文件index.html并写入说明Hello Developer Support
5. 创建并绑定EIP
弹性IP分配:allocate-address
aws ec2 allocate-address
aws ec2 associate-address --instance-id ID --public-ip IP
访问web服务
6. 创建EBS快照
create-snapshot
为根设备卷创建快照式必须先停止实例
aws ec2 create-snapshot --volume-id ID --description “My first snapshot for SS”
查看快照
aws ec2 describe-snapshots --snapshot-ids ID
7. 创建AMI
aws ec2 create-image --instance-id ID --name "My SS Server" --description"An AMI for shadowsocks"