[0] AWS 네트워크 입문
회사에서 나만의 서버로 접속하여 자동매매 프로그램을 돌리고자 계획하고 있다.
관련한 지식을 쌓기 위해 책을 한 권 구매하여 읽어보고 있고 책은
김원일, 서종허 저자가 지은 "따라하며 배우는 AWS 네트워크 입문" 이라는 책입니다.
책은 비전공자도 네트워크와 관련한 기초 지식을 습득하는데에 문제가 없을 정도로 친절하게 설명되어 있습니다.
1장에서 5장 AWS의 네트워크 환경에 대해서 설명하고 있고,
이후 6장은 AWS와 연결되는 외부 네트워크 환경을 다루고 있다. 마지막 7장은 보안을 그리고 8장은 종합 실습으로
구성되어 있습니다.
AWS라는 것에 대하여 모두들 클라우드 정도로만, 원격으로 컴퓨터/서버를 제공해준다. 이 정도로 알고 있는 사람들이
대부분이라고 생각합니다.
원하는 만큼의 IT 리소스를 쉽게 사용하는 서비스라고 생각하시면된 됩니다, 하지만 실제로 AWS 서비스를 살펴보신
분이라면 얼마나 다양한 서비스가 제공되고 있고 나에게 딱 맞는 서비스가 무엇인지 알기 어려운걸 느끼실 겁니다.
오늘은 먼저 AWS에 대해서 알아가보는 내용을 적어보겠습니다.
클라우드 서비스의 4가지 종류
먼저 크게 4가지의 서비스 종류로 나누어 볼 수 있습니다.
(1) IaaS : 가장 기본적인 IT 자원인 서버, 네트워크, 스토리지 자원을 AWS로부터 제공받고 나머지 부분은 사용자가 관리. 사용자는 서버에 필요한 프로그램을 설치, 사용 및 운영 관리한다.
(2) PaaS : IaaS보다 더욱 적극적으로 도움을 받는 형태인데, IT 자원을 받는것 외에도 운영체제와 개발에 필요한 미들웨어와 런타임까지 제공받는 것이다.
(3) Serverless : 어플리케이션 개발에 필요한 대부분을 클라루드로부터 제공받는 것입니다. 사용자는 개발에만 집중할 수 있습니다.
(4) SaaS : 클라우드 사업자로부터 서비스 개발에 필요한 리소스 다양한 지원까지 받는 형태입니다.
위 1번 부터 4번으로 갈 수록 사용자는 클라우드 공급자로부터 더 많은 도움을 받게 됩니다.
종류에 대하여 적어보았다면 구현 방법론에 대해서 이야기 해 보겠습니다.
클라우드는 크게 Public Cloud 그리고 Private Cloud로 나누어 볼 수 있습니다.
Public Cloud는 우리가 가장 흔히 알 고 있는 형태로 아래와 같습니다.
사용자 -> 인터넷 -> 클라우드 공급자
Private Cloud는 사용자가 직접 자기의 데이터 센터에 클라우드 플랫폼을 구축하여 사용하는 모델입니다.
사용자 -> 사용자 접근 가능한 premise (on-premise로 기업의 데이터 센터와 같은 예)
마지막 하이브리드 모델은 위 두가지 모델을 동시에 사용하는 방법으로 생각하시면 되겠습니다.
그러면 왜 데이터 센터를 빌려서 쓰려고 하는 걸까요?
여기에는 많은 이유가 있습니다. 이와 관련하여 분석한 보고서도 굉장히 많습니다. 하지만 쉽게 말씀드리면,
데이터 센터는 물리적인 영역의 서비스들 (보안 요원, 울타리, 냉난방, 설비, 보안, 전력 등등)과
IT 인프라 영역 (서버, 네트워크 관리, 라우터 등 IT 인프라 장비들의 관리)과
운영 영역 (데이터 센터의 운영 및 유지 등 관리) 3가지 영역에서 관리가 필요합니다. 이러한 관리와 비용으로부터
벗어날 수 있게 되고 또 추가적으로 자원이 필요하게되면 쉽게 증대할 수 있게 되는 것이죠. 그리고 한 곳에 서버가
위치하여 화재나 물리적 위협 발생시 리스크가 커지는게 아니라 굉장히 쉽게 분리해서 운영할 수 있는 장점도 생기죠.
이러한 데이터 센터들을 모아 놓은 곳을 흔히 가용 영역 (Availability Zone) 이라고도 부릅니다.
현재 우리나라에는 4개의 가용 영역이 존재하고, 이러한 가용 영역을 다시 모아서 리젼(region)이라고
칭합니다. 글로벌 단위에서 생각해보면 이러한 리젼들에 접근할 수 있는 Edge PoP(Point of Premise) 라는
센터가 다시 존재합니다. 쉽게 생각하면 통신 접근을 도와주는 곳 정도로 생각하시면 됩니다.
서울 Region의 경우에는 현재 1개의 리젼별 Edge Cache와 4개의 Edge Location으로 구성되어 있습니다.
AWS 제품
AWS는 정말 많은 종류의 서비스를 제공하고 있습니다.
좌측 열에 나열되어 있는 항목이 큰 구분들입니다. 너무나 다양한 서비스들로 어려움을 느낄 수 있는데요,
쉽게 주요 서비스들만 소개시켜드리겠습니다.
(1) 컴퓨팅 서비스 (Compute)
EC2 (Elastic Compute Cloud) - 사용한 만큼 비용을 지불하는 물리 환경의 서버 컴퓨터와 유사한 자원을 제공하는 서비스입니다. 가상 머신을 제공해주고 이를 인스턴스라고 부릅니다. 목적에 맞게 인스턴스의 스펙과 종류를 선택할 수 있습니다.
Auto Scailing - EC2에서 한발 확장된 서비스로 인스턴스의 조건에 따라 자동으로 서버를 추가 혹은 제거해 주는 서비스
람다 (AWS Lambda) - 최근 가장 화두에 오르는 서비스로, 프로그램을 실행하는 컴퓨팅 엔진입니다. AWS가 컴퓨팅 엔진 전반을 관리해주기 때문에 사용자는 코드만으로 서비스를 실행할 수 있습니다.
(2) 스토리지 서비스
EBS (Elastic Block Store) - EC2에 연결하여 사용할 수 있는 블록 스토리지 입니다. 필요시 쉽게 연결, 생성 할 수 있는 저장공간으로 보면 되겠습니다.
S3 (Simple Storage Service) - 객체 기반의 무제한 파일을 저장할 수 있는 스토리지. 사용자는 URL을 통해 쉽게 파일 사용이 가능.
(3) 데이터베이스(DB) 서비스
Amazon RDS (Relational Database Service) - 일반적으로 가장 많이 쓰이는 관계형 데이터베이스를 제공해 주는 서비스입니다. HW와 DB 설정 , 백업 등 소모적인 작업들을 모두 제공해주는 편리한 서비스입니다. DB엔진도 제공해줍니다.
Amazon DynamoDB - 10mil second 미만의 성능을 제공해주는 키-값 방식의 NoSQL DB 서비스입니다.
(4) 네트워크 서비스
VPC (Virtual Private Cloud) - 독립된 섹션을 제공해 주며 사용자가 정의한 가상의 네트워크에 다양한 AWS 자원을 실행할 수 있는 환경을 제공. 한마디로 독립된 가상의 네트워크라고 볼 수 있음.
AWS VPN - 공용 인터넷으로 접속이 가능한 가상의 사설 네트워크를 구성하여 개인적인 통신을 제공해주는 서비스. 주요 사항으로 통신망의 데이터 암호화, 전용 연결 등의 보안 사항이 충족가능하다는 장점이 있음.
ELB (Elastic Load Balancing) - EC2에 데이터를 분산하여 전달하는 역할을 수행
AWS Private Link - 공공 인터넷에 노출이 되지 않도록 전용 선으로 연결하는 방식으로 AWS 서비스와 on-premise 자산을 연결하는 방식의 비공개 연결 제공임.
Route53 - AWS에서 제공하는 관리형 DNS 서비스로, 도메인 이름 구매부터, 호스팅 설정, 질의 응답까지 가능한 서비스임.
이외에도 네트워크 확장을 용이하게 하는 전송 게이트웨이 서비스, Direct Connect 서비스, CDN 서비스, Global Accelecrator 서비스 (글로벌 전송) 등 대형 네트워크 혹은 정보 전송을 위한 네트워크 서비스들이 존재한다.
앞서 굉장히 많은 종류의 서비스를 소개하였습니다.
일반적으로 개인 단위에서, 소규모 사업을 하는 자영업자의 경우에도 원격으로 단일 서버 정도 생각하시는 분들에게는
EC2에 대한 사용을 고려하시면 되겠습니다. 참고로 EC2의 경우 처음 가입한 12개월 동안 무료 사용이 가능하다는
어마어마한 장점이 있습니다.
처음 인스턴스를 설정하는 경우에도 결국 다시 많은 작업과 시행착오가 요구됩니다.
이러한 기간 동안 충분한 연습과 배움을 얻을 수 있기에 EC2 사용을 권장합니다.
그러면 아래에 간단히 무료 사용을 위한 절차를 소개해드리겠습니다. 아래의 링크로 접속하시면 되겠습니다.
무료 클라우드 컴퓨팅 서비스 - AWS 프리 티어
Q: AWS 프리 티어란 무엇입니까? AWS 프리 티어는 고객에게 서비스별로 지정된 한도 내에서 무료로 AWS 서비스를 살펴보고 사용해 볼 수 있는 기능을 제공합니다. 프리 티어는 12개월 프리 티어, 상
aws.amazon.com
위 링크에서 계정 유형을 개인으로 선택하고 진행하시기 바랍니다.
총 5단계의 단계로 진행되고 메일 인증, 휴대폰 인증, 카드번호 인증 등 조금은 시간이 소요됩니다 10분 이내지만.
결제 정보에 신용카드/체크카드를 입력하고
전화번호 입력 및 인증을 진행하고,
마지막 지원 플랜을 "기본 플랜"으로 선택하시면 되겠습니다.
먼저 무료라고 이야기를 하였으나 작지만 소액의 비용이 수반되기는 합니다.
하지만 일반적으로 가볍게 생각할 수 있는 수준의 비용으로 1년을 사용할 수 있기 때문에 또 나아가,
이외의 다른 부가적인 서비스들도 어느 정도의 기능들까지만 무료로 사용이 가능합니다.
이러한 다른 무료 서비스들에 대해서는 웹사이트 내에 상세하게 설명되어 있으니 살펴보시기를 권장드립니다.