오늘은 Cloud 개요와 AWS에 대해 간단하게 배웠다 ㅎㅎ
IT 서비스 운영을 위하여 직접 인프라를 구축하는 방식
이전 또는 현재 주로 사용하는 환경
client - server 구조
client -service 요청
server - service 제공
client-sever 구조에 동작하는 프로그램 유형
Front-end
end-user(사용자) 사용하는 프로그램
클라이언트에서 동작하는 프로그램
Back-end - 인프라 구성
서버에서 동작하는 프로그램
client에게 서비스를 제공하는 프로그램
H/W 구성 -> 처리 속도 빠르게 하기 위해서
CPU(처리능력),
memory(기억능력),
I/O Device(입출력 속도)를 결정 해야함
On-promise의 경우 최대 용량에 맞춰서 H/W를 구축하게 됨
S/W 구성 - O/S(운영체제)결정 해야함 -> H/W를 제어하기 위해서
Linux- RedHat, Debian 배포판
MS Windows server
MacOS -> 서버 버전이 올해 초에 단종 되었다고 함
Server 구성을 위한 S/W
Server 구성 프로그램 및 구성 프레임 워크(프로그램 과 프로그램 구조를 포함하고 있는 라이브러리) 결정해야한다
ex) Webserver, DB Engine, Main Server
Cloud 환경
H/W,S/W를 클라우드 서비스 제공 업체에게 환경을 빌려서 사용 - 초기 비용 별로 안든다
Network사용이 기본
Web 기반 이용 - 클라이언트 프로그램으로 웹 브라우저 사용
AWS(Amazon web service) 개요
Amazon 내부 운영 시스템을 발젼 시켜 외부 서비스 형태로 제공하는 public cloud service
장점
자본 비용을 가변 비용으로 대체
규모의 경제에 따른 혜택
필요 용량에 대한 별도 추정 불 필요
속도 및 민첩성 개선
별도의 데이터 센터 운영에 따른 비용 불필요
전 세계 배포에 대한 편의성 제공
cloud service 유형
Iaas(infrastructure aș a service)
server 환경만 빌려서 사용
Cloud service 업체에서 제공하는 Infrastructure 사용
H/W 환경
O/S 환경
네트워크 환경
Paas(platform as a service)
platform을 빌려서 사용
Application을 개발하고 동작할 수 있는 환경을 빌려서 사용
Cloud Service 업체에서 제공하는 infrastructure와 platform 활용
H/W환경
O/S 환경
네트워크 환경
Service 제공을 위한 환경 - Library / Framework 등
Saas(service as a service)
사용자가 원하는 서비스 관련 어플리케이션을 빌려서 사용
클라우드 서버스 업체에서 제공하는 infrastructure와 platform과 service 활용
H/W환경
O/S 환경
네트워크 환경
Service 제공을 위한 환경 - Library / Framework 등
Service 제공해주는 서비스 사용
cloud 책임 모델
공동 책임 모델 적용 - default 임
cloud 서비스 제공 업체와 cloud 서비스 사용자의 각각의 책임 영역을 구분하여 책임을 나누어 관리하는 모델
cloud 배포 형태
public cloud
공개된 형태의 cloud, 일반적인 cloud 형태
private cloud
on-promise 환경을 클라우드 형태로 제공 -
hybrid cloud
퍼블릭과 private를 합친 형태
가상화 종류
bare metal 형식 가상화
기본 o/s와 별개로 가상화 s/w를 이용해서 H/W를 구성하여 제공하는 가상화 방법
vmware, virtualbox
Hypervisor를 지원하는 cpu환경에서만 사용가능!
Host O/S와 Guest O/S를 별도로 설치하여 사용하므로 자원관리 측면에서 많은 자원 소모 발생
O/S 가상화
기존 o/s 커널을 수정하여 갸상화 기능 제공
가상환경 H/W 생성없이 물리적인 H/W를 가상화 기술을 이용하여 공유
퍼블릭 클라우드 모든 서비스는 가상환경을 이용하여 제공
효율적이고 크기도 작다
APPLICATION가상화
어플리케이션 실행환경을 가상화하여 좀 더 쉽게 Application을 배포하고 운영할 수 있는 장점
docker
AWS 로그인
루트 사용자
ID - email 사용
하나의 ID만 부여되고 모든 AWS service를 사용할 수 있는 사용자
과금 대상자
IAM 사용자
ID-숫자12자리
일반 사용자가 주로 사용
루트 사용자나 일반 사용자에 의해서 생성 가능!
역할에 따른 제한된 서비스만 사용할 수 있는 사용자
AWS 서비스 이용 방법
AWS console 이용
GUI방식 - 그냥 메뉴창 사용
CLI 방식 - 명령 프롬프트에서 명령어 기반으로 서비스 관리
windows에서는 putty,
Mac이나 Linux에서는 터미널 프로그램 사용
시스템 운영자, 어플리케이션 개발자가 사용하는 도구다.
AWS SDK(software development kit) 이용
application 에서 API(Application Programming Interface)를 이용하여 AWS서비스 사용
별도 설치 필요
application 개발자
Iac(Infra as a Code)이용
인프라 구축을 코드를 이용하여 관리 하는 방법
AWS 서비스 생성 및 운영에 대한 내용을 Code 형식을 사용하여 일괄적으로 관리 하는 방법
복잡한 Infra를 일괄성을 유지하면서 관리하기 위한 목적으로 사용
대표적 Iac Utility
AWS CloudFormation
Ansible
Terraform
시스템 운영자(관리자)
글로벌 인프라
AWS Global infra 특징
보안 -
가용성
성능
국제적 입지
확장성
유연성
Region
근접성 속도 - https://www.cloudping.info/
AWS 서비스는 리전별로 다르다
가용영역(Availability zone - AZ)
리전 내 격리된 공간
실제 데이터 센터 의미
각 리전은 2~4개의 가용영역 운영
AWS 서비스는 리전의 가용영역을 지정하여 제공하는 경우가 많다
리전과 가용영역을 선택하는게 중요!
AWS 서비스 유형 - Iaas
Computing Service (가상 컴퓨터,서버)
아마존 EC2(Elastic Compute Cloud)서비스
Network Service(가상 네트워크)
Amazon VPC(Virtual Private Cloud) 서비스
Storage Service(보조 기억 장치, 데이터/객체 저장)
Amazon EBS(Elastic Block Storage) 서비스
Amazon EFS(Elastic File Storage) 서비스
Amazon S3(Simple Storage Service)
Relation DataBase Service
Amazon RDS(Relational Database Service)
사용자 관리 Service
IAM(Identity and Access Management Service)