728x90
반응형
SMALL
SMALL

 

AWS에 대해 이제 하나씩 공부해보자. AWS에는 Region이라는 개념이 있다. 

 

AWS Region

AWS Region은 서비스가 제공되는 리소스의 지리적 위치를 말한다.

각 Region에는 고유의 코드가 부여되는데 서울의 경우 'ap-northeast-2'이다.

 

리전 코드를 해석해보면 다음과 같다.

지역(ap)-지리적위치(northeast)-순번(2)

 

  • 지역(ap) - Asia Pacific
  • 지리적 위치(northeast) - 북동쪽
  • 순번(2) - 2번째로 출시한 지역

참고로 도쿄에 경우 ap-northeast-1이다. 이 코드는 API 사용시에 필요하기 때문에 반드시 알아야 한다.

그리고 또 이 코드를 알아야 하는 이유 중 하나가 Region 별 서비스 제공 유무가 달라지기 때문이다. 그리고 이것을 AWS-CLI를 이용해서 확인할 수 있다. 

 

AWS-CLI를 이용해서 Region 관련 조회하기

우선, AWS-CLI를 설치부터 해야한다. 이를 설치하기 위해 다음 링크로 들어가보자. https://aws.amazon.com/ko/cli/

 

Command Line Interface - AWS CLI - AWS

aws-shell은 명령줄 셸 프로그램으로서, AWS 명령줄 인터페이스를 사용하는 새로운 사용자와 고급 사용자 모두에게 도움이 되는 편의 기능 및 생산성 기능을 제공합니다. 주요 기능은 다음과 같습

aws.amazon.com

해당 링크로 들어가면 OS별 설치 가능한 패키지가 있는데 본인의 OS에 맞게 설치하고 터미널에서 다음 명령어를 입력해보자.

aws

 

이런 결과가 나오면 AWS-CLI가 잘 설치된 것.

 

다음 명령어를 입력하면 전체 region을 확인해 볼 수 있으나, 최초로 aws-cli를 설치했으면 사용자 설정부터 해줘야 한다. 이를 하지 않으면 현재 유저를 알 수 없기 때문에 결과를 출력할 수 없는데 사용자 설정은 이후에 해볼 예정이니 지금은 그것을 다 했을 때 이러한 결과가 나온다는 것만 보면 좋을 것 같다.

 

Region lists

aws ssm get-parameters-by-path --path /aws/service/global-infrastructure/regions --output json

 

Available Service via specific region

 

다음 명령어는 서울 Region에서 사용 가능한 서비스들의 목록을 조회하는 명령어이다. 

aws ssm get-parameters-by-path --path /aws/service/global-infrastructure/regions/ap-northeast-2/services --output json

 

 

Region 별 서비스 가격

이 Region 개념이 중요한 이유 중 하나가 서비스 별 가격이 상이하다는 점이다. 다음을 보자. 

아래 사진은 다음 링크를 참고하자. https://aws.amazon.com/ko/ec2/pricing/on-demand/

 

EC2 온디맨드 인스턴스 요금 – Amazon Web Services

 

aws.amazon.com

 

서울의 EC2 가격

 

미국 동부(버지니아 북부) EC2 가격

 

 

AWS Availability Zone

가용영역이라고 하고 'AZ'라고 줄여 부르기도 한다. 이 가용영역은 하나의 Region에서 최소 2개 이상의 AZ로 구성이 된다. 

그러니까 하나의 리전에 최소 2개 이상의 가용영역이 존재한다는 뜻이고, 서울의 경우 현재 4개의 AZ를 운영하고 있다.

 

가용영역 코드는 Region Code와 문자 식별자를 조합해서 사용한다. 예) us-east-1a, us-east-1b

 

가용영역이 여러개이기 때문에 다음과 같은 구성을 할 수 있다.

  • 가용영역에 따른 서버 다중화
  • 가용영역에 따른 DB 이중화

즉, 복수의 가용 영역에 걸쳐 인스턴스를 배포했을 때 하나의 인스턴스에 장애가 발생한 경우에 대비하여, 다른 가용 영역의 인스턴스가 장애가 발생한 인스턴스 관련 요청을 처리할 수 있도록 애플리케이션을 설계할 수 있다. 또한 탄력적 IP 주소를 사용하여 한 가용 영역에서 인스턴스의 장애가 발생한 경우 다른 가용 영역의 인스턴스로 주소를 신속하게 매핑함으로써 인스턴스의 장애를 마스킹할 수 있다.

 

 

AWS Edge Location

엣지 로케이션은 Amazon CloudFront, Route53을 위한 캐시 서버들의 모음이다. 무슨 말이냐면 실제 아마존 서버는 미국 Region에서 돌아가지만 한국에서도 빠르게 아마존 사이트를 접속할 수 있는 이유는 이 Edge Location 덕분이다. AWS 전세계 Region에서 빠른 접근성을 위한 글로벌 네트워크 인프라가 Edge Location이고 콘텐츠(HTML, 이미지, 동영상, 기타파일)를 사용자들이 빠르게 받을 수 있도록 전세계에 곳곳에 위치한 캐시서버에 복제해주는 서비스이다.

 

 

728x90
반응형
LIST
728x90
반응형
SMALL
SMALL

 

AWS를 공부하기 전 클라우드 서비스에 대해 먼저 이해해보자.

클라우드 서비스란?

인터넷을 통해 IT 리소스와 애플리케이션을 사용자가 원할 때 언제든지 사용한 만큼 (On-demand) 요금을 내는 서비스

 

클라우드 컴퓨팅의 유형은 크게 보면 2가지가 있다.

  • 퍼블릭(Public) 클라우드
    • 사용자가 컴퓨팅 리소스를 소유하지 않는 방식
    • 인터넷을 통해 제공
    • 가상화 기술로 만든 서비스를 그대로 사용
  • 프라이빗(Private) 클라우드
    • 특정 조직내에서 컴퓨팅 리소스를 '소유'
    • 사설(Private) 네트워크를 통해 제공
    • 가상 컴퓨팅 기술을 직접 구축

이 두가지 경우로부터 파생되는 경우가 있는데 이는 '하이브리드 클라우드'와 '멀티 클라우드'이다. 하이브리드 클라우드는 퍼블릭 클라우드와 프라이빗 클라우드 또는 데이터센터 간 네트워크를 연결해서 사용하는 방식이다. 데이터 및 애플리케이션을 각 클라우드가 공유한다. 멀티 클라우드는 다수의 퍼블릭 클라우드를 합쳐 사용하는 방식으로 예를 들면 AWS + GCP + Azure를 합친 클라우드 방식을 말한다. 내가 공부할 AWS는 대표적인 퍼블릭 클라우드이다.

 

 

클라우드 서비스의 특징

  • 탄력성/민첩성: 리소스에 대해 필요할 때 언제든 늘리고, 줄일 수 있고 이를 클릭 몇번으로 가능하게 한다.
  • 확장성: 물리 서버를 확장하려면 시간이 오래 걸리며 고정 비용이 발생하는 반면 클라우드는 즉시 확장이 가능하고 역시 사용한 만큼의 비용이 발생한다. 이러한 특징 때문에 서비스에 사용자가 많아져 급증하는 서비스 트래픽에 빠르게 대비가 가능하다.
  • 사용한 만큼만 비용을 지불: 전기 요금처럼 사용한 만큼 과금되며, 비용 예측이 가능하다.
  • 내결함성 및 재해복구: 클라우드 백업 및 클라우드 DR 구성으로 데이터 손상 등 긴급 상황에 대처가 가능하다.
  • 고 가용성: 손쉬운 다중 가용영역 설정에 따라 고 가용성을 보장
  • 유지 관리 간소화: 물리적인 리소스를 유지할 필요가 없고, 부분적으로 클라우드 CSP(Cloud Service Provider) 벤더에 위임한다.

 

사용한 만큼만 비용을 지불하기 때문에 무리한 자본지출(CAPEX)없이 빠른 시도와 회수가 가능해진다. 좀 더 자세히 말하자면 클라우드 서비스를 이용하지 않고 초장부터 서비스의 흥행을 기대해 무리한 물리 서버 구축으로 인해 회수 불가능한 자본지출이 투자됐는데 서비스가 생각보다 성과를 이루지 못하는 경우 회수할 수 있는 비용이 없어지는 반면 클라우드 서비스를 이용해서 사용자가 늘어나면 확장하며 사용한 만큼만 지불하게 하면 운영 지출(OPEX)만으로 서비스 운영이 가능해진다. 

 

클라우드 서비스 모델(IaaS/PaaS/SaaS)

클라우드 서비스 모델은 크게 3가지가 있다. 

 

  • IaaS (Infrastructure as a Service): 서비스로 제공되는 인프라 스트럭쳐. 즉, 개발사에게 제공하는 물리적 자원을 가상화한다.
  • PaaS (Platform as a Service): 서비스로 제공되는 플랫폼. 즉, 개발사에게 제공하는 플랫폼을 가상화한다.
  • SaaS (Software as a Service): 서비스로 제공되는 소프트웨어. 고객에게 제공되는 서비스를 가상화한다.

즉, 이 세 가지의 차이는 어디까지 가상화로 제공해 주는가에 있다. 이를 그림으로 좀 더 쉽게 이해해보자.

 

IaaS는 개발사에게 인프라(물리적 자원)을 가상화하여 제공한다고 했다. 그렇기 때문에 가상의 서버, 스토리지, 네트워크를 제공자가 관리하는 영역으로 구분한다.

PaaS는 개발사에게 플랫폼을 가상화하여 제공한다고 했다. 그렇기 때문에 가상의 서버, 스토리지, 네트워크를 포함하며 OS와 개발 환경까지 제공자가 관리하는 영역으로 구분한다. 따라서 개발사는 그 위에 본인의 애플리케이션과 데이터를 올려두면 된다.

SaaS는 고객에게 제공하는 서비스를 가상화한다고 했다. 그렇기 때문에 서비스가 돌아가기 위해 필요한 모든 것들(서비스 포함) 제공자가 관리한다. 

그에 반면 클라우드를 사용하지 않는 경우 모든 것을 사용자가 관리해야 하는 On-Premise가 있다.

 

기존 방식인 On-Premise와 클라우드의 차이점은 위 그림으로만 봐도 눈에 띄게 알 수 있지만 비교를 좀 더 깊게 해보자.

항목 On-Premise Cloud
인프라 운영/보안 사용자가 모두 운영하고 관리 공동 책임 모델이 적용
구축 및 배포 자원 구축/배포 시간이 길다 단 시간에 인프라 구성이 가능
탄력성/확장성 서버 증설 시 예산 및 시간이 소요 몇번의 클릭으로 서버 증설 가능
비용지출 방식 자본 지출: Capital Expense(CAPEX) 운영 지출: Operation Expense(OPEX)
네트워크 트래픽 인터넷 공급자(ISP) 회선 계약 따라 회선속도 및 트래픽 용량을 사전에 설정 회선 속도나 용량을 정할 수 없음 트래픽을 사용한만큼 지출 (Outbound)
오픈소스 모든 오픈소스 Application을 스스로 구축 Pre-built된 오픈소스 Application을 즉시 사용

 

(이 외 유사한 명칭인 FaaS(Function as a Service), BaaS(Backend as a Service)가 있다.)

728x90
반응형
LIST

+ Recent posts