EC2 Fundamentals

EC2 Fundamentals

avatar

Phong Nguyen

2023.12.11

Bài Lab này sẽ hướng dẫn cách tạo EC2, ssh đến EC2, gắn Role cho EC2 để thực hiện access đến S3

Images

Lưu ý

  • Chọn region: us-east-1
  • Khi setting Network: chọn default VPC

Create security group

Chúng ta sẽ tạo SG cho phép có thể access đến EC2 thông qua giao thức ssh, đồng thời cũng cho phép có thể access đến EC2 thông qua http

Tại giao diện EC2 console -> chọn Security Groups ở menu phía bên trái

Images

Images

Chọn Create security group

Images

Nhập các thông tin như trong hình

  • Security group name: d-sg-SAA-basion-host
  • Description: Allow ssh and http from internet
  • VPC: chọn Default VPC (nếu như account các bạn có nhiều VPC)
  • Inbound rules: Như hình bên dưới
  • Outbound rules: Như hình bên dưới
  • Tags - optional:
Keyvalue
Named-sg-SAA-basion-host

Images Images Images

Create EC2

Tiếp sau chúng ta sẽ tạo EC2 ở default VPC. Default thì Region nào cũng có default VPC, nếu bạn không xoá thì nó sẽ ở đó - không ảnh hưởng gì đến hệ thống cả. Nếu bạn nào vô tình xoá thì cũng có thể tạo lại được

Trong khi tạo EC2 Instace thì chúng ta cũng tạo key pair - cách để connect đến EC2 thông qua SSH

Tại EC2 console, chọn Instance ở menu bên trái, chọn Launch Instances

Images

Name: d-ec2-SAA-bastion-host và nhấn "Add additional tags"

Images

Images

OS Images (AMI): default

Images

Instance type: t2.micro (loại này support free tier)

Để tạo new key pair -> nhấn Create new key pair

Images

Key pair name: d-key-SAA-common (key này sẽ dùng trong suốt khoá học).

Download key pair và lưu trữ cẩn thận

Images

Chọn key pair vừa tạo

Images

Network: Sử dụng default VPC, nhớ Enable public IP, chọn SG vừa tạo step trước

Images

Configue storage: để default

Images

Mở Advanced details và setting user data (lưu ý copy chính xác script 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

Launch instance

Images

Instance đang starting

Images

Đợi một chút thì EC2 đã running hoàn toàn

Images

Connect to EC2 via ssh

Sử dụng git bash (đối với Windows), terminal (đối với Mac) tại thư mục có chứa file key pair

  • Lấy command để ssh vào EC2

Images

Images

  • Chạy lệnh 1 để set quyền thực thi cho file .pem
  • Chạy lệnh 2 để ssh vào EC2 (lưu ý đúng tên file key pair nhé)

Images

Connect to EC2 via Console

Chúng ta có thể ssh đến EC2 trên chính Management console - rất tiện lợi

Chọn Instance -> Connect

Images

Lưu ý User name, Click connect

Images

Vậy là chúng ta đã connect dc đến Instance (OS: Amazon linux 2023)

Images

Access to http://{EC2 public IP}

Chúng ta đã sử dụng script để install apache server. Vậy nên bây giờ có thể sử dụng web browser để access đến server thông qua http

Lấy địa chỉ public của EC2

Images

Access http://{public ip} (lưu ý là http chứ không phải https)

Images

Create and Assign IAM role SAAEC2S3FullAccessRole to Instance

Tại IAM console, Menu Role -> Create role

Images

Chọn EC2 làm trusted entity

Images

Tìm và chọn AWS Managed policy AmazonS3FullAccess

Images

Điền tên Role SAAEC2S3FullAccessRole và nhấn Create role

Images

Confirm kết quả

Images

Attach role SAAEC2S3FullAccessRole to EC2

Tại EC2 Console, thực hiện như sau:

Images

Chọn role SAAEC2S3FullAccessRole và nhấn Update IAM role

Images

Connect to EC2 and run: aws s3 ls

ssh đến Ec2 và thực hiện command aws s3 ls để test connect đến S3 (account các bạn nếu chưa có bucket nào thì không hiển thị gì cả, nhưng không báo lỗi gì thì là thành công)

Images

Cleanup

Vậy là các bạn đã tạo thành thông EC2 Instance và ssh đến EC2 ok. Để tiết kiệm chúng ta sẽ Terminated EC2 khi không còn dùng nữa.

  • Terminated EC2 Images

  • Sau khi EC2 ở trạng thái Terminated, delete security group: d-sg-SAA-basion-host