AWS

AWS(Amazon Web Service)는 아마존에서 제공하는 클라우드 컴퓨팅 플랫폼이다.

내가 생각하는 클라우드 서비스의 장점

클라우드 서비스의 가장 큰 장점은 실제 물리장비에 대한 관리를 우리는 신경쓰지 않아도 된다는 점이라고 생각한다. 일반적으로 하나의 서비스를 운영하기 위해서는 가용성을 고려해서 기본적으로 여러대의 애플리케이션 서버, 여러대의 데이터베이스 서버, 여러대의 캐시(레디스와 같은) 서버가 필요하다. 이 서버를 직접 운영한다고 생각해보자. 서버 여러대를 구입해서 서로 통신이 가능한 네트워크까지 구성하고 24시간 서버를 켜둘 공간까지 필요하다. 규모가 커지게 된다면 자체 데이터센터를 두고 수많은 인력을 통해서 서버 자원과 네트워크 구성을 직접 해야한다.

클라우드 서비스를 사용하면 웹 콘솔화면에서 간단히 마우스 클릭만으로 내가 원하는 규모의 데이터 센터를 구성할 수 있다. 또 실제 물리 장비에 대한 관리는 클라우드 서비스 업체에서 하기때문에 사용자는 물리서버의 고장나이나 네트워크망 연결 문제에 대해서 신경쓰지 않아도된다. 또 대부분의 클라우드 서비스는 글로벌 리전을 가지고 있어서 해외에도 빠른 딜리버리가 가능한 서비스 환경을 쉽게 구축할 수 있다.

또 대부분의 클라우드 서비스가 웹 콘솔을 통해서 원하는 인프라 환경을 구성할 수 있는데, 이는 인프라 환경을 구성할 수 있는 기능을 제공하는 API가 있다라는 것을 의미한다. 대부분의 클라우드 서비스가 이러한 인프라 구성에 대한 API를 Open API로 제공해준다. 이를 활용해서 인프라 구성을 프로그래밍을 통해서도 할 수 있다.

기존에는 직접 서버를 구입하고 배송을 기다려야하고 직접 설치 및 관리를 해야하고 변경이 어려운 환경이었다면, 클라우드 서비스를 통해서 아주 쉽고 유연하게 구성할 수 있는 안정적인 인프라를 제공받을 수 있다라는 점이 클라우드 서비스의 가장 큰 장점이라고 생각한다.

AWS에서 기반이 되는 서비스 - IAM, EC2, VPC

AWS에는 수 많은 서비스가 있지만 그 중에서 필수적으로 알아야하고 모든 서비스에 기본이되는 요소를 3가지를 꼽는다면 IAM, EC2, VPC서비스다. IAM은 인증과 접근 제어와 관련되어있다. EC2는 서버 그 자체를 의미한다. VPC는 네트워크와 관련되어있다.

IAM(Identity and Access Management)

IAM은 누가, 어떤 리소스나 서비스를 사용할 수 있는지에 대한 권한 관리 기능을 제공한다. 기본적으로 RBAC 매커니즘을 기반으로 권한을 관리할 수 있다. 이렇게 사용자 별로 접근 레벨을 나누는 이유는 보안적인 측면과 불필요한 권한으로 인한 인재를 막을 수 있기 때문이다.

IAM은 크게 4가지 요소를 바탕으로 동작한다.