- 2. Compute
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
- type (nano < micro < small < medium < large < xlarge) : processor(vCPUs), Memory, Storage, Network Performance 우위에 따라 앞에 prefix가 다르게 붙음
[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
1) Cluster: 단일 AZ 내에 논리적 인스턴스 그룹
2) Partition: 여러 인스턴스 영역을 나누어 논리적 파티션을 나눔 (각 인스턴스 그룹이 서로 기본 하드웨어를 공유하지 않음)
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.