AWS(Amazon Web Service)에 대하여

정재헌·2023년 1월 1일
0

운영 서버란?

운영 서버란 개발이나 테스트 목적이 아닌 실제 사용자들을 대상으로 서비스하는 서버이다. 트래픽 대응 및 빠른 응답 속도와 높은 가용성을 보장해 안정적으로 제품이 서비스될 수 있도록 해야 한다. 이를 위해 서비스의 특성에 따라 알맞는 서버 환경을 구축 및 관리해야 한다.

About IaaS, PaaS, SaaS

  • IaaS (Infrastructure as a Service) : 클라우드 컴퓨팅의 가장 기본적인 계층으로, 비즈니스 운영에 필요한 스토리지, 네트워킹 및 컴퓨팅 자원을 제공. 사용자가 직접 OS, Middleware, Runtime 등을 직접 구성하고 관리할 수 있다. 다만, 인프라 운영에 대한 지식과 경험이 준비되지 않은 경우 활용에 어려움이 있을 수 있다.

  • PaaS (Platform as a Service) : 애플리케이션 및 서비스를 구축할 수 있는 플랫폼을 제공. OS, Middleware, Runtime 등 개발 환경을 미리 구축하여 서비스 형태로 제공하기 때문에 관리적인 측면에서 IaaS보다 자유도가 낮다. 하지만 서비스 외적인 부분은 신경쓸 필요가 없기 때문에, 오로지 개발과 비즈니스에만 집중할 수 있으며 인프라를 운영하는 인력이 필요하지 않으므로 유지 및 보수 비용을 절약할 수 있다.

  • SaaS (Software as a Service) : 가장 완성된 형태의 서비스. 대부분의 기능을 구축한 뒤 제공하기 때문에 사용자가 직접 관리해야 하는 영역이 가장 좁음. 기본적인 클라우드 인프라와 소프트웨어를 함께 제공하는 형태로, 소프트웨어 업데이트, 버그 픽스 등의 서비스를 업체가 직접 도맡아 제공한다. 다만, 제공 업체가 이미 만들어 놓은 소프트웨어를 그대로 활용하기 때문에 사용자가 필요하지 않은 기능에 대해서도 비용을 지불해야 할 수도 있다.

AWS의 서비스 지역 : 리전 / 가용 영역 / 엣지 로케이션

  • 리전(Regions) : AWS가 전 세계에서 데이터 센터를 클러스팅하는 기준이 되는 물리적 위치. AWS에서 제공하는 다양한 서비스들은 대부분 리전을 기반으로 제공되기 때문에 사용하고자 하는 서비스(컴퓨팅, 스토리지, 데이터베이스 등)가 특정 리전에서 제공되는지를 미리 확인할 필요가 있음
    *cluster : 여러 대의 컴퓨터들이 연결되어 하나의 시스템처럼 동작하는 컴퓨터 집합을 의미. 클러스터의 구성 요소들은 일반적으로 고속의 근거리 통신망으로 연결된다.

  • 가용 영역(Availability Zones) : 리전 안에 존재하는 데이터 센터의 논리적인 그룹을 의미. 리전 내에 격리된 위치로 각 가용 영역은 물리적으로는 분리되어 있지만 리전들보다 빠르게 통신할 수 있으며 서비스 결합도 또한 높음. 동일한 리전 내에 있더라도 물리적으로 격리되어 있기에 한 곳에서 네트워크 장애가 발생하더라도 다른 곳으로 인스턴스 주소를 매핑함으로써 문제를 커버할 수 있다. 사용자는 여러 가용 영역에 걸쳐 서비스를 배치해 내결함성을 한층 더 강화한 서비스를 구성하고 제공할 수 있음

  • 엣지 로케이션(Edge Location) : AWS의 CDN(Content Delivery Network) 서비스인 CloudFront의 캐싱 콘텐츠가 위치하는 곳. CloudFront만을 위한 공간이라 볼 수 있으며, CDN은 인터넷상에 콘텐츠를 캐싱하여 좀 더 빠르게 사용자에게 전달할 수 있게 함. CDN 엣지가 사용자 근처에 있을수록 더욱 빠른 전달을 받을 수 있기에 리전과 별도로 엣지 로케이션은 훨씬 더 많이 전 세계 주요 도시 곳곳에 분포되어 있다.

8가지 주요 기능에 대한 정리

  • EC2(Elastic Compute Cloud) : 클라우드 컴퓨터를 인스턴스화하여 제공하는 서비스로 가상의 컴퓨터 1대를 할당 받아 처음부터 끝까지 직접 구축한다고 생각할 수 있다. EC2 인스턴스를 생성해서 해당 서버로 API를 배포할 수 있다.

  • RDS(Relational Database Service) : 클라우드에서 간편하게 데이터베이스를 설치, 운영 및 확장할 수 있는 대표 서비스 중 하나. 사용자가 직접 서버를 생성해서 데이터베이스를 설치하거나 설정하고 관리하지 않아도 되며 저렴하기 때문에 비용적인 면에서도 효율적인 서비스라 할 수 있다.

  • S3(Simple Storage Service) : 파일을 쉽게 저장할 수 있는 공간을 제공하는 서비스. 파일 저장 뿐만 아니라 파일마다 고유 주소를 부여해주기 때문에 S3에 저장한 파일을 웹에서 쉽게 읽어들일 수 있다. 주로 사이트 상의 이미지를 저장하고 사이트에서 읽어 들여 렌더링 해주는 데 사용된다.

  • VPC(Virtual Private Cloud) : 클라우드 환경을 계정 별로 독립된 네트워크 환경을 구성할 수 있게 도와주는 서비스. 어떤 리소스라도 논리적으로 분리된 퍼블릭과 프라이빗 영역에 격리할 수 있으며, 사용자가 네트워크 환경 설정에 대한 완전한 통제권을 가질 수 있다.

사용자가 VPC를 통해 만든 네트워크에서 자체 IP 주소, 자체 IP 범위, 퍼블릭 및 프라이빗 서브넷, 라우트 테이블, 네트워크 게이트웨이 등 모든 기능을 활용할 수 있는 것을 의미. 즉, VPC를 활용하면 온프레미스 방식으로 데이터 센터에서 직접 네트워크 환경을 만드는 것과 같이 클라우드 환경에서도 네트워크를 구축할 수 있다.

  • CloudFront : CDN 서비스로, 사용자가 콘텐츠를 요청하면 지연시간(latency)이 가장 낮은 엣지 로케이션으로 라우팅하여 빠르고 뛰어난 성능을 보여준다. *CDN은 인터넷 상에 콘텐츠를 캐싱하여 좀 더 빠르게 사용자에게 전달할 수 있게 도와주는 역할을 한다.
    엣지 서버는 요청이 발생한 데이터에 대하여 캐싱 여부를 판단하고, 만약 사용자와 근접한 엣지 서버 중 캐싱 데이터가 존재한다면 요청에 맞는 데이터를 응답하고 요청에 적합한 데이터가 캐싱되어 있지 않다면 오리진 서버로 요청이 포워딩 된다.

  • Route 53 : *DNS(Domain Name System)란 사람이 읽을 수 있는 도메인 이름을 머신이 읽을 수 있는 IP주소로 변환해주는 시스템을 의미한다.

  • ELB(Elastic Load Balancer) : 로드 밸런서는 서버로 들어오는 높은 애플리케이션 트래픽을 여러 대상에 적절하게, 자동으로 분산시켜줌으로써 안정적으로 서버를 운영할 수 있도록 한다. 추가적으로 보안 옵션을 제공하며 애플리케이션 서버의 사용률에 따라 자동으로 추가되거나 제거되는 고가용성 및 탄력성도 갖추고 있다. 트래픽을 라우팅할 여러 대상들이 정상으로 구동되는 상태인지 확인할 수 있으며 모니터링 및 로깅 기능도 있다.

  • IAM : AWS의 리소스에 대해 개별적으로 접근제어를 하거나 권한을 가지도록 계정 또는 그룹을 생성 및 관리하는 서비스, 루트 계정 대신 IAM 계정을 생성해서 각각 필요한 권한만 갖도록 설정하고 각 access key를 개별적으로 관리하며 보안성을 높임

profile
백엔드 개발자

0개의 댓글