EC2 Storage Fundamentals

EC2 Storage Fundamentals

avatar

Minh Bui

2023.12.13

Bài viết hướng dẫn cơ bản cách tạo snapshot, ami cho ec2

Ban đầu chúng ta sẽ thực hiện tạo EC2, trong quá trình khởi tạo thì cũng sẽ cài một webserver thông qua script userdata. Sau đó thực hiện tạo snapshot, ami rồi từ đó thử khôi phục một EC2 mới, đồng thời kiểm chứng xem webserver có còn đang chạy và những file đã tạo trước đó có bị mất hay không.

Lưu ý

  • Chọn region: us-east-1
  • VPC: Default VPC

1. Thực hiện tạo EC2

1.1. Tạo security group cho ec2

Nếu security group đã có sẵn rồi thì bỏ qua

  • Name: d-SAA-basion-host

  • Description: Allow ssh and http from internet

  • VPC: Default VPC

  • Inbound rules

    TypeProtocolPort rangeSource
    SSHTCP220.0.0.0/0
    HTTPTCP800.0.0.0/0
  • Outbound rules

    TypeProtocolPort rangeSource
    All trafficAllAll0.0.0.0/0
  • Tags

    Keyvalue
    Named-sg-SAA-basion-host

1.2. Tạo EC2

  • Name: d-ec2-SAA-bastion-host
  • OS: Default (Amazon Linux 2023)
  • Instance type: Default (t2.micro)
  • Key pair: d-key-SAA-common (Nếu chưa có thì tạo mới)
  • Network Setting:
    • VPC: (default)
    • Subnet: us-east-1a
    • Auto-assign public IP: Enable
    • Select existing security group: d-sg-SAA-basion-host
  • Advanced details > User data (copy chính xác nội dung bên dưới)
    #!/bin/bash
    yum update -y
    yum install -y httpd.x86_64
    systemctl start httpd.service
    systemctl enable httpd.service
    echo “Hello World from $(hostname -f)> /var/www/html/index.html
    

2. Thực hiện conenct đến ec2 để kiểm tra server

2.1. Connect đến thông qua EC2 instance connect

Sau khi tạo EC2, đợi vài phút chờ cho EC2 khởi tạo xong rồi từ EC2 console, chọn instance vừa tạo và nhấn Connect

Images Images

2.2. Kiểm tra web server đang chạy

Chạy command sau để verify server đang chạy: curl localhost

Images

Nếu kết quả trả về là Hello world from ip xxxxxx thì tức là đã verify thành công

2.3. Tạo một file bất kì

Chạy command sau để tạo file

touch test.txt

Chạy command sau để verify file đã tạo

ls

Images

3. Thực hiện tạo EBS snapshot

Tại EC2 console, từ menu bên trái chọn Volumes, sau đó chọn volume của instance đã tạo, click chuột phải và nhấn Create snapshot

Images

Điền các thông tin cho snapshot như sau:

MụcGiá trị setting
DescriptionSnapshot for bastion host volume
TagsName: d-ebs-snapshot-SAA-bastion-host

Nhấn Create snapshot

Images

Vẫn từ menu bên trái ở EC2 console, bấm vào Snapshots, kiểm tra xem snapshot đã được tạo chưa

Images

Chờ một lúc sẽ thấy Snapshot status chuyển sang Completed là thành công

4. Thực hiện tạo AMI

Tại EC2 console, từ menu bên trái chọn Instances, sau đó chọn instance đã tạo, chuột phải chọn Image and templates, chọn Create image

Images

Ở mục image name điền d-ami-SAA-bastion-host

Images

Chọn Tag image and snapshots separately và lần lượt điền các tag cho image và snapshot như sau

MụcGiá trị setting
Tag imageName: d-ami-SAA-bastion-host
Tag snapshotsName: d-snapshot-SAA-bastion-host

Images

Nhấn Create image, sau đó verify xem AMI đã tạo thành công hay chưa

Images

Như hình trên là đã tạo thành công, tuy nhiên chưa sử dụng được ngay. Chờ một vài phút cho ami chuyển sang trạng thái available là có thể sử dụng được

5. Khôi phục EC2 từ AMI đã tạo

Chuột phải vào ami đã tạo, nhấn Launch instance from AMI

Images

Nhập các thông tin cho ec2 như sau

  • Name: d-ec2-SAA-bastion-host-from-ami
  • Application and OS Images (Amazon Machine Image) : đã được selected sẵn là d-ami-SAA-bastion-host
  • Instance type: Default (t2.micro)
  • Key pair: d-key-SAA-common (Nếu chưa có thì tạo mới)
  • Network Setting:
    • VPC: (default)
    • Subnet: us-east-1a
    • Auto-assign public IP: Enable
    • Select existing security group: d-sg-SAA-basion-host

6. Kiểm tra webserver và file đã tạo

Sau khi ec2 khởi động, thực hiện connect bằng EC2 Instance connect để kiểm tra xem file đã tạo ở step 2.3 còn tồn tại hay không

Images

Tiếp tục chạy command sau để verify được file vẫn còn tồn tại

ls

Images

Tiếp theo access vào webserver từ trình duyệt thông qua public ip

Images

Verify được webserver vẫn đang chạy

Images

7. Cleanup

  • Terminate Ec2 Images

  • Xoá AMI Images Images

  • Xoá snapshot Images Images