[SAA] Amazon EC2 - Basics

Blue·2024년 1월 15일
0

SAA

목록 보기
3/25
post-thumbnail

Amazon EC2

실제로 사용해봤던 기술들을 배우는게 확실히 이해하는데 많이 도움 되는것 같다.
처음 EC2 를 사용해봤을때는 친구의 외주를 받아서 배포할때 사용해봤는데 그땐 EC2 가 뭘하는건지도 모르고 그냥 인터넷 따라 배포를 했었다...

그렇게 1년이 지나서 이걸 배우는데 너무 신기했다.

Ec2 는 Elastic Compute Computer 를 말하고 Iaas 를 제공한다.
서비스 로써 구조,,, Cloud 해보신 분들은 들어봤을꺼같음.

Ec2 에는 많은 기능들로 구성되어있는데 가장 많이 사용한 가상 머신을 대여해주는 Ec2,데이터를 저장하는 EBS,로드 분산이 가능한 ELB,서비스의 확장을 뜻하는 ASG 를 제공한다.

필요할때 마다 Computing 을 대여할수 있고 Ec2 가 예시이다.

Ec2 Sizing & Configuration option

Ec2는 OS,CPU,Ram,Storage,Network Card 를 고를수 있고
Security Group,Bootstrap Script 도 설정할수 있다.
정말 자신에게 맞는 서비스를 고를수 있다.

Ec2 User Data

그래서 우리는 Instance 를 만들때 instance 를 부트스트랩 할수 있다.
머신이 작동할때 명령을 시작하는것을 뜻한다.
Script 는 처음 한번만 실행되고 Bootstrap 을 통해서 부팅작업을 자동화한다.

#!/bin/bash
# Use this for your user data (script from top to bottom)
# install httpd (Linux 2 version)
yum update -y
yum install -y httpd
systemctl start httpd
systemctl enable httpd
echo "<h1>Hello World from $(hostname -f)</h1>" > /var/www/html/index.html

Instance 를 설정하다 맨 밑쪽에 가면 Script 를 작성할수 있다.
사용자가 자신이 원하는 명령어를 작성할수있다.

EC2 Instance Types

대략적으로 8개의 분류로 나뉜다.
소분류로 나눠서 좀더 알아보기로 하고,, 기본적으로 AWS . 는이러한 Ec2 Instance를 부르는 Convention 이 있다.

m5.2xlarge 라는 이름을 가지는 Instance 를 보자.
m은 Incance 의 Class를 뜻한다.
5는 해당 class 의 세대를 뜻하고
2xlarge 는 instance class 의 size 를 뜻한다.(사이즈가 크면 클수록 더많은 memory,cpu 를 가질수 있다)

General Purpose

범용적인 목적을 가지는 사람들에게 추천되는 Instance 이다.
웹서버를 배포하거나,코드 저장소를 활용할때 사용하고싶으면 General Purpose . 에해당 하는 instance . 를 사용하면 된다.

Compute,Memory,Networking 간의 balance 가 좋다.

현재 실습을 통해서 사용하고 있는 t2.micro 라는 instance 도 General Purpose 에 해당하는 instance 이다.

Compute Optimized

컴퓨터 집약적인 작업에 최적화된 Instance 이다.

Batch Processing workloads
Media Transcoding
High Performance web servers
High Performance computing
Scientific modeling & machine learning
Dedicated gaming server

솔직히 중간에 고성능 서버,컴퓨팅,,,머신러닝 빼고 뭔소린지 하나도 모르겠지만
컴퓨터 성능이 높은것이 요구되는 서비스를 사용하기위한 Instance 라고 이해하면 될꺼같다.

이 Instance 들은 C로 시작한다.

Memory Optimized

메모리에서 대규모 데이터 셋을 처리하는 유형의 작업에 적합하다 한다.
relation/non-relation DB
Distributed web scale cache stores
in-memory databases optimized for BI
Applications performing real-time processing of big unstructerd data

이것도 솔직히 뭔소리를 하는지 하나도 모르겠음,,
하지만 메모리에 최적화된 Instance 인 만큼 그거에 맞는 거같다,,,

R로 시작한다.

Storage Optimized

Local Storage 에서 대규모의 데이터셋에 access 할때 적합한 Instance 라고 한다.

High Frequency OLTP systems
Relational & NoSQL databases
Cache for in memory db
data warehousing applications
distributed file systems

어떠한 것들을 잠시 저장하거나 ,,, 대기해야할때 사용하면 좋으려나,,, 이 부분은 좀더 찾아 봐야겠다.

Introduction to Security Groups

Ec2 서비스의 방화벽이라고 생각하면 좋을꺼같다.
그 Security Groups 은 AWS의 Network 에 핵심이다.
EC2 Instance 에 들어오고 나오는 Traffic 을 제어한다.
그래서 Security Groups 은 허용만 포함하고
IP 주소 참조해서 규칙을 만들수 있다.

그래서 Port로 제한하고,,
IPv4,Ipv6의 범위를 제한
Instance 로 들어오는 Traffic 을 제어하는 inbound 규칙과
Instance 에서 나가는 Traffic 을 제어하는 outbound 규칙도 규제한다.

AWS 설명서에 있는 사진을 들고왔다.
EC2 Instance가 있고 그 Instance 의 Inbound 규칙 설정을 Ip와 Port로 규제하게 된다면 그에 맞지 않는 Ip 를 가지거나 Port 를 가지게 된다면 Ec2에 접근을 할수가 없다.

하지만 Outbound 의 초기 규칙은 모든 Port 를 허용한다.
Ec2 instance가 웹사이트 Access 연결을 시도하면 모든것이 허용된다.
이후에 바꿀수 있음.

Good to know

Security Group 은 여러 instance에 가능하다.
지역 전환하면 새로 만들어야한다.
Traffic 차단되어도 ec2 는 모른다.-> 보안그룹은 Ec2 외부에 있기때문.
하나의 보안그룹으로 설정하는게 좋다고함...

그리고 Security Group 1의 Inbound 규칙을 Security Group 2 의 Inbound 규칙으로 허용할수도 있는데 이렇게 된다면 Security Group 1,2에 포함된 Instance 라면 Instance 를 접근할수 있게된다.
하지만 Security Group 3에 포함된 Ec2 Instance 는 instance 에 접근할수 없다.
뭐,,, 이렇게 여러개의 Security Group을 설정할수 있다는 말.

Classic Ports to know

백엔드 개발하시는 분들은 웬만하면 . 다알꺼임...

22 = ssh
21 = FTP(파일 전송 프로토콜)
22 = SFTP(보안 파일전송 프로토콜) 이것도 SSH 로 보내기 때문에 22 포트 사용
80 = HTTP
433 = HTTPS
3389 = RDP 윈도우 컴퓨터 접근할때 이거 쓴다고 합니다.

SSH

Secure Shell 이라고 한다.
이전에 NCP 를 SSH를 통해서 연결했다. 운영체제에 따라서 SSH 접근하는 방법이 다르다고 하는데 이부분은 그냥 딱 보면 이렇게 될수밖에 없을꺼같다.

그래서 SSH 는 결국 Terminal 이나 명령들을 이용해서 원격 머신이나 서버를 제어할수 있게 해준다.
어렵게 써놨지만 사용해본 사람들이라면 무슨말인지 바로 알꺼임.

실습에도 실제 SSH 를 사용해서 접근할수있었다.

그리고 EC2 INstance에 접근하는 방법중 하나로 EC2 Instance Connect 라는것이 있다.
그냥 자신이 만들어놓은 instance 오른쪽 위에 보면 연결이 있다.
그거 누르면 바로,,, 연결된다,,,

EC2 Instance Purchasing Options

이부분은 뭔소린지 몰라서 공부 더하고 정리하겠음

profile
할수있다가 아닌 해야한다!!

0개의 댓글