AWS에는 많은 용어, 약어들이 있기 때문에  처음 시작하는 사람들에게 다소 어렵게 느껴질 수 있습니다.

들어가기에 앞서 서비스 용어들에 대하여 간략히 짚고 넘어가도록 하겠습니다. 

 


 

 

AWS에 대해 좀 찾아보신 분이라면 리전(Region) 과 가용영역(Availability Zone) 이라는 용어를 아마 가장 많이 접했으리라 생각이 듭니다.

그많큼 많이 쓰이고 AWS 각 서비스 전반적으로 나오는 용어들 이기에 먼저  정리하도록 하겠습니다.

 

리전 (Region)

 

AWS는 세계 여러곳에서 호스팅 되고 있습니다. 이 위치들은 지리적으로 리전과 가용영역으로 구성되는데요. 

쉽게 설명해드리자면 리전은 AWS의 모든 서비스가 위치하고 있는 물리적인 장소 즉 개별 지리영역이라고 생각하시면 됩니다.

위의 그림을 보면 현재 12개의 리전으로 분리되어 있는데 이렇게 여러 리전을 두는 이유는

첫번째로 재해에 대비하기 위해서 입니다,

물리적인 위치가 서로 다른 전 세계의 나라들이 하나의 서버를 사용하게 되면 재해나 불가피한 서버의 중지가 발생했을 시 서비스를 공급할 수 없기 떄문에

여러곳에 리전을 두어 재해(지진, 화재, 홍수 등)시 다른 리전으로 서비스 하도록 만들어 줍니다.

또 한가지 다른 이유는  네트워크의 속도입니다.

만약에 미국 서버에있는 서비스를 우리나라에서 접속하면  아무래도 속도가 느려질 수 밖에 없는데 만약 우리나라에 서비스를 제공하는것을 목표로 하고있으면 

우리나라 리전에 서버를 만들어 서비스 하면  빠른 속도로 서비스가 가능해 집니다.

우리나라에도 서울리전이 2016년 1월에 추가가 되었으며, 서울리전에는 2개의 가용영역(AZ)이 포함되어 있습니다.

(제가 이 글을 2018년도에 작성을 하였는데 2020년 04월 기준 21개의 리전으로 늘어났습니다!) 

 

 

한국 ↔ AWS Region간 응답속도 비교

 

가용영역 (Availability Zone -AZ)

 

가용영역 (AZ)는 리전안에 있는 IDC(데이터센터)를 의미합니다. 

기본적으로 각 리전안에는 2개 이상의 가용영역을 가지고 있으며, 현재 서울리전에는 2개의 가용영역이 있습니다.

두개의 가용영역이 있다는 말은 즉 2개의 독립적인 IDC를 운영하고 있는 얘기 입니다.

AWS에서는 2개이상의 가용영역에 서비스를 올려 로드밸런싱을 이용해 트래픽을 분산시킬것을 권장하고 있습니다.

이는 한쪽 가용영역이 작동하지 않더라도 무중단 서비스를 제공하도록 하기 위해서 입니다. (가용영역을 높이기 위하여)

(2020년 04월 현재 서울리전에는 3개의 AZ가 있습니다)

 

 

엣지로케이션 (Edge Location)

 

 

엣지로케이션은 Region과 AZ와는 별개로 AWS의 CDN서비스인 CloudFront와 AWS의 DNS서비스인 Route53의 캐시서버라고 생각하시면 됩니다.

CDN과 DNS같은 서비스의 서버는 리전과 별개로 여러개의 엣지로케이션에 적용되어 서비스 되고 있으며 서울리전에는 3개의 엣지 로케이션이 있습니다. (17년 10월 기준)

 

 

* CDN (Content Delivery Network) : 콘텐츠 (HTML, 이미지, 동영상 등)를 사용자들이 빠르게 받을 수 있도록 전 세계 곳곳에 위치한 캐시서버에 복제해 주는 서비스

 

 

 


AWS 주요 서비스 용어


 

Computing

- EC2 (Elastic Compute Cloud) :  서버

클라우드 서버 인스턴스로 컴퓨팅 파워의 규모를 자유자재로 변경할 수 있는 웹 서비스 입니다.

 

- ECS (EC2 Container Service) : EC2를 Docker 컨테이너로 관리

EC2 인스턴스 클러스터에서 도커 컨테이너를 실행하고 관리할 수 있는 서비스

 

- ELB (Elastic Load Balancing) : L4

트래픽을 분산해주는 역할을 하며 고가용성 서비스를 구축할 수 있도록 합니다.

 

- Lambda (이벤트 응답으로 코드 자동실행)

서버없이 작성한 프로그래밍 코드를 실행하는 환경을 제공하는 서비스

 

- Auto Scaling (서버 자동증설)

트래픽에 따라 EC2인스턴스들을 확장해주는 서비스

위의 ELB와 함께 사용되는 기능으로 특정 트래픽을 초과시 자동으로 EC2 인스턴스를 생성하고

다시 트래픽이 줄어들면 추가 생성하였던 EC2인스턴스들을 삭제하는 서비스입니다.

Storage

S3(Simple Storage Service) : 일반 스토리지

HTTP 프로토콜과 연동되는 스토리지 정적 사이트를 호스팅하는데 사용할 수도 있습니다.

이미지 파일이나 웹 사이트 정적 요소 관리등을 할 수 있으며, 파일 마다 버전관리가 가능합니다.

 

Glacier: 저렴한 스토리지

S3와 다르게 저장에만 특화되어있는 저렴한 스토리지 서비스로 저장하고 꺼내는데 3시간-5시간 걸린다는 특징을 가지고 있습니다.

S3에서 -> Glacier로 백업을 자동 생성하도록 설정이 가능합니다.. (데이터 백업및 보관용도)

 

EBS(Elastic Block Store) : 빠른 블록 스토리지

EC2 인스턴스에 가상하드를 달아주는 서비스로 EC2 인스턴스는 종료되고 재생성될때 기존의 데이터가 유지가 안되지만

EBS를 연결하여 EBS에 파일을 저장한다면 EC2 인스턴스와 관계 없이 영구적으로 보관이 가능합니다.

Networking

CloudFront : AWS의 CDN 서비스

리전에 상관없이 엣지 로케이션 기준으로 가장 가까운 곳에서 파일 캐시를 가져오기 때문에 속도도 빠르며 비용도 EC2 혹은 S3로 서비스를 제공하는것 보다 더 저렴하다고 합니다.

 

Route 53: AWS의 DNS 서비스

EC2 / ELB 같은 서비스와 결합하여 사용이 가능하며 Route 53으로 L4 혹은 GSLB(Global Server Load Balancing)를 구축 할 수 있습니다.

 

VPC(Virtual Private Cloud) : 네트워크

클라우드 가상 네트워크 구축 서비스로서 내부망(VPN)을 구축하거나 서브넷을 나눠 네트워크를 용도별로 관리가 가능하도록 제공합니다.

VPC를 이용하여 AWS안에서 논리적으로 격리된 공간을 프로비저닝 할 수 있으며, 

IP 주소범위 선택, 서브넷 생성, 라우팅테이블 및 네트워크 게이트웨이 구성 등 가상 네트워크 환경을 완벽하게 제어할 수 있습니다.

 

Database

DynamoDB: AWS의 NoSQL 데이터베이스 서비스

 

RDS(Relational Database Service):  RDBMS 클라우드 서비스

Amazon Aurora, MySQL, MariaDB, PostgreSQL, Oracle, SQL Server등을 지원하고 있습니다.

 

- Redshift AWS의 DW설정, 페타규모

 

ElastiCache: Database Caching 서비스 (캐시 클러스터)

Memcached, Redis 호환을 지원하고 있습니다.

 

Security

- IAM(Identity and Access Management) : 사용자 계정 및 그룹관리

개별 IAM계정을 만들어 사용자별로 AWS 보안자격증명을 부여

 

- Security Group : 방화벽

AWS에서 제공하는 방화벽 서비스입니다.

 

- CloudTrail : 계정에대한 API호출기록

Management Console, SDK, 명령줄 도구 및 고급 AWS서비스를 사용하여 

실행한 API호출에 대한 정보와 로그파일을 전달

 

Management Tools

CloudWatch :모니터링 시스템

AWS 서비스들을 모니터링하거나 알람을 받는 설정들을 할 수 있는 서비스입니다.

특정 금액 초과할 경우 알람을 받거나 EC2의 CPU 사용률등의 알람도 가능합니다.

 

CloudFormation : 리소스 템플릿 생성

AWS 서비스 생성 및 배포 자동화 템플릿 서비스입니다.

AWS의 다양한 서비스들을 이용하여 아키텍쳐 구현시 미리 만들어놓은 템플릿(JSON)을 이용하여 생성하거나 직접 템플릿을 작성하여 관리가 가능하도록 하는 서비스입니다.

 

 


EC2 Instance  요금측정  관련 용어


 

- On-Demand :  사용한 만큼 지불하는 요금정책

온디맨드 요금은 인스턴스 유형에 따라 시간낭 또는 초당 컴퓨팅 파워에 대한 비용을 지불합니다.

 

- RI (Reserved Instance) :  일정기간동안 사용할 것을 미리 지정하고 할인을 적용받는 요금정책

최대 75%까지 할인 받을 수 있으며, 수요가 꾸준하거나 예측가능한 애플리케이션의 경우 

예약인스턴스를 적용하여 상당한 비용을 절감할 수 있습니다.

 

- Spot Instance :  입찰방식의 요금정책

사용자가 입찰가격을 제시하면  AWS에서 남는 인스턴스들에 대해  spot가격을 책정하는데

이 가격이 입찰가격 내로 들어오면 인스턴스가 자동으로 가동되는 방식

하지만 제시한 입찰가격보다 AWS spot가격이 더 높을 경우 인스턴스가 중지되므로

항상 실행되어야하는 인스턴스유형에는 적합하지 않습니다.

최대 90% 까지 할인 된 가격으로 인스턴스를 사용할 수 있습니다.

 

 

 

 

 

 

  • 참고자료

AWS EC2 Document 

https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/using-regions-availability-zones.html

https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/concepts.html

https://aws.amazon.com/ko/ec2/pricing/

Region간 Latency비교

https://www.cloudping.info/

AWS VPC Document

https://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/what-is-amazon-vpc.html

 

 

 

비밀번호를 이용한 서버 접속

테스트서버는 AWS EC2를 이용하였습니다. 

 

순서

1. 사용자 계정에 비밀번호 설정

2. sshd_config 수정

2. sshd 재기동

 

기존의 aws에는 key를 이용한 접속 방식을 하고 있기에 추가로 비밀번호 접속 설정을 해주지 않으면 키 분실 시 서버접근이 어려워 집니다

(물론 방법이 있기는 하지만 쉬운 방법을 이용하고자)

 

1. ec2-user에 비밀번호 설정

[ec2-user@ip-172-20-1-221 ~]$ sudo passwd ec2-user

Changing password for user ec2-user.

New password:

BAD PASSWORD: The password fails the dictionary check - it is too simplistic/systematic

Retype new password:

passwd: all authentication tokens updated successfully.

 

2. sshd_config 수정

[ec2-user@ip-172-20-1-221 ~]$ sudo vi /etc/ssh/sshd_config

 

[ec2-user@ip-172-20-1-221 ~]$ sudo cat /etc/ssh/sshd_config |grep Pass

PasswordAuthentication yes

#PermitEmptyPasswords no

#PasswordAuthentication no

 

## PasswordAuthentication 부분을 yes로 변경

 

3. sshd 재시작

[ec2-user@ip-172-20-1-221 ~]$ sudo service sshd restart

Redirecting to /bin/systemctl restart sshd.service

 

'System > Linux' 카테고리의 다른 글

[CMD] dig 명령어란?  (0) 2020.06.06

+ Recent posts