*본 포스팅은 24년 1월 18일 열린 AWS Builder Online Conference 내용을 개인적인 학습을 목적으로 정리한 내용입니다. 사실과 다르거나, 생략된 내용이 있을 수 있으므로 자세한 내용은 AWS Builder녹화영상(https://builders-apj.virtual.awsevents.com/?lang=ko 을 참고해주세요. 녹화영상은 컨퍼런스 종료 이후 한달 간 제공됩니다.
또한 본 포스팅에 사용된 이미지는 컨퍼런스 영상에서 캡쳐한 내용으로, 모든 저작권은 AWS에 있습니다.
AWS 서비스를 처음 사용하는 사람을 위해 EC2 소개(By 허진성 엔지니어)
EC2 개요
EC2란 여러 데이터 센터의 물리 서버를 가상화해 이를 서비스함!
EC2 인스턴스에서는 여러 운영체제를 제공!
온프레미스에서 가상머신을 새로 배포할때 이미지를 사용하는데, AWS에서도 인스턴스의 정보가 담긴 이미지를 사용함.
이게 AMI!
AMI정보는 반드시 선택해야한다. Linux를 선택할수도, Windows를 선택할 수 도 있다.
꼭 AWS AMI가 아니더라도 Custom AMi를 선택할 수도 있다. 예를들어서 웹서버역할을 하는 EC2 환경을 구성 -> 생성 -> 저장.
이러한 A i를 통해 여러 웹서버 인스턴스를 생성할 수 있다.
이러한 설명은, 인스턴스를 생성할 떄
이 부분을 말하는 것!
어떤 인스턴스 유형을 선택해야하나?
스펙과 기능이 다르고 금액도 다르다. 내게 맞는 인스턴스를 선택하려면 성능과 비용 모두를 생각해야함. 그럴려면 인스턴스 표기법을 이해해야함.
인스턴스 크기
크기에 따라서도 시간당 비용이 다르다. 내가 필요한 크기가 적은데 큰걸 사용하면 컴퓨팅 자원도, 비용도 낭비하는 셈.
사용중인 EC2인스턴스에서도 유형을 변경해 성능과 비용 최적의 인스턴스를 찾을 수 있다.
최적의 인스턴스는 CostExplorer, Compute Optimizer를 통해 / 이용해 확인 가능하다!
인스턴스는 다양한 구매옵션(요금제)를 통해 사용할 수 있다.
이제껏 Free-tier를 통해 사용했기에 초단위(On-demand)로만 사용할 수 있는 줄 알았는데 다양한 옵션이 있었다.
이러한 구매옵션을 통해 사용 용도에 맞게 가장 효율적인 인스턴스를 선택할 수 있다.
최근 부상한/하고있는 머신러닝에 대한 추론 및 학습을 위해서도 AWS는 발빠르게 최적화된 여러 인스턴스 옵션을 제공중이다.
알맞은 저장공간 선택
저장공간에 대해 알아 보기 전 수명주기에 대한 이해가 필요.
인스턴스가 생성되고 Running으로 상태가 넘어가면 그때부터 과금이 시작된다.
EC2의 데이터를 저장하는 곳: 인스턴스 스토어.
중지하거나 재배치할 경우 모든 데이터가 사라짐. 따라서 임시데이터 저장용으로 사용할 것!
그와달리 EBS는 영구적인 스토리지이다.
하나의 ebs는 하나의 인스턴스에 연결될 수 있다. 단 하나의 인스턴스는 여러 EBS를 가질 수 있다.
EBS는 아래와 같은 유형과 특성이 있다.
그러면 어떤 EBS타입을 선택해야하나?
AWS에서는 위와같은 Flow를 통해 EBS타입을 선택하길 권고한다.
EBS를 사용하면 스냅샷을 통해 데이터 백업도 가능하다.
저장된 데이터를 S3로 백업할 수있으며, 증분백업을 통해 스토리지 비용을 절감할 수 있다.
스냅샷 데이터는 다른 계정 또는 다른 리전과 공유가 가능하다.
EC2 안전하게 사용하기
보안그룹을 통해 가상 방화벽을 설정할 수 있다.
또한 보안키도 설정할 수 있다.
퍼블릭 키는 EC2에 저장, 프라이빗은 사용자에게 제공함으로써 사용자는 CLI를 통해 프라이빗 키로 SSh기반으로 인스턴스에 접속할 수 있다.
Sessing Manager, SSM을 통해 EC2인스턴스에 접속할 수 있다.
새로나온 EIC(인스턴스 커넥트 엔드포인트)를 이용해 인스턴스에 접속할 수도 있다.
안정적인 EC2 워크로드 구성
안정적으로 운영하기 위해서는 여러 인스턴스를 생성해 로드밸런싱을 사용해야한다.
ELB : Elasitic Load Balancing을 통해 네트워크 트래픽을 분산할 수 있다.
EC2인스턴스 뿐만 아니라, 컨테이너,IP주소, lambda함수 등도 트래픽 대상을 결정할 수 있다.
Http 프로토콜을 사용한다면 Layer 7기반의 ELB를 추천한다고 한다.
AutoScaling을 사용하면 주기적인 헬스체크와 트래픽에 따라 동적/탄력적으로 인스턴스를 자동/추가 제거함으로써 가용성을 유지하고 비용을 최적화 하는데 도움이 된다고 한다.
EIC to EC2 연결 Demo(체험)
이미지 생략.
VPC생성
EIC EC2 보안그룹 생성(EC2에서는 EIC만의 접근을 허용)
EIC 생성(엔드포인트 생성 -> 타입 : EC2 인스턴스 연결 엔드포인트)
EC2 생성 : 네트워크 설정 -> VPc설정에서 방금 생성한 VPC를 선택 : 인스턴스의 인터넷 노출을 막음.
인스턴스 접근을 위해 로컬 터미널 화면으로 이동
AWS Credential -> 인스턴스 Id를 통해 키페어와 인스턴스 노출없이 로컬에서 EC2에 연결 가능.
요약