Elastic Compute Cloud의 약자 AWS에서 제공하는 서비스형 인프라
하나의 서비스가 아님 => 많은 것을 포함하고 있음
EC2 인스턴스 : 가상머신을 EC2에서 임대한 것 (가상컴퓨터)
EC2 OPTIONS
EC2 인스턴스의 7가지 유형이 존재함.
aws 네이밍 컨벤션
m5.2xlarge
- m : instance class
- 5 : 인스턴스 세대
- 2xlarge : 인스턴스 크기
General Purpoose : 일반적인 다양한 작업에 적합.
Computed Optimized : 컴퓨터 집약적인 작업에 최적화 됨.(cpu좋음)
Memory Optimzied : RAM, 대규모 데이터셋 실시간 처리 을 처리하는 작업에 적합
Storage Optimized : 로컬에서 저장하는게 많을때 적합
보안그룹은 AWS 클라우드에서 네트워크 보안을 실행하는 핵심임 (방화벽)
EC2인스턴스로 오가는 요청을 제어함
보안그룹은 EC2인스턴스의 방화벽이며, 포트로의 엑세스를 통제하며 인증된 IP 주소의 범위를 확인해 IPV4인지 IPV6인지를 확인함.
보안그룹은 여러 인스턴스에 연결가능
일대일관계는 없음 => 인스턴스에도 여러 보안그룹에 연결가능
보안그룹은 지역과 VPC의 결합으로 통제됨 => 지역을 전환하면 새 보안 그룹을 생성하거나 다른 VPC를 생성해야함.
보안그룹은 EC2 외부에 존재함 => 트래픽이 차단되면 EC2 인스턴스 확인 불가능(외부 방화벽)
인바운드 규칙
- 보안그룹 1의 인바운드를 보안그룹 2에 허용하는 것
-마찬가지로 보안 그룹 1에 연결된 다른 EC2 인스턴스가 있다면 이 인스턴스도 우리의 인스턴스와 바로 통신하도록 허용합니다
클라우드 실행시 => 서버내부와 연결해야함
Linux 서버에서는 시큐어 셸인 ssh를 서버에 사용함.
EC2 Instance Connect : 브라우저 기반으로 ec2 인스턴스에 대한 ssh 세션 실행하는 것.
onDemand Ec2 인스턴스 : 필요한대로 인스턴스르 실행, 단기적인 work에 좋음 => 초 or 시간단위 청구
하지만 오랫동안 db를 실행할 계획이라면 => Reserved Instance 이용
=> 선결제 방식임
Spot Instance : aws에서 가장 저렴, 배치작업, 데이터분석, 이미지프로세싱와 같이 실패에 회복성이 가한 작업에 사용
어떻게 작동하는가? 스팟 인스턴스에 대해 지불가능한 최대 스팟 가격을 정의함 => 인스턴스의 스팟가격이 지불하고자 하는 최대가격보다 낮다면 해당 인스턴스를 유지..
데이터베이스나, 복구가 어려운 작업에는 사용지양
Delicated Hosts : EC2 용량이 있는 실제 물리적 서버를 받음.. EX) 소켓 코어 VM 소프트웨어 등등에 사용
전용인스턴스 VS 전용 호스트 : 전용 인스턴스는 자신만의 인스턴스를 자신만의 하드웨어에 갖는다는 것임 , 전용 호스트는 물리적 서버 자체에 대한 접근권을 갖고 낮은 하드웨어에 대한 가시성을 제공준다는 점.
스팟요청 : 원하는 인스턴스 수, 최대가격 및 시작사양등을 정의함
2가지 유형 존재 => 일회성요청이나, 영구인스턴스 요청가능
일회성 요청인 경우 스팟요청이 완료되는 즉시 인스턴스가 시작됨.
영구요청유형 : 스팟요청이 유효한 기간동안은 이 인스턴스 수도 유효하다는 뜻임.
스팟요청을 취소하려면 스팟요청이 열어있는 상태 => 활성화 or 비활성화
스팟 요청을 취소하고 싶을때는 이전에 시작하는 인스턴스를 종료하는게 아님
스팟 요청을 일단 취소하고 그다음에 스팟관련 인스턴스를 종료해야 함.
aws가 요청한 인스턴스 수만큼 시작해버리기 때문.
비용절감 => 스팟 인스턴스 세트를 정의하는 방법임.
스팟 플릿에 스팟 인스턴스를 할당하는 전략
최저가격 : 스팟플릿은 가장 낮은 가격인 풀에서 인스턴스를 시작하기 때문에 비용이 최적화됨. => 워크로드가 짧은경우 효율적
용량최적화 : 먼저 사용가능한 용량이 가장 큰 풀을 선택하고, 그 중 가격이 낮은 풀을 선택하는 전략
스팟 르릿을 사용하면 여러개의 런치풀과 여러 인스턴스 유형을 정의 할 수 있다.
필수 소프트웨어의 설치 및 os를 수행하는 bash 스크립트를 작성하고, 이 스크립트를 ec2 인스턴스 실행시에 ec2 사용자 데이터에서 사용하기