-
[29일차_01] 클라우드 서비스 & EC2교육/코드스테이츠 2023. 1. 5. 14:07
https://aws.amazon.com/ko/ 클라우드 서비스의 형태
- Infrastructure as a Service(IaaS)
IaaS는 인프라를 서비스로 제공하는 모델로, 가상 서버, 스토리지, 네트워크 등을 제공한다. IaaS는 사용자가 서버와 네트워크 인프라 등을 구축하는 것을 대신하여, 서비스 제공 업체가 이를 제공하고 관리한다. 이러한 방식으로 IaaS는 사용자가 인프라를 구축하고 관리하는 데 필요한 비용과 시간을 절약할 수 있다.
- Platform as a Service(PaaS)
PaaS는 플랫폼을 서비스로 제공하는 모델로, 소프트웨어 개발을 위한 플랫폼 (개발 환경, 런타임, 데이터베이스 등)을 제공한다. 이러한 플랫폼을 이용하여 개발자는 애플리케이션 개발에만 집중할 수 있다. PaaS는 IaaS보다 더 높은 수준의 추상화를 제공하며, 사용자는 플랫폼을 이용하여 애플리케이션을 더 쉽게 개발, 테스트, 배포, 관리할 수 있다.
- Software as a Service(SaaS)
SaaS는 소프트웨어를 서비스로 제공하는 모델로, 소프트웨어 애플리케이션을 인터넷을 통해 제공합니다. SaaS는 소프트웨어 개발, 배포, 유지 관리 등 모든 작업을 서비스 제공 업체가 처리합니다. 사용자는 웹 브라우저나 모바일 앱을 통해 소프트웨어를 사용하며, 소프트웨어 라이선스를 구매하거나 설치할 필요가 없다.
Global Infrastructure
- Region
AWS 클라우드 서비스용 데이터 센터( IDC) 클러스터가 위치한 물리적인 장소를 의미한다. AWS의 서비스를 제공하는 지리적 위치를 말하며, 리전에 속한 데이터는 AWS 고객의 명시적인 동의 없이 리전 외부로 이동할 수 없다.
다수의 Availability Zone 으로 구성된다.
Region이 여러가지인 이유는 물리적인 위치가 서로 다른 전세계의 나라들이 하나의 서버를 사용하게되면 재해나 불가피한 서버의 중지가 되었을때 대처할 수 없이 서비스를 종료시켜야하고, 일단 거리가 멀기 때문에 빠른 속도를 내지 못한다. 그래서 가까운 곳에서 서비스를 사용하여 빠른 속도를 제공하기 위함이다.
전세계 주요 대도시에 분포되어있으며, aws 사용자는 각 Region마다 별도의 클라우드망을 구성할 수 있다.
- 가용용역 Availability Zone
각 리전에는 AZ라고 부르는 가용 영역(Availability Zone)이 존재한다. 하나의 AZ에는 2~6개의 데이터 센터로 구성되며, 전력 공급망과 네트워크망이 중첩적으로 구현된다
가용용역이라 불리는 IDC로써, 데이터센터 역할을 한다.
하나가 파괴되더라도 다른 AZ가 기능을 수행한다.
네트워크 구성에서 하나의 서브넷은 하나의 AZ을 의미한다.
- On - premise
클라우드 방식이 아닌 자체적으로 보유한 서버 인프라(전살실)
- Edge Location
Amazon의 CDN 서비스인 CloudFront를 위한 캐시 서버(Cache Server)들의 모음을 의미한다.
CDN 서비스인 Cloudfront가 사용하는 캐시서버
CDN(Content Delivery Network)는 콘텐츠(HTML, 이미지, 동영상, 기타파일)을 사용자들이 빠르게 받을 수 있도록 전세계에 곳곳에 위치한 캐시서버에 복제해주는 서비스이다.
전세계에 분포되어있으며 Edge Location끼리 데이터를 공유한다.
중간에 원본의 콘텐츠들을 가진 스토리지가 있고, 그것들을 해당하는 지역에 가까운 곳에 복사해서 Edge Location 이라는 캐시 서버의 스토리지에 복사해 두었다가 해당하는 콘텐츠를 불러들이면 가장 가까운 곳에서 그 해당하는 콘텐츠 들을 제공해준다. 콘텐츠가 필요한 호스트의 가장 가까운 곳에 서비스를 제공하기 위한 Edge의 배치를 POP(Point of Presence= 인터넷 액세스 포인트)를 구축
EC2(Elastic Compute Cloud)
인스턴스: 가상 컴퓨팅 환경으로 하나의 가상 컴퓨터(서버)라고 생각하면 된다.
실행하려는 애플리케이션 또는 소프트웨어에 필요한 메모리 양과 컴퓨팅 파워를 기준으로 인스턴스 유형을 선택한다.
- Amazon 머신 이미지(AMI)
서버에 필요한 운영체제와 여러 소프트웨어들이 적절히 구성된 상태로 제공되는 템플릿으로 인스턴스를 쉽게 만들 수 있다.
AMI와 연결된 스냅샷은 삭제가 불가능하다.
다른 리전으로 복사가 가능하며 권한을 주면 다른 계정과도 공유 가능하다.
AWS Market Place에서 다른 사람이 만들어둔 AMI를 사용할 수 있다.
인스턴스 유형: 인스턴스를 위한 CPU, 메모리, 스토리지, 네트워킹 용량의 여러 가지 구성 제공
출처: https://velog.io/@server30sopt/AWS-EC2-%EA%B0%9C%EB%85%90-%EC%A0%95%EB%A6%AC - 범용 : vCPU, 메모리, 네트워크, 저장 공간 등이 평균적인 사양으로 제공된다.
- 컴퓨팅 최적화: 다른 인스턴스 패밀리에 비해 메모리 대비 vCPU 비율이 높다.
- 메모리 최적화 : 다른 인스턴스 패밀리에 비해 메모리 용량이 훨씬 크다.
- 스토리지 최적화 : 다른 인스턴스 패밀리보다 스토리지 용량이 훨씬 크거나 초고속 I/O가 제공된다.
- GPU 인스턴스: 고성능의 NVDIA GPU가 장착되어 있다. CUDA, OpenCL등을 실행할 때 사용된다.
- 마이크로 인스턴스 : 가격이 가장 싼 인스턴스. 낮은 vCPU 성능과 적은 메모리가 제공된다. 프리티어에서는 이 인스턴스 유형을 무료로 사용할 수 있다.
인스턴스의 라이프 사이클
1) pending state
제일 처음 AMI가 실행이 되면 준비 상태를 말한다.
EC2를 가동하기 위해서 가상머신, ENI, EBS 등이 준비되는 과정이다.
2) running state
실제로 EC2를 사용할수 있는 상태를 말한다.
running 상태에서 할수 있는 것 3가지가 있는데 다음과 같다.
- 중지
인스턴스를 잠깐 멈춰두는 것
중지 중에는 인스턴트 요금 미청구
단 EBS 요금, 다른 구성 요소(Elastic IP 등)은 청구
중지 후 재 시작 할때 퍼블릭 IP가 변경됨 (프라이빗IP는 변경X, 해결하려면 탄력적 IP 사용)
EBS를 사용하는 인스턴스만 중지 가능
- 재부팅
인스턴스를 다시 시작 하는 것
중지하고 다시 시작과는 달리, 재부팅 시 퍼블릭IP 변동 X
- 최대 절전모드
메모리 내용을 보존해서 재 시작시 중단지점에서 시작할 수 있는 정지모드
어떤 프로그램을 실행시켰을 때 데이터를 하드디스크에서만 가져오는 것이 아니라 메모리에 올려놓는 것
컴퓨터/노트북의 최대 절전 모드와 같은 원리라고 보면 된다.
3) shutting-down state
인스턴스 종료 중
설정에 따라 EBS도 같이 종료 시킬 수도 있고 EBS는 남기고 인스턴스만 종료 할 수 있다.
4) terminated state
완전히 종료, 인스턴스가 영구적으로 삭제된다
인스턴스 미사용시 중지시켜두기만 해도 많은 비용 절감 할수 있다.
인스턴스를 stopped 해도, EBS나 탄력적 IP를 연결했을경우 별도로 청구되니 유의
인스턴스 구입 옵션
- 온디맨드 인스턴스
시작하는 인스턴스에 대한 비용을 초 단위로 지불한다
- Savings Plans
1년 또는 3년 기간 동안 시간당 USD로 일관된 사용량을 약정하여 Amazon EC2 비용을 절감할 수 있다
- 예약 인스턴스
1년 또는 3년 기간 동안 인스턴스 유형 및 리전을 포함하여 일관된 인스턴스 구성을 약정하여 Amazon EC2 비용을 절감할 수 있다
온디맨드에 비해 가격이 대폭 할인되며 장기적으로 사용 시 추천한다
- 스팟 인스턴스
미사용 EC2 인스턴스를 요청하여 Amazon EC2 비용을 대폭 줄일 수 있다
경매 방식의 인스턴스로서 최초 생성시 기준가격이 화면에 나타나며 화면의 가격보다 높은 가격을 제시하면 계속 사용이 가능하나, 다른사람이 더 높은 가격을 입찰했다면 인스턴스는 종료됨
불시에 중단되어도 상관없거나 각종 테스트에 적합함
스토리지 - 인스턴스 루트 볼륨(Instance Root Volume)
루트 디바이스 볼륨: 인스턴스 부팅에 사용된 이미지가 저장되는 볼륨
루트 디바이스는 Elastic Block Store 혹은 인스턴스 스토어 볼륨 중 하나이다.
- 인스턴스 스토어 기반 인스턴스
인스턴스는 하나 이상의 인스턴스 스토어 볼륨을 자동으로 사용할 수 있으며, 이러한 볼륨 중 하나가 루트 디바이스 볼륨 역할을 한다. 인스턴스가 시작되면 인스턴스를 부팅하는 데 사용된 이미지가 루트 볼륨으로 복사된다. 인스턴스 유형에 따라 다른 인스턴스 스토어 볼륨을 사용할 수도 있다.
인스턴스 스토어 볼륨의 모든 데이터는 인스턴스가 실행되는 동안 유지되지만, 인스턴스가 종료되거나 장애가 발생하면 데이터가 삭제됩니다.
인스턴스 스토어가 지원하는 인스턴스는 종료되거나 장애가 발생할 경우 복원이 불가능합니다. Amazon EC2 인스턴스 스토어가 지원하는 인스턴스를 사용하려는 경우 여러 가용 영역의 인스턴스 스토어로 데이터를 분산하는 것이 좋습니다. 또한 인스턴스 스토어 볼륨의 중요한 데이터를 정기적으로 영구 스토리지로 백업해야 합니다.
- EBS 기반 인스턴스
EBS를 루트 디바이스로 사용하는 인스턴스에는 자동으로 EBS 볼륨이 연결된다. EBS 지원 인스턴스를 시작하면 사용하는 AMI가 참조하는 각 EBS 스냅샷에 대한 EBS 볼륨이 생성된다. 인스턴스 유형에 따라 다른 EBS 볼륨이나 인스턴스 스토어 볼륨을 사용할 수도 있다.
EBS 지원 인스턴스는 중지한 후 다시 시작해도 연결된 볼륨에 저장된 데이터에 아무런 영향이 없다. EBS 지원 인스턴스가 중지 상태일 때 다양한 인스턴스 및 볼륨 관련 태스크를 수행할 수 있다.
- 인스턴스 스토어 볼륨
임시 데이터를 저장하는 스토리지 볼륨으로 인스턴스 중단, 최대 절전 모드로 전환 또는 종료 시 삭제됨
인스턴스 스토어는 인스턴스에 블록 수준의 임시 스토리지를 제공한다. 스토리지는 호스트 컴퓨터에 물리적으로 연결된 디스크에 위치한다. 인스턴스 스토어는 버퍼, 캐시, scratch 데이터 및 기타 임시 콘텐츠와 같이 자주 변경되는 정보의 임시 스토리지나 로드가 분산된 웹 서버 풀과 같은 여러 인스턴스상에서 복제되는 데이터에 가장 적합하다.
하나 이상의 인스턴스 스토어 볼륨으로 구성된 인스턴스 스토어는 블록 디바이스로 표시된다. 인스턴스 스토어의 크기는 물론 사용 가능한 디바이스의 수는 인스턴스 유형에 따라 다르다.
실행 시에만 인스턴스에 대한 인스턴스 스토어 볼륨을 지정할 수 있다. 하나의 인스턴스에서 인스턴스 스토어 볼륨을 분리하고 다른 인스턴스에 연결할 수 없다.
인스턴스 스토리지의 데이터는 관련 인스턴스의 수명 기간 동안만 지속된다. 인스턴스가 재부팅(의도적 또는 의도적이지 않게)되면 인스턴스 스토어의 데이터는 유지됩니다. 그러나 다음 상황에서는 인스턴스 스토어의 데이터가 손실된다.
- 기본 디스크 드라이브 오류
- 인스턴스가 중지됨
- 인스턴스가 최대 절전 모드로 전환됨
- 인스턴스가 종료됨
그러므로 중요한 장기 데이터의 경우 인스턴스 스토어에 의존하면 안된다. 오히려 Amazon S3, Amazon EBS 또는 Amazon EFS 등 내구성이 뛰어난 데이터 스토리지를 사용하는 것이 좋다.
인스턴스를 중지하거나 최대 절전 모드로 전환하거나 종료하면 인스턴스 스토어의 모든 스토리지 블록이 리셋된다. 따라서 다른 인스턴스의 인스턴스 스토어를 통해 데이터를 액세스할 수 없다.
인스턴스에서 AMI를 생성한 경우 해당 인스턴스 스토어 볼륨의 데이터는 보존되지 않고 이 AMI를 실행한 인스턴스용 인스턴스 스토어 볼륨에 존재하지 않는다.
키 페어
키 페어를 사용하여 인스턴스 로그인 정보 보호 (AWS는 퍼블릭 키를 저장하고 사용자는 개인 키를 안전한 장소에 보관하는 방식)
EC2는 퍼블릭-프라이빗 키 방식을 사용하며, 이는 로그인 정보의 암호화-복호화 모델을 따른 것이다.
암호화 기법 측면에서 퍼블릭 키는 데이터 암호화에, 프라이빗 키는 데이터 복호화에 사용된다. 사용자는 EC2 인스턴스 연결을 위해 프라이빗 키를 사용한다. EC2는 SSH-2 RSA 키를 사용하며, 리전당 최대 5,000개의 키 페어를 사용할 수 있다.보안 그룹(Security Group)
하나 혹은 다수의 인스턴스에 대한 트래픽을 통제하는 가상의 방화벽이다. 인스턴스를 론칭한 뒤 해당 인스턴스에 하나 혹은 다수의 보안 그룹을 연결할 수 있고, 이를 통해 해당 인스턴스로 유입되거나 해당 인스턴스에서 유출되는 트래픽에 대한 처리 규칙을 설정할 수 있다. 보안 그룹의 내용은 언제든 수정 할 수 있으며, 새로운 규칙이 추가되면 해당 보안 그룹에 포함된 모든 인스턴스에 자동으로 적용된다. 각 인스턴스에 특정 트래픽이 도달할지 여부는 해당 인스턴스에 연결된 모든 보안 그룹 규칙에 따라 정해진다.
- 보안 그룹의 규칙이 지닌 특징은 다음과 같습니다.
보안 그룹 규칙은 언제나 허용 여부만 정할 수 있고 거부 여부는 정할 수 없다.
보안 그룹은 스테이트풀(Stateful) 속성을 지닌다. 인스턴스에서 요청을 보내면, 해당 요청에 대한 응답 트래픽은 보안 그룹의 인바운드 규칙과 무관하게 전달이 허용됩니다.
보안 그룹 규칙은 언제든 추가 또는 삭제 할 수 있다.
- 프라이빗 IPv4
프라이빗 IPv4 주소는 인터넷을 통해 연결할 수 없는 IP 주소이다. 프라이빗 IPv4 주소는 동일 VPC에서 인스턴스 간의 통신을 위해 사용한다. 인스턴스를 시작할 때 인스턴스에 기본 프라이빗 IPv4 주소와 내부 DNS 호스트 이름이 할당된다.
- 퍼블릭 IPv4
퍼블릭 IP 주소는 인터넷을 통해 연결할 수 있는 IPv4 주소이다. 퍼블릭 주소는 인스턴스와 인터넷의 상호 통신을 위해 사용될 수 있다. 인스턴스가 중지되거나 최대 절전 모드로 전환되거나 종료되면 인스턴스의 퍼블릭 IP 주소는 해제된다. 중지되거나 최대 절전 모드로 전환된 인스턴스가 시작되면 새 퍼블릭 IP 주소가 할당된다. 따라서 필요에 따라 인스턴스 간에 연결할 수 있는 영구 퍼블릭 IP 주소가 필요한 경우 탄력적 IP(Elastic IP) 주소를 대신하여 사용한다.
- 탄력적 IP 주소(EIP)
동적 클라우드 컴퓨팅을 위한 고정 IPv4 주소
탄력적 IP 주소는 동적 클라우드 컴퓨팅을 위해 고안된 정적 IPv4 주소이다. 탄력적 IP 주소는 AWS 계정에 할당되며 해제할 때까지 할당된 상태로 유지된다. 탄력적 IP 주소를 사용하면 주소를 계정의 다른 인스턴스에 신속하게 다시 매핑하여 인스턴스나 소프트웨어의 오류를 마스킹할 수 있다. 주의해야 할 점은 연결 해제한 탄력적 IP 주소는 명시적으로 릴리스할 때까지 계정에 할당되어 있다. 따라서 실행 중인 인스턴스와 연결되지 않은 탄력적 IP 주소에 대해서는 소액의 요금이 부과된다. 탄력적IP는 계정 내 리전당 최대 5개까지 보유 가능하며 그 이상 필요시 AWS에 요청해야함
==========================================================
참고자료
https://aws.amazon.com/ko/ec2/instance-types/
Amazon EC2 인스턴스 유형 – Amazon Web Services
aws.amazon.com
https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/concepts.html
Amazon EC2이란 무엇입니까? - Amazon Elastic Compute Cloud
이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.
docs.aws.amazon.com
https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/ec2-key-pairs.html
Amazon EC2 키 페어 및 Linux 인스턴스 - Amazon Elastic Compute Cloud
이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.
docs.aws.amazon.com
https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/InstanceStorage.html
Amazon EC2 인스턴스 스토어 - Amazon Elastic Compute Cloud
Amazon EC2 인스턴스 스토어 인스턴스 스토어는 인스턴스에 블록 수준의 임시 스토리지를 제공합니다. 스토리지는 호스트 컴퓨터에 물리적으로 연결된 디스크에 위치합니다. 인스턴스 스토어는
docs.aws.amazon.com
'교육 > 코드스테이츠' 카테고리의 다른 글
[30일차] 정적 웹 호스팅 (0) 2023.01.06 [29일차_02] 스토리지 & RDS (0) 2023.01.05 [27일차] 컨테이너 & Docker (0) 2023.01.03 [26일차] yaml파일 작성 (0) 2023.01.02 [25일차] Nginx를 통한 Reverse Proxy 설정 (0) 2022.12.30