본문 바로가기
클라우드 아키텍처 설계 기초지식/12 AWS

AWS (1) - AWS 사용하기 위한 기초 지식

by Jasie 2018. 11. 16.

AWS란 ?

빅데이타 빅데이터 인공지능 SSL 해킹

Amazon Web Service, 아마존에서 제공하는 각종 원격 컴퓨팅 서비스(웹 서비스)이다. AWS는 다른 웹 사이트나 클라이언트측 응용 프로그램에 대해 온라인 서비스를 제공하고 있다. 이러한 서비스의 상당수는 최종 사용자에 직접 공개되는 것이 아니고, 다른 개발자가 사용 가능한 기능을 제공하는

플랫폼을 제공하는 PaaS이다. 아마존 웹 서비스의 각종 서비스는 REST 프로토콜 및 SOAP 프로토콜을 통해 접근, 이용 및 관리가 가능하다. 비용은 실제 사용량에 따라 결정되며, 일부 서비스의 경우 미리 고정된 금액을 지불하는 형태도 있다.

우리나라 서비스 2012년 5월 11일 한국어 웹사이트가 개설되었다. 같은 해 6월 27일에는 서울 삼성동 코엑스에서 'AWS 101 클라우드 컴퓨팅' 세미나를 개최하고 본격적인 한국 진출함

2016년 1월 7일 서울 리전이 추가되었다. 대표 사례 bliss.com 이라는 서비스를 오픈했는데 오픈 후 1주일만에 100만명이 사용하는 서비스로 성장했다. 전통적인 웹서비스의 영역에서 이런 가파른 성장세에 대비하는 것은 힘들다.

서버 장비의 구매부터 셋팅까지 적어도 2주~3주의 시간이 소요되기 때문이다. 그 시간동안 갑자기 증가한 사용자들은 서비스를 이용하지 못하게 되고, 한 번 외면한 사용자들이 다시 돌아오기는 힘들기 때문에 서비스가 망했다는 것을 의미한다.

하지만 AWS와 같은 클라우드 서비스를 이용하면 수천대의 서버(EC2)를 클릭 몇번으로 몇 분만에 생성할 수 있다.

이렇게 만들어진 서버를 아마존 웹서비스의 부하 분산 솔루션(load balancer)에 연결하면 마치 한대의 강력한 컴퓨터로 서비스를 하는 것과 같은 효과를 낼 수 있다.

또한 자동 확장(auto scaling) 기능을 활성화시키면 시스템의 부하에 따라서 컴퓨터를 자동으로 증가시키거나 감소시킬 수 있다.


아마존 웹서비스는 종량제 정책을 택하고 있기 때문에 사용한 만큼 비용을 지불하면 된다. 이런 이유로 자동확장 기능을 이용하면 비용 절감에 큰 도움이 된다.

또 아마존의 관계형 데이터베이스 서비스(RDS)를 사용하면 백업, 복제와 같은 관리 이슈를

아마존에서 대행해주기 때문에 운영의 어려움에서 벗어날 수 있다.






IAM 사용자


[1] IAM 이란?
	AWS Identity and Access Management(IAM)는 AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스입니다. 
	IAM을 사용하여 리소스를 사용하도록 인증(로그인) 및 권한 부여(권한 있음)된 대상을 제어합니다.
	AWS 계정을 처음 생성하는 경우에는 전체 AWS 서비스 및 계정 리소스에 대해 완전한 액세스 권한을 지닌 단일 로그인 자격 증명으로 시작합니다. 
	이 자격 증명은 AWS 계정 루트 사용자라고 하며, 계정을 생성할 때 사용한 이메일 주소와 암호로 로그인하여 액세스합니다. 
	일상적인 작업, 심지어 관리 작업의 경우에도 루트 사용자를 사용하지 마실 것을 강력히 권장합니다. 
	대신, IAM 사용자를 처음 생성할 때만 루트 사용자를 사용하는 모범 사례를 준수합니다. 
	그런 다음 루트 사용자를 안전하게 보관해 두고 몇 가지 계정 및 서비스 관리 작업을 수행할 때만 자격 증명을 사용합니다.



[2] IAM 사용자 생성

    https://400error.tistory.com/45?category=686273 참고


[3] 키 페어 생성

https://400error.tistory.com/45?category=686273 참고

[4] Virtual Private Cloud(VPC) 생성


https://400error.tistory.com/45?category=686273 참고 [5] 보안 그룹 생성


https://400error.tistory.com/45?category=686273 참고






EC2 서비스


  (1) EC2 서비스란?

Amazon Elastic Compute Cloud(Amazon EC2)는 AWS 클라우드에서 확장식 컴퓨팅을 제공합니다. 

Amazon EC2를 사용하면 하드웨어에 선투자할 필요가 없어 더 빠르게 애플리케이션을 개발하고 배포할 수 있습니다. 

Amazon EC2를 통해 원하는 만큼 가상 서버를 구축하고 보안 및 네트워크 구성과 스토리지 관리가 가능합니다. 

Amazon EC2는 요건이나 갑작스러운 인기 증대 등 변동사항에 따라 확장하거나 축소할 수 있어 트래픽 예측 필요성이 줄어듭니다.



  (2) EC2의 기능

인스턴스: 가상 컴퓨팅 환경

Amazon 머신 이미지(AMI): 서버에 필요한 운영체제와 여러 소프트웨어들이 적절히 구성된 상태로 제공되는 템플릿으로 인스턴스를 쉽게 만들 수 있습니다.

인스턴스 유형: 인스턴스를 위한 CPU, 메모리, 스토리지, 네트워킹 용량의 여러 가지 구성 제공

키 쌍을 사용해 인스턴스 로그인 정보 보호(AWS는 공용키를 저장하고 사용자는 개인 키를 안전한 장소에 보관하는 방식)

인스턴스 스토어 볼륨: 임시 데이터를 저장하는 스토리지 볼륨으로 인스턴스 종료 시 삭제됨

Amazon Elastic Block Store(Amazon EBS), 즉 Amazon EBS 볼륨을 사용해 영구 스토리지 볼륨에 데이터 저장

인스턴스와 Amazon EBS 볼륨 등의 리소스를 다른 물리적 장소에서 액세스할 수 있는 리전 및 가용 영역

보안 그룹을 사용해 인스턴스에 연결할 수 있는 프로토콜, 포트, 소스 IP 범위를 지정하는 방화벽 기능

탄력적 IP 주소(EIP): 동적 클라우드 컴퓨팅을 위한 고정 IPv4 주소

태그: 사용자가 생성하여 Amazon EC2 리소스에 할당할 수 있는 메타데이터

AWS 클라우드에스는 논리적으로 격리되어 있지만, 원하실때 마다 고객님의 네트워크와 간편히 연결할 수 있는 가상 네트워크, Virtual Private Clouds(VPC)




  (3) AMI 및 인스턴스



    1) AMI

Amazon 머신 이미지(AMI)는 필요한 소프트웨어가 이미 구성되어 있는 템플릿입니다(예: 운영 체제, 애플리케이션 서버, 애플리케이션). 

AMI에서 인스턴스를 바로 시작하실 수 있는데, 이 인스턴스는 AMI의 사본으로, 클라우드에서 실행되는 가상 서버입니다. 

    2) 인스턴스

동일한 AMI에서 다른 유형의 인스턴스를 실행할 수 있습니다. 인스턴스 유형에 따라 인스턴스에 사용되는 호스트 컴퓨터의 하드웨어가 결정

각 인스턴스 유형은 서로 다른 컴퓨팅 및 메모리 기능을 제공합니다. 인스턴스에서 실행하려는 애플리케이션 또는 소프트웨어에 필요한 

메모리 양과 컴퓨팅 파워를 기준으로 인스턴스 유형을 선택 가능합니다.




  (4) EC2 생성하기


https://400error.tistory.com/45?category=686273 참고




  (5) 지역과 가용 영역(리전과 AZ)


Amazon EC2는 세계 각지의 여러 곳에서 호스팅되고 있습니다. 이 위치들은 리전과 가용 영역으로 구성됩니다. 

각 리전은 개별 지리 영역입니다. 각 리전은 가용 영역이라고 알려진 격리된 위치를 여러 개 가지고 있습니다. 

Amazon EC2는 여러 위치에 인스턴스, 데이터 등 리소스를 배치할 수 있는 기능을 제공합니다. 

리소스는 특별하게 이를 지정하지 않을 경우 복제되지 않습니다.

Amazon은 최신 기술을 탑재한 고가용성 데이터 센터를 운영하고 있습니다. 

드물기는 하지만 동일한 위치에 있는 인스턴스의 가용성에 영향을 미치는 장애가 발생할 수도 있습니다. 

그런 장애의 영향을 받는 단일한 위치에서 모든 인스턴스를 호스팅하는 경우에는 모든 인스턴스가 사용이 불가능해질 수 있습니다.




        1) 리전(지역)



각 Amazon EC2 리전은 다른 Amazon EC2 리전에서 완전히 격리되도록 설계되었습니다. 

이를 통해 가장 강력한 내결함성 및 안정성을 달성할 수 있습니다.

리소스를 볼 때 해당 리전에 배치된 리소스만 표시됩니다. 이는 리전이 서로 격리되어 있기 때문이며, AWS는 각 리전 간에 자동으로 

리소스를 복제하지 않습니다.


인스턴스를 시작할 때 동일한 리전에 위치하고 있는 AMI를 선택해야 합니다. 

AMI가 다른 리전에 있는 경우는 해당 AMI를 사용할 리전으로 복사할 수 있습니다. 단, 리전 간 데이터 전송은 비용이 청구됩니다.



        2) 가용 영역(AZ)



가용 영역은 기본적으로 서로 격리되어 있지만, 한 리전의 가용 영역들은 낮은 수준의 지연 시간을 가진 링크를 통해 연결되어 있습니다.

인스턴스를 실행할 때 사용자가 직접 가용 영역을 선택하거나 AWS가 사용자를 위해 가용 영역을 선택하도록 할 수 있습니다. 

복수의 가용 영역에 걸쳐 인스턴스를 배포했을 때 하나의 인스턴스에 장애가 발생한 경우를 대비하여, 다른 가용 영역의 

인스턴스가 장애가 발생한 인스턴스 관련 요청을 처리할 수 있도록 애플리케이션을 설계할 수 있습니다.

또한 탄력적 IP 주소를 사용하여 한 가용 영역에서 인스턴스의 장애가 발생한 경우 다른 가용 영역의 인스턴스로 주소를 

신속하게 매핑함으로써 인스턴스의 장애를 마스킹할 수 있습니다. 






  (6) EC2 요금

Amazon EC2 인스턴스를 구매하는 방법에는 온디맨드, 예약 인스턴스 및 스팟 인스턴스를 비롯하여 4가지 방법이 있습니다. 

또한, 고객 전용 물리적 서버에 EC2 인스턴스 용량을 제공하는 전용 호스팅을 구매할 수도 있습니다. 



    1) 온디멘드

온디맨드 인스턴스에서는 실행하는 인스턴스에 따라 시간당 또는 초당 컴퓨팅 파워에 대한 비용을 지불합니다. 


선결제 금액이나 장기 약정 없이 저렴하고 유연하게 Amazon EC2를 사용하기 원하는 사용자

단기의 갑작스럽거나 예측할 수 없는 워크로드가 있으며, 중단되어서는 안 되는 애플리케이션

Amazon EC2에서 처음으로 개발 또는 테스트 중인 애플리케이션



    2) 예약 인스턴스


예약 인스턴스는 온디맨드 인스턴스 요금과 비교하여 상당한 할인 혜택(최대 75%)을 제공합니다. 

또한, 예약 인스턴스를 특정 가용 영역에 지정하면 용량 예약이 제공되므로 필요할 때 예약한 인스턴스를 시작할 수 있다는 확신을 가질 수 있습니다.


예약 인스턴스가 적합한 경우:

수요가 꾸준한 애플리케이션

예약 용량이 필요할 수 있는 애플리케이션

총 컴퓨팅 비용을 절감하기 위해 1년 또는 3년 동안 EC2를 사용하기로 약정할 수 있는 고객



    3) 스팟 인스턴스


Amazon EC2 스팟 인스턴스를 사용하면 온디맨드 요금보다 최대 90% 할인된 가격으로 예비 Amazon EC2 컴퓨팅 용량을 요청할 수 있습니다.


시작 및 종료 시간이 자유로운 애플리케이션

컴퓨팅 가격이 매우 저렴해야만 수익이 나는 애플리케이션

대량의 서버용량 추가로 긴급히 컴퓨팅 파워가 필요한 사용자



    4) 전용 호스팅


전용 호스팅은 고객 전용의 물리적 EC2 서버입니다.

전용 호스팅을 사용하면 Windows Server, SQL Server, SUSE Linux Enterprise Server(라이선스 약관에 따름)를 비롯한 기존 서버 한정 

소프트웨어 라이선스를 사용할 수 있으므로 비용을 절감할 뿐 아니라 규정 준수 요구 사항도 충족할 수 있습니다. 





공감() 과 댓글은 필자에게 큰 힘이 됩니다.

잠시 1초만 내주시면 안될까요? ~~


로그인 없이도 가능합니당 



댓글