Coding Everybody, AWS Documentation


2. Compute

2.1. EC2 (Elastic Compute Cloud)

[EC2 Instance 생성]

독립된 컴퓨터를 임대해주는 서비스 컴퓨터 1대 = Instance 1개 launch instance - 컴퓨터 생성 시, storage, memory, network interface, os 기본으로 제공

[EC2 Instance Type]

Amazon Machine Image (AMI)

1) OS : Linux(Ubuntu…), Window, … 2) Hardware spec

[EC2 Instance Configuration]

Configure Instance Detail

1) Number of Instances: 만들 인스턴스 개수
2) Purchasing option: 요금제 선택
(1) on-demand: second 단위 쓴 만큼 지불
(2) dedicated: hardware를 격리하여 사용하며, VPC(Virtual Private Cloud) 전용 가상 네트워크에서 주로 사용
(3) reserved: 1.3 year 약정으로 미리 지불 후 사용
(4) spot: 조정되는 spot price(시장 가격)에 맞게 실행되고 지불
3) Network: VPC(AWS 계정 전용 가상 네트워크) 설정
4) Shutdown behavior: 컴퓨터 껐을 때 인스턴스를 어떻게 할 것인지
(1) stop: 일시적으로 frizing (스토리지 비용만 나감) (2) terminated: 영구 삭제되고 재시작 안됨 (실수로 삭제할 수 있는 걸 방지하기 위한 protect termination 체크) (3) Instance hibernate (Elastic Block Store (EBS) only): memory, storage data 살려놓음 5) Monitoring: CPU, Memory 사용률을 자세히 확인 시 (추가 비용)

Add Storage

Size: size 설정 (default 8GB)
Volume Type: SSD…
IOPS: 저장 속도
Delete on Termination: 컴퓨터 폐기시 저장장치 폐기할지 (내장하드, 외장하드)

Tag Instance

EC2 resource 설명에 대한 필요한 값들 정의 Key: 이름
Value: Web server

Configure Security Group

방화벽같은 기능
security group name 정한 뒤, 접속 정책 설정
type: SSH, HTTP, RDP(for windows)…
protocol: TCP
port range: 22
source: Anywhere(0.0.0.0/0) 누구나 접속, My IP(222.XXX.XX.XX/32), custom IP …

Review

비밀번호 생성 (create a new key pair) 후 Launch

Networking > Elastic Fabric Adapter > Placement groups

image
1) Cluster: 단일 AZ 내에 논리적 인스턴스 그룹
image
2) Partition: 여러 인스턴스 영역을 나누어 논리적 파티션을 나눔 (각 인스턴스 그룹이 서로 기본 하드웨어를 공유하지 않음)
image
3) Spread: 소규모의 인스턴스 그룹을 다른 기본 하드웨어로 물리적으로 분산하여 영역 나누어 관리

[EC2 Instance 관리]

Linux에서 instance 원격 제어

1) connect 버튼 클릭
2) open SSH client (원격 제어 프로그램) 실행
3) 인스턴스 생성 시 만든 패스워드 파일(aws_password.pem), [사용자 계정]@[원격지 ip]로 접속

$ ssh -i "aws_password.pem" ec2-user@myPublicIPv4Address #-p22 추가 포트번호 옵션

web server 사용

$ sudo gpt-get install apache2
$ vi /var/www/html/index.html # 메인 페이지 수정

[AWS Marketplace 사용 (registry hub)]

Wordpress

1) launch instance 클릭 후 AMI를 Bitnami가 만든 Wordpress 선택 (추가 비용 드는 image도 있음)
2) 선택시 version, region, instance type, security group, key pair 지정 후 Launch with 1 click
3) deploy 후, public DNS로 들어가서 확인 4) document 확인해서 admin 가이드 확인 하면서 관리 필요


2.2. Elastic Beanstalk

automatically handles the details of capacity provisioning, load balancing, scaling, and application health monitoring.


2.3. Lambda