클라우드 컴퓨팅 개요
- 클라우드 컴퓨팅 : 인터넷을 사용해서 공유자원(서버, 네트워크, 스토리지)을 사용할 수 있는 서비스이다. 컴퓨터를 구매할 필요가 없고 컴퓨터에 운영체제를 설치할 필요도 없이 인터넷에서 제공하는 서비스를 호출하여 즉시 사용할 수 있다.
- 온디맨드(주문형 서비스) : 클라우드 컴퓨팅 서비스 사용자가 요청한 만큼 서비스를 제공하고 비용을 청구하는 모델을 의미한다.
- SLA : 온디맨드 서비스를 사용할 때 클라우드 컴퓨팅 서비스 사용자와 서비스 제공자(AWS) 간에 서비스 수준에 대한 협약서. 즉, SLA를 통해서 사용한 서비스만큼 비용을 지불하게 된다.
- 가상화 : 여러 개의 물리적 자원을 통합하여 하나의 컴퓨터처럼 통합해서 관리하거나 하나의 물리적 자원을 여러 개로 분할하여 사용하는 기술. 물리적으로 한 대의 서버를 여러 서비스 사용자가 같이 사용할 수 있다.
- Host OS : 하드웨어 위에 설치된 운영체제
- Guest OS : 호스트 가상화 혹인 하이퍼바이저 위에 설치된 운영체제
가상화 종류 | 설명 |
호스트 가상화 | Host OS 위에 Guest OS가 실행되는 방식 VM Workstation, VMServer, Virtual Box등이 있다 Host OS에 제약이 없다. Host OS위에 다시 Guest OS를 설치해서 사용하기 때문에 오버헤드가 크다 |
하이퍼바이저 | Host OS가 없고 하드웨어에 하이퍼바이저를 설치하여 사용하는 방식 Host OS가 없어 오버헤드가 적다 자체적으로 머신에 대한 관리 기능이 없어서 관리를 위한 콘솔이 필요하다 |
컨테이너 가상화 | Host OS 위에 컨테이너 관리 소프트웨어를 설치하여 논리적인 컨테이너를 나누어서 사용한다. Docker 오버헤드가 적고 속도가 빠르다 |
클라우드 컴퓨팅 모델
- 온프레미스 : IDC(Internet Data Center)에 서버를 설치하고 전용 네트워크를 통해서 운영하는 시스템. AWS는 전 세계에 리젼을 두고 AWS에서 IDC를 구축하고 서비스한다.
- 클라우드 컴퓨팅 종류
종류 | 설명 |
Private Cloud | 기업 내부에서 조직원들을 위한 서비스를 제공 |
Public Cloud | 인터넷을 사용해서 제공하는 클라우드 컴퓨팅 형태로 AWS, Azure등이 있다 |
Hybrid Cloud | Private 와 Public Cloud를 모두 제공하는 형태 |
- 클라우드 컴퓨팅 모델
모델 | 설명 |
IaaS (Inafrastructure as a Service) |
인프라를 서비스 형태로 제공하는 것으로 서버, 스토리지, 네트워크 관련 각종 물리적 장비를 서비스 형태로 제공한다. AWS에서는 EC2, S3, VPC 등의 서비스가 해당된다 |
PaaS (Platfrom as a Service) |
인프라에 설치되는 운영체제, 미들웨어, 데이터베이스 관리 시스템 등의 소프트웨어를 제공한다. AWS에서는 리눅스 및 윈도 운영체제, Oracle, MySQL 등으 DBMS를 제공하는 것이다. |
SaaS (Software as a Service) |
응용 프로그램을 서비스 형태로 제공하는 것이다 구글 Office365, 드롭박스 등의 응용 프로그램이 해당된다. |
AWS의 장점과 기능
장점 | 설명 |
초기 투자비용 | 사전에 서버, 스토리지, 네트워크 등의 인프라를 구매하지 않고 서비스 형태로 사용할 수 있다 사용량과 관계없이 지출되는 고정비용을 사용량만큼 지불하는 가변비용으로 대체하는 것 |
운영비용 절감 | 사용한 만큼 비용을 지불하여 운영비용을 줄일 수 있다 규모의 경제 측면으로 비용을 낮출 수 있다 |
탄력적 운영 및 확장 | 용량을 예측하지 않고 필요한 만큼 확장이 가능하다 |
속도 및 민첩성 | 필요한 시점에 정보시스템 인프라를 구축하고 확장이 가능하다 |
핵심역량 집중 | 핵심 비즈니스에 집중할 수 있다 |
글로벌 확장 | 전 세계적으로 리전을 보유하고 서비스를 하고 있기 때문에 언제든지 글로벌 확장이 가능하다 |
EC2
- AWS에서 Windows, 리눅스 등을 가상화 환경에서 제공하는 서버. EC2 생성 시에 있는 스토리지는 인스턴스 스토어로 휘발성이다
- AWS 보안 그룹은 방화벽과 같은 역할을 한다. 보안 그룹에서 인바운드는 외부에서 AWS에 들어오는 데이터(패킷)를 의미하고, 아웃바운드는 AWS에서 외부(인터넷)로 나가는 데이터를 통제하는 것이다.
- EC2 구성 순서 : EC2 인스턴스 생성 > 인스턴스 연결 > Windows 웹서버인 IIS(Internet Information Server)를 설치 > 파일을 업로드하거나 다운로드하기 위해 FTP Server 설치 > 새로운 Wintdows 사용자 계정 생성 > IIS Manager에서 FTP Server 생성 > EC2 인스턴스 보안 그룹에서 허용 포트 설정 > Windows 방화벽 오픈 > Apache와 MySQL을 사용하기 위해 XAMPP 프로그램 다운 및 설치
RDS
- AWS에서 제공하는 관계형 데이터베이스 서비스이다.
- Aurora데이터베이스는 Enterprise급 관계형 데이터베이스이다.
- 구성 순서 : RDS가 생성되면 엔드포인트 부분에 도메인 주소가 있고 해당 도메인 주소를 사용해서 연결한다 > 연결을 위해 HeidiSQL을 설치 > 보안 그룹에서 MySQL 포트 3306 포트를 오픈한다 > HeidiSQL을 실행 후 RDS 도메인 주소와 아이디/비번을 입력한다 > CloudWatch에서 RDS의 CPU 사용률, DB 연결 수, 스토리지 공간, 사용 가능한 메모리 정보를 모니터링할 수 있다.
S3
- AWS 스토리지 서비스는 EBS, S3, EFS 등이 있다.
스토리지 서비스 | 설명 |
EBS (Elastic Block Store) |
인스턴스용 영구 블록 스토리지를 제공한다. 복제를 통해서 데이터를 보호한다. 스냅샷 기능, 암호화, SSD와 하드디스크 드라이브를 제공한다. |
S3(Simple Storage Service) |
객체 스토리지로 단일 객체 하나는 최대 5TB로 제한 99.999999%의 가용성을 제공한다 S3를 사용하려면 하나의 리전에 버킷을 만들고 버킷에 객체를 업로드해야 한다. |
Glacier | 장기간 데이터 보관을 위한 매우 저렴한 스토리지 서비스(백업) ex) 의료 정보, 규제 및 규정 준수, 과학적 데이터 스토리지 |
S3 스토리지 구분 | 설명 |
S3 Standard | 33개 이상의 가용 영역 |
S3 Standard Infrequent Access(IA) | 객체와 관련된 검색 비용 발생 자주 액세스 하지 않는 데이터에 적합 |
S3 Intelligent - Tiering | 액세스 패턴을 사용해서 계층 간에 객체를 자동으로 이동 3개 이상의 가용 영역 |
S3 One Zone IA | 1개의 가용 영역으로 S3 Standard Infrequent Access(IA)보다 약 20% 저렴 |
S3 Glacier | 실시간 액세스가 지원되지 않는다 객체에 액세스 하려면 먼저 복원해야 한다 |
S3 Glacier Deep Archive | 10년간 장기 보관을 위한 최저 비용 스토리지 3개 이상의 가용 영역 |
- S3 구성 순서 : 리전에 버킷 생성 > 폴더 만들기로 버킷 내에 폴더를 생성한다. > 저장하고 싶은 파일을 선택하고 업로드한다 > 업로드가 완료되면 버킷을 참조할 수 있는 객체 URL이 확인된다 > 웹 브라우저에 URL을 입력하면 폴더의 내용이 조회된다.
VPC
- AWS에서 사용할 수 있는 다른 가상 네트워크와 논리적으로 분리되고 관리되는 가상 네트워크
- VPC 구성 순서 : 먼저 VPC를 생성한다 > 서브넷을 만들고 VPC와 연결한다 > 서브넷을 라우팅 테이블에 등록한다 > 인터넷 게이트웨이를 생성하고 VPC에 등록한다.
구분 | 설명 |
서브넷 | VPC의 IP 주소 범위로 VPC 내에서 네트워크를 분리하는 단위 |
라우팅 테이블 | 서비넷과 연결되어 네트워크 트래픽을 전달한다. |
인터넷 게이트웨이 | VPC와 연결되어 VPC 내의 네트워크와 인터넷을 연결할 때 사용된다. |
NACL (Network Access Control List) |
VPC에서 서브넷 단위로 네트워크의 인바운드 트래픽과 아웃바운드 트래픽을 통제하는 방화벽 |
CIDR | 서브넷 마스크 값을 간단하게 표시하는 표기법 |
IAM
- IAM은 AWS에서 제공하는 자원을 안전하게 관리하기 위한 접근통제 서비스이다. 즉, 사용자 그룹 생성, 사용자 생성, 권한 매핑 등을 통해서 접근 통제를 수행한다
- IAM 구성 순서 : 먼저 그룹을 생성하고 각 그룹에 사용자를 할당한다 > 그룹에 정책을 등록한다
ELB와 Auto Scaling
- ELB : 네트워크 장치 중에서 L4 스위치 역할을 하는 Amazon AWS 서비스로 EC2 인스턴스의 부하를 조절한다. L4 스위치라는 것은 라운드 로빈 방식으로 트래픽을 분산하는 역할.
- Auto Scaling : EC2 인스턴스에 부하가 발생하는 것을 자동적으로 EC2 인스턴스를 확장하여 부하를 처리할 수 있는 서비스. Auto Scaling을 사용하기 위해서는 ELB가 있어야 한다.
기타 서비스
서비스 | 설명 |
AMI | EC2 인스턴스를 이미지로 저장하여 여러 개의 EC2 인스턴스를 생성할 수 있는 서비스 AMI 이미지를 생성하면, 향후 EC2를 생성할 때 해당 이미지를 사용해서 생성할 수 있다. |
CloudWatch | 클라우드 리소스 및 애플리케이션의 성능 등을 모니터링한다. |
CloudFormation | 반복 가능 인프라, 리소스를 프로비저닝해서 애플리케이션에 도움을 주는 서비스 |
Elastic Beantalk | 가장 간단한 방법으로 애플리케이션을 배포할 수 있게 하는 서비스 |
Direct Connect | 온프레미스와 AWS 간에 연결되는 전용 네트워크(전용선)이다. |
Route 53 | 가용성과 확장성이 뛰어난 DNS(Domain Name Service)를 제공한다. |
CloudFront | Cache Server를 사용해서 대용량의 콘첸츠를 전송한다. Edge location을 사용해서 대용량의 콘첸츠를 빠르게 제공한다. |
AWS Shield | DDoS 대응 서비스이다 |
AWS Inspector | 자동으로 웹 애플리케이션의 보안 취약점을 검사하고 보고한다 |
ElastiCache | Redis 혹은 Memcached와 완전 호환되는 In memory data store이다 |
댓글