...
AWS 클라우드 용어 정리
AWS 관련된 자료를 보다 보면 많은 단축용어들이 즐비하게 있다.
그래서 용어 뜻을 몰라 설명을 봤더니 알수없는 전문용어들이 나와 또 찾아보게되고 꼬리를 물고 물리는 상황이 연출된다.
예를들어, 고가용성 이니 장애허용 이니 각 구성된 단어의 뜻은 알겠는데 정확히 무얼 말하고 싶은건지 애매하다.
AWS 전문용어가 얼마나 많으면 공식 홈페이지에서 따로 검색 백과사전 서비스를 운영할 정도이다.
이번 포스팅에는 aws를 학습하는데 많이 등장하고 중요한 네트워킹/클라우딩 용어들을 추려 정리해보는 시간을 가져보겠다.
AWS 클라우드 용어
고가용성 (High Availability, HA)
전체 시스템에 대하여, 사람이 개입하지 않아도 시스템이 항상 작동하고 자동으로 오류를 복구해 가동 중지를 최소화하도록 보장하는 것을 말한다. (장애가 발생하더라도 아주 짧은 시간이며, 자동으로 복구)
즉, 서버와 네트워크, 프로그램 등의 시스템이 오랜 기간동안 지속적으로 정상 운영이 가능한 성질을 말하며, 고장나도 바로 복구해서 서비스를 지속할수 있는 능력을 말한다.
단, 복구를 위한 약간의 장애시간도 포함한다.
시스템을 1분이라도 사용할 수 없으면 비즈니스에 중대한 손상이기 때문에 중요한 개념이며 aws서비스에 자주 등장하는 용어다.
- ELB : 지연 시간이 길거나 서버가 과다 사용되는 경우 이를 알리는 트리거로 동작
- EIP : 인스턴스가 실패하더라도 클라이언트가 애플리케이션에 액세스할 수 있도록 고정 IP
- Route 53 : 단순 라우팅, 지연 시간에 따른 라우팅, 상태확인, DNS 장애 조치, 지리 위치 라우팅 지원
- Auto Scaling
- CloudWatch
- 여러 AZ
내결함성/장애내구성
하드웨어 오류가 발생 했을 때 데이터 무결성을 유지하는 컴퓨터 하드웨어나 소프트웨어의 기능.
즉, 시스템의 일부 구성요소에 장애 상황에도 서비스를 지속할수 있는 능력을 말한다.
여기서 조심할게 있는데 장애를 떠안은채 서비스를 지속한다는 개념이 아니다. 서비스에 장애가 있으면 누가 이용하겠는가?
장애가 있어도 다른 가용영역(AZ)로 연결을 시킴으로서 해결하는 즉, 어찌보면 간접적으로 우회해서 해결할수 있는 능력을 말하는 것이다.
그래서 장애 상황에 영향을 받지 않는 아키텍쳐가 필요하다.
고가용성 : 장애가 생기면 빠른 시간안에 장애를 고치고 서비스 지속
내결함성 : 장애가 생기면 우회하는 식으로 해결해서 서비스를 지속 (장애를 고치는게 아니다)
- SQS : 내결함성 애플리케이션의 백본으로 사용, 안정적인 분산 메시징 시스템, 대기열 항시 사용 가능
- S3 : 내구성과 결함성이 뛰어난 데이터 스토리지. 리전 내 여러 시설에서 각 디바이스의 모든 데이터를 중복 저장
- RDS : 자동 백업, 스냅샷, 여러 가용 역역 지점
고가용성 & 장애내구성 조합 ★
앞서 고가용성이 뭔지 장애내구성이 뭔지 알아봤다.
둘다 서비스를 하는데 있어 정말 필수적인 요소이지만, 고가용성과 장애내구성 둘다 확보하는 것은 당연히 고비용/복잡한 구조일 것이다.
따라서 상황에 따라 어느것을 우선시해 비용을 줄이는 것이 중요한데,
만일 의료시스템 같은 경우에는 잠시동안의 서비스 장애도 치명적인 결과를 불러올 수 있기 때문에 고비용/복잡한 구조여도 장애내구성을 확보해야하는 것이 옳다.
하지만 다른 서비스는 장애내구성을 확보할 필요가 없다면 비용을 줄여 고가용성만 확보하는 식으로 설계한다.
이처럼, 이 둘의 개념을 정확히 알고 잘 조합해서 상황에 맞는 아키텍쳐 설계가 무엇보다 중요하다.
고가용성X / 장애내구성X
예를 들어 승용차를 생각해보자. 만일 타이어가 터지면 운전이 불가능해진다.
고가용성O / 장애내구성X
이번에는 스페어 타이어를 가지고 있는 자동차를 예로 들어보자.
타이어 하나가 터지더라도 운전자가 내려서 수리후 운전이 가능하다. 이것은 즉 장애가 생겨도 장애를 복구해서 서비스를 지속하는 고가용성에 해당하는 부분이다.
단 타이어가 터져서 수리하는 동안은 운전이 불가능하기 때문에 장애내구성은 확보를 못한다고 말할 수 있다.
고가용성O / 장애내구성O
비행기 같은경우 엔진이 하나 터지더라도 여분이 이어서 계속 작동하도록 설계되었다.
즉, 엔진이 터지더라도 계속 비행이 가능하다.
이것은 장애가 있어도 서비스를 지속(비행)함으로서 고가용성과 장애내구성을 확보 했다고 말할 수 있다.
모두 비행기처럼 설계하면 좋겠지만 역시 비용이 문제다.
재해 복구
말 그대로 장애상황을 복구하는 것.
그냥 망가졌으면 고친다는 개념으로 앞에서 배운 고가용성과 장애내구성과는 다르고 상관없는 개념.
장애허용
고가용성과 다르게 장애가 발생하더라도 서비스의 중단없이 장애를 가진채 계속 서비스되는 시스템을 의미한다.
확장성
- 쉽고 빠르게 규모를 늘릴 수 있는 능력
- 주로 수요에 따라 컴퓨팅 파워 또는 용량 확장
- 예를들어, 유저가 한명일때는 서버 하나, 유저가 어러명으로 늘어날때는 자동으로 서버 증설
탄력성(Elastic)
용량 요구사항에 대해 신경쓰지 않고 확장 및 축소가 자동으로 동작하는걸 말한다.
AWS에서 정말정말 자주 등장하는 용어이다.
- 수요에 따라 컴퓨팅파워 또는 용량을 확장하거나 축소 할 수 있는 능력 (확장성은 말 그대로 확장만)
- 불필요한 자원을 사용하지 않고 비용 최적화에 필수적인 능력
- 트래픽 급증 시 웹 서버 수 자동으로 증가시키거나, 트래픽이 줄어들 때 데이터베이스 쓰기 용량 감소 (IOPS : Input/Output Opereations Per Second)
- 아키텍쳐 전반에 걸친 일상적인 수요 변동 처리
- 시간 기반 탄력성 : 리소스가 사용되지 않을 때 리소스 끄기
- 볼륨 기반 탄력성 : 수용 강도에 맞게 규모 조정
온프레미스 (On-premise)
클라우드 같은 환경이 아닌 자체 회사 전산실에 직접 설치하여 운영하는 환경을 의미한다.
한마디로 클라우딩 컴퓨터의 반대 개념이라고 보면 된다.
On-premise는 클라우드 컴퓨팅 기술이 나오기 전까지 기업 인프라 구축의 일반적인 방식이었기 때문에 이전 또는 전통적인 이라는 단어와 함께 사용되는 편이다.
오프프레미스 (Off-premises)
On-premise의 반대버젼으로, 클라우드 같은 환경을 말한다.
온디멘드 (On-Demand)
이용자의 요구에 따라 상품이나 서비스가 바로 제공되는 것.
인스턴스
클라우드에서 사용하는 가상 서버로 CPU, 메인보드, 그래픽 카드등 연산을 위한 하드웨어 부분을 담당.
그냥 가상 컴퓨터 본체라고 보면 된다.
AMI (Amazon Machine Image)
EC2 인스턴스를 실행하기 위한 정보를 담고 있는 이미지(템플릿)
ARN (Amazon Resource Name)
추후에 버킷 정책의 JSON을 살펴볼때 나오는 개념이다.
여러 정보들을 표현하는 일종의 아이디 형식이라고 이해하면 된다.
프로비저닝(provisioning)
사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다가 필요시 시스템을 즉시 사용할 수 있는 상태로 미리 준비해 두는 것
간단히 말해서 빌리는것 → EC2 한대를 프로비전하여 웹서버를 구성한다.
보안 그룹
가상의 방화벽
오토 스케일링
정책에 따라서 시스템을 자동으로 늘리고 줄여주는 서비스.
스냅샷
: 읽기만 가능한 특정 시간의 가상 복제 파일시스템. 특정 시간에 파일시스템을 복사해서 보관하다가 나중에 원본에 문제가 생겼을 때 복원 해주는 기능.
노드
: 트리 구조에서 데이터의 상하위 계층을 나타내는 위치의 항목.
컨테이너
: 응용프로그램(어플리케이션)의 종속성과 함께 응용프로그램 자체를 캡슐화 함. 일반적인 VM과 같이, 운영체제의 격리된 인스턴스 형태.
클라우드
: 이용자와 기업/기관들이 인터넷을 통해 접속할 수 있는 회사의 데이터센터 서버 네트워크. 아마존, 애플, 구글 등등 자체 클라우드가 있다. ‘클라우드’는 사용자가 접속하는 기업의 서버 네트워크를 설명하는 일반적인 용어(매우 큰의미)
DR(Disaster Recovery)
: 재해(재앙) 복구 시스템. IDC별, 전산신별, 지점별 등 지역적으로 분리된 서버들에 대해 무정지 서비스 가능. 갑작스런 네트워크의 단절, 네트워크 노드의 불안정, 장비의 다운,정전 등으로 인한 문제 해결
IDC(Internet Data Center)
: 기가급 랜을 구축한 초고속 인터넷 환경에 인터넷 사업자의 서버 시스템을 설치, 운영할 수 있는 설비를 제공하는 곳.
AWS 트래픽 용어
트래픽
인터넷 상에서 송수신 되는 모든 통신의 양
인바운드 트래픽
서버로 들어오는 트래픽 (클라이언트의 요청)
아웃바운드 트래픽
서버에서 나가는 트래픽 (서버의 응답)
로드밸런서
여러 대의 Server에 트래픽을 균등하게 분산.
AWS 스토리지 용어
EBS (Elastic Block Storage)
클라우드에서 사용하는 가상 하드디스크를 지칭
오브젝트 스토리지
클라우드에서 일반적으로 사용되는 계층 없는 데이터 저장법. 디렉토리 트리를 사용하지 않음.
블록 스토리지
파일이 균일한 블록에 저장되는 데이터 스토리지를 의미. 액세스와 편집이 빈번하게 일어나는 데이터에 적합.
메타데이터
어떤 목적을 가지고 만들어진 데이터
NAS(Network Attached Storage
네트워크와 연결된 저장소. 네트워크로 연결되어 있다면 언제 어디서나 PC, 모바일기기에서 NAS에 저장된 파일에 접근 가능
SAN(Storage Area Network)
블록 수준 스토리지에 접속할 수 있도록 지원하는 특정 시스템 전용의 고속 네트워크
DAS(Direct Attached Storage)
서버와 직접 케이블로 연결한 외장형 저장 장치.
RAID(Redundant Array of Inexpensive Disks)
여러 드라이브의 집합을 하나의 저장 장치처럼 사용하는 것을 말함. 값싼 드라이브들을 연결하여 크고 비싼 드라이브 하나를 대체
데이터베이스 용어
SQL(Structured Query Language)
- 구조화 질의어.
- 관계형 데이터베이스 관리 시스템의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어
NoSQL(Not Only SQL)
- 비관계형 데이터베이스.
- 전통적인 관계형 데이터베이스 보다 덜 제한적인 일관성 모델을 이용하는 데이터의 저장 및 검색을 위한 매커니즘을 제공.
- 이러한 접근에 대한 동기에는 디자인의 단순화, 수평적 확장성, 세세한 통제를 포함.
분산DB
하나의 데이터베이스 관리 시스템이 여러 CPU에 연결된 저장장치들을 제어하는 형태의 데이터베이스이다.
데이터 웨어하우스
- 정보(data) + 창고(warehouse)가 결합한 의미로 의사결정에 도움을 주기 위해 분석가능한 형태로 변환한 데이터들이 저장되어 있는 중앙저장소를 읽컫는다.
- 즉, 의사결정에 필요한 데이터가 들어있는 데이터베이스 라고 이해하면 된다.
- 트랜잭션 시스템, RDB 및 기타 소스의 데이터들이 바로 이 데이터웨어하우스 범주에 들어간다
메타데이터
어떤 목적을 가지고 만들어진 데이터
스키마(Schema)
데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 메타데이터의 집합
데이터 무결성
데이터의 정확성과 일관성을 유지하고 보증.
트랜잭션(Transaction)
시작과 끝이 있는 독립적인 일 여러 개를 하나로 묶어 놓고 그 중 하나라도 실패하면 모든 일을 시작하기 전 상태로 되돌리는 ‘하나의 작업 단위’
AWS 네트워크 용어
DNS(Domain Name System)
: 사람이 읽을 수 있는 도메인이름을 머신이 읽을 수 있는 IP주소(예:192.0.2.11)로 변환하는 시스템
IP(Internet Protocol)
: 네트워크 상에서 컴퓨터는 다른 컴퓨터와 구별 될 수 있도록 고유번호를 가지는데, 이 번호는 인터넷에 접속할 때 컴퓨터 각각에 부여받은 주소 혹은 전화번호 같은 개념. IP를 만들어서 상호 충돌을 방지.
스마트폰이나 노트북부터 대규모 소매 웹 사이트의 콘텐츠를 서비스하는 서버에 이르기까지 인터넷상의 모든 컴퓨터는 숫자를 사용하여 서로를 찾고 통신합니다. 이러한 숫자를 IP 주소라고 합니다.
Private IP
: 네트워크 안에서 사용되는 주소. 인터넷상에서 확인할 수 없고, 내부 네트워크에서만 사용 가능한 IP. 홈 LAN이나 회사 내부에서 마음대로 사용 가능.
Public IP
: 인터넷상에서 하나 밖에 없는 IP로 그 번호밖에 없는 유일한 IP. 각 나라의 관할 기관에서 할당을 받아야 사용 가능.
VIP(Virtual IP)
: 하나의 호스트에 여러 개의 IP주소를 할당하는 기술. 이 기술을 이용하면, 하나의 네트워크 인터페이스에 여러 개의 IP 주소를 줄 수 있다. 바깥에서는 마치 하나 이상의 네트워크 인터페이스가 있는 것으로 보일 것이다.
CDN(Contents Delivery Network)
: 지리적 물리적으로 떨어져 있는 사용자에게 콘텐츠 제공자의 콘텐츠를 더 빠르게 제공할 수 있는 기술.
사용자가 원격지에 있는 서버로부터 Contents를 다운로드 받을 때 가까이 있는 서버에서 받는것보다 시간이 오래 걸리므로, 사용자와 가까운 곳에 위치한 Cache Server에 해당 Content를 저장(캐싱)하고 Content 요청시에 Cache Server가 응답을 주는 기술. 원격지 서버에서 받는것보다 빠르게 페이지나 콘텐츠를 이용할 수 있다.
서브넷
: IP블록을 더 작은 그룹으로 분할하는 프로세스. 네트워크 수에 따라 효율적으로 사용할 수 있도록 서브넷 등장
서브넷 마스크
: IP주소에는 반드시 서브넷 마스크가 있다. 255는 네트워크 부분이며 0은 호스트 부분이다. 255로 된 부분은 무시, 0으로 된 부분에서 IP를 쪼갠다. 왜 쪼개냐면 IP주소가 모자라기 때문이다.
NAT(Network Address Translation)
: 네트워크 주소 변환. IP 패킷의 TCP/UDP 포트 숫자와 소스 및 목적지의 IP 주소등을 재기록하면서 라우터를 통해 네트워크 트래픽을 주고 받는 기술. 사용하는 이유는 대개 사설 네트워크에 속한 여러 개의 호스트가 하나의 공인 IP주소를 사용하여 인터넷에 접속하기 위함
방화벽
: 미리 정의된 보안 규칙에 기반한, 들어오고 나가는 네트워크 트래픽을 모니터링하고 제어하는 네트워크 보안 시스템. 방화벽은 일반적으로 신뢰할 수 있는 내부 네트워크, 신뢰할 수 없는 외부 네트워크 간의 장벽을 구성한다. 서로 다른 네트워크를 지나는 데이터를 허용하거나 거부하거나 검열, 수정하는 하드웨어나 소프트웨어 장치이다.
라우터
: 네트워크 장비의 일종으로 패킷(네트워크 전송 데이터의 최소 단위)을 다른 네트워크로 보내주는(forward) 역할을 한다.
VPN(Virtual Private Network)
: 인터넷 트래픽을 암호화 하고, 온라인 상의 신원을 보호 함. 일반적으로, 인터넷에서 웹사이트에 액세스 하려고 하면 ISP(인터넷 서비스 공급자)가 요청을 수신하고 목적지로 리다이렉션 합니다. 인터넷 트래픽이 ISP를 통과하면 ISP는 온라인에서 사용자가 하는 모든 것을 볼 수 있습니다. 또한 ISP는 사용자의 행동을 추적하고 때로는 광고주, 정부 기관 및 기타 제 3자에게 검색기록을 넘겨줄 수도 있다. 이를 방지하기 위해 VPN이 사용됩니다. VPN은 특별히 구성된 VPN 서버를 통해, 사용자의 인터넷 트래픽을 리다이렉션 하고, IP 주소를 숨기고, 또한 보내거나 받는 모든 데이터를 암호화 합니다. 암호화된 데이터는 그것을 가로채는 자에게 무의미 하게 나타나기 때문에 읽을 수 없습니다.
게이트웨이
: 컴퓨터 네트워크에서 서로 다른 통신망, 프로토콜을 사용하는 네트워크 간의 통신을 가능하게 하는 컴퓨터나 소프트웨어를 두루 일컫는 용어. 즉, 다른 네트워크로 들어가는 입구 역할을 하는 네트워크 포인트이다.
프록시(proxy)
: 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해주는 컴퓨터나 응용 프로그래밍. 서버와 클라이언트 사이에서 중계기로서 대리로 통신을 수행하는 기능을 가리켜 ‘프록시’, 그 중계 기능을 하는 것을 프록시 서버 라고 한다. 프록시 서버는 프록시 서버에 요청된 내용들을 캐시를 이용해 저장한다. 캐시 안에 있는 정보를 요구하는 요청에 대해서는 원격 서버에 접속하여 데이터를 가져올 필요가 없게 됨으로써 전송 시간을 절약할 수 있다.
ISP(Information Strategy Planning)
: 경영 전략 달성과 환경 변화에 대응 하기 위해 최상의 업무 운영을 가능케 하는 바람직한 미래 업무를 설계한 후, 이의 효과적 지원을 위한 IT 측면에서의 정보전략 실행 계획을 수립하는 경영 활동을 말한다..
MAC Adress
: 인터넷 가능한 장비(TCP/IP통신을 하는)가 가지고 있는 물리적인 주소.
DdoS(Distributed Denial of Service)
: 일반적으로 공격자는 대량의 패킷 또는 요청을 생성하여 궁극적으로 목표 시스템을 마비시켜버림.
APT(Advanced Persistent Threat)
: 지능형지속공격은 잠행적이고 지속적인 컴퓨터 해킹 프로세스들의 집합으로, 특정 실체를 목표로 하는 사람이나 사람들에 의해 종종 지휘된다.
API(Application Programing Interface)
: 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다.
CLI(Commend Line Interface)
: 터미널을 통해 사용자와 컴퓨터가 상호 작용함. 즉, 작업 명령은 사용자가 컴퓨터 키보드 등을 통해 문자열의 형태로 입력하며, 컴퓨터로부터의 출력 역시 문자열의 형태로 주어진다.
AWS 보안 용어
인증(Authentication)
: 클라이언트가 서버에 접속하기 위해선 인증을 해야하는데 그때 나는 ‘누구’이며 ‘증거’를 제시해야한다. 가장 쉬운 예는 아이디와 비밀번호 입니다. 한국장학재단 사이트 같이 보안이 중요한 웹 사이트는 아이디-비밀번호 로그인 후 공인인증서 로그인을 또 해야 합니다. 이와 같이 이중으로 하는 인증을 two-factor authentication, 줄여서 2FA 라 하고 세번 인증하면 multi factor authentication 이라 합니다. 이외에도 지문 인식, 안면 인식 등 신체일부분을 활용한 물리적인 인증 방식도 있습니다.
인가(Authorization)
: 사용자 인증을 성공적으로 마쳤다면, 이제 클라이언트는 권한을 가지게 됩니다. 이를 인가라 합니다(권한부여). 예를 들어 같은 웹사이트에 로그인을 해도 admin 계정으로 로그인을 하면, 일반 사용자 들에게는 보이지 않던 관리 메뉴가 하나 더 생깁니다. 이런 경우에 일반 사용자는 일반 권한을, admin은 관리자 + 일반 권한을 가지게 됩니다.
암호화
: 컴퓨터/통신 분야에서의 암호화는 누구든 읽어볼 수 있는 평문으로 저장된 정보를 알고리즘을 이용하여 암호 인증 키를 가진 사람만이 정보를 볼 수 있도록 암호문으로 변환하는 것을 말합니다. 암호화된 형태로 정보를 저장하거나 전송할 경우 제 3자의 공격에 의해 데이터가 손실/변조 되는 것을 막을 수 있습니다. 또한 인증 키를 가진 사람만이 데이터에 접근할 수 있기 때문에 일종의 사용자 인증 기법으로서 데이터를 안전하게 보호할 수 있습니다.
복호화
: 암호화의 반대로 복호 키를 이용하여 데이터를 원래대로 복원하는 것. 암호화 체계는 복호화 키와 암호화 키가 일치하는지 여부에 따라 크게 대칭형 비밀키 암호화기법, 비대칭형 공개 키 암호화 기법으로 나뉘어 집니다.
SSO(Single Sign On)
: 통합인증. 한 번의 인증(로그인)을 통해 여러 어플리케이션을 이용할 수 있게 하는 기능. 최초 인증에 성공하면 다른 시스템에 대한 접근 권한도 얻을 수 있다.
# 참고자료
https://youtu.be/c7WjVkaUSj4
https://thefif19wlsvy.tistory.com/4
이 글이 좋으셨다면 구독 & 좋아요
여러분의 구독과 좋아요는
저자에게 큰 힘이 됩니다.