[AWS] Amazon Web Service

김상웅·2022년 7월 10일
0

[Infra]

목록 보기
2/3

Convetional IT


과거에는 물리적인 서버를 이용하여 트래픽이 쌓이면 부하를 많이 받았습니다.

열을 받은 서버를 식히기 위해 차고에 서버를 두는 경우가 많았는데요.

그 열을 버티지 못한 서버는 결국 다운되어 원하는 서비스를 제공하지 못하게 됩니다.

서버를 업그레이드 하는 방법에는 두가지가 있었는데요.

하나는 scale up 방식으로써 CPU나 메모리 같은 부품을 업그레이드하는 것이고,

다른 하나는 scale out 방식으로써 동일한 사양의 서버 개수를 늘리는 것이었습니다.


회사에서는 어땠을까요?

보통 대부분의 회사에 전산실이 구축되어 있고 사각형의 기계들이 줄을 서있는 것을 본 적이 있을 것입니다.

이 전산실도 마찬가지로 물리적인 공간으로 물리적인 서버를 두는 곳이었죠.

최근에는 데이터센터에서 서버를 빌려주는 방식도 등장했는데요

다음과 같은 문제점이 있다고 합니다:

  1. 데이터센터 렌탈 비용
    서비스 지속 유지 기간은 보통 1년 단위로 매년 결제를 해야합니다.

  2. 전원공급, 쿨링 (열 식히기) 등 유지보수 비용

  3. 하드웨어 서버 추가/교체 비용

  4. 확장 제한

  5. 모니터링 인원 필수

  6. 천재지변에 대응하기 어려움



✅ 클라우드란?


물리적인 서버가 지니는 다양한 문제점은 이 클라우드 서버로 보완할 수 있습니다.

cloud, 구름을 연상하면 되는데요,물리적인 서버 대신 가상의 서버라고 생각하면 됩니다.

📌 장점


다음과 같은 장점이 있습니다:

  1. IT 리소스 (물리적인 기계 렌트 비용 등)를 인터넷을 통해 on-demand (필요할 때만)로 제공합니다.

  2. pay as you go pricing : 사용한만큼만 지불합니다.

  3. 필요한 타입과 크기의 리소스를 지정하여 사용할 수 있습니다.

  4. 서버, 스토리지, 데이터베이스 등에 간편하게 접근 가능한 솔루션을 제공합니다.

📌 문제 해결


이런 클라우는 다음과 같은 문제를 해결할 수 있는데요 :

  1. flexibilty : 유동적으로 원하는 리소스의 타입과 사이즈를 쉽게 변경할 수 있습니다.

  2. cost Effectiveness : 비용측면에서 효율성을 지닙니다.

  3. scalability : 확장이 용이해집니다.

  4. High avilability and fault tolerance : 가용성이 높고 결함에 취약하지 않습니다.

  5. Agility : 개발, 테스트, 배포 빠르게 서비스를 확장할 수 있습니다.

📌 서비스 종류


클라우드 서비스 종류에는 다음 세가지가 있습니다.

  1. IaaS (Infrastructure as a service)

    • 서버 네트워크 OS 등 IT 리소스를 가상화하여 제공합니다.
    • 서버 운영 경험이나 지식이 부족하면 어려울 수 있습니다.
  2. PaaS (platform as a service)

    • app, 서비스를 구축할 수 있는 플랫폼을 가상화하여 제공합니다.
    • IaaS보다 개발이나 비즈니스에 집중할 수 있습니다.
  3. SaaS (software as aservice)

    • 고객이 사용하는 완성된 형태의 sw를 가상화하여 제공합니다.


✅ AWS


전세계에서 가장 유명하고 많이 사용하는 AWS에 대해 알아보겠습니다.


📌 클라우드 컴퓨팅


AWS는 클라우드 컴퓨팅 장점을 지니고 있습니다.

  1. 기업의 기존 자원 및 아키텍쳐를 사용할 수 있습니다. (모델링, os, db 등)

  2. 어플리케이션에 aws 리소스를 신속하게 추가하고 제거할 수 있는 확장성과 탄력성을 지니고 있습니다.

  3. 보안 모범 사례에 따라 서비스를 구축하고 서비스마다 적절한 보안 기능을 제공합니다. (문서화)

  4. 인프라적 안정성을 지니고 있습니다.


📌 Region ... Edge Location


AWS의 특징 중 하나는 글로벌 인프라라는 점인데요.

전세계 어디에서나 AWS에서 배포한 서비스를 이용할 수 있습니다.

지역(region)에 따른 latency는 고려하지 않아서는 안될 중요한 요소인데요.

요청을 했을 때 응답까지의 반응 시간이 지역에 따라 달라지기 때문입니다.

만약 서울에서 배포한 서비스를 뉴욕에서 접근한다고 가정했을 때 같은 지역에서 접근하는 것보다 시간이 오래걸릴 것입니다.

이를 보완하기 위해 AWS는 Edge Location 서비스를 제공하는데요.

Edge Location이란 CDN 서비스를 위해 캐시 서버를 모아놓은 것을 의미합니다.

CDN 서비스는 Content Deilivery Network의 약자입니다.

결국 CDN 서비스를 이용하는 사용자들이 파일을 빠르게 받고 전송할 수 있도록
전세계에 위치한 캐시 서버에 파일을 복제해주는 것입니다.


📌주요 서비스


AWS에서 제공하는 주요 서비스는 다음과 같습니다.

  1. EC2 (Elastic Computer Cloud)

    • 가상의 서버를 가리킵니다.
    • Database를 연동하여 사용할 수 있습니다.
  2. VPC (Virtual Private Cloud)

    • AWS 네트워크 망 안의 사용자 전용의 사설 네트워크 망을 가리킵니다.
  3. S3 (Simple Storage Service)

    • 파일을 업로드하고 공유할 수 있는 서비스입니다.
    • 정적인 파일을 DB 상에 파일로 저장하지 않고 AWS서버에 문자열로 저장합니다.
    • DB에 직접 저장하지 않는 이유는 다음과 같습니다:
      비용, 속도, 성능 측면에서 비효율적
  1. CloudFront (Contents Delivery Network)

    • 캐싱된 데이터를 통해 region이 달라도 latency 문제점을 극복할 수 있습니다.
    • 위에서 언급한 Edge Loaction 부분의 설명을 보시면 좋을 것 같습니다.
  2. Route53

    • Domain Name System을 의미합니다.
    • API 시스템을 실제 도메인과 연결 시키주는 기능을 가리킵니다.
  3. RDS (Relational Databases Service)

    • AWS의 database 서비스를 가리킵니다.
    • 사용자가 직접 데이터베이스를 관리하지 않아도 되고 비용도 더 저렴합니다.
  4. ELB (Elastic Load Balancing)
    서버로 들어오는 트래픽을 여러대의 머신으로 전달하는 기능입니다.



✅ AWS 배포하기


개발을 한 나의 웹페이지를 나만 갖고 있는다면,,,

그보다 의미없는 일은 정말 없을 것입니다.

얼른 세상으로 내 웹/앱을 내보내주어야 비로소 그 가치를 발휘하게 될 것입니다.

다음 포스팅에서는 AWS를 통해 백엔드 서버를 배포하는 방법에 대해 알아보겠습니다.

profile
누구나 이해할 수 있도록

0개의 댓글