EC2
- Operating System(OS) : Linux, Windows or Mac etc
- How much compute power & cores (CPU)
- How much random-access memory (RAM)
- How much storage space:
- Network-attached (EBS & EFS)
- hardware (EC2 Instance Store)
- Network card: speed of the card, Public IP address
- Firewall rules: security group
- Bootstrap script (configure at first launch) : EC2 User Data
시작하는 방법
- Console 창에 EC2를 검색하고 Instancees에 들어간다.
- Launch an instance를 눌러 설정을 시작한다.
- 인스턴스의 이름을 정한다.
- Application and OS Images를 설정한다. 본인이 원하는 운영체제를 설정하면 된다.
→ 이후 Amazon Machine Lmage에서 설정하면 된다. 프리티어를 사용하는 경우 프리티어만 허용되는 것을 잘 선택해야한다.
→ AMI가 매우 중요한 것인데 여기서는 생략한다.
- Instance type를 설정한다.
→ 본인의 요구사항에 맞게 설정하면 되며, 마찬가지로 프리티어만 사용 가능한 것을 잘 선택해야한다.
→ 일반적으로 성능이 동일하다면 숫자가 높은게 최신식이기는 하나, 숫자와 성능이 비례하는 것은 아니다. 물리적인 성능을 꼭 보고 선택하자.
- Key pair을 설정한다. 키 페어가 없이도 진행할 수는 있지만 절대 권장하지 않는다. 암호화 타입을 고르고, format을 .pem 파일로 설정한다. 이 때 다운되는 파일은 항상 들고 있으며 절대 공유하면 안 된다. 비밀번호와 같은 것이다!
- 네트워크 셋팅은 그대로 두고 건너뛰자.
- Configure storage는 본인이 사용하는 양만큼 하면 되지만 프리티어의 경우 30기가까지 무료이므로 늘려주자!
- (선택) 제일 하단부의 User data를 통해 부트스트랩 설정을 할 수 있다.
→ 인스턴스가 최초 시작될 때에 한하여 앱을 설치하거나 업데이트 하는 것을 설정할 수 있다.
- 시작을 누르면 잠시 뒤에 pending → running로 바뀌며 시작된다.
EC2 인스턴스 유형
https://aws.amazon.com/ko/ec2/instance-types/
사이트에서 인스턴스의 유형과 요금 및 특성을 볼 수 있다. 서비스의 형태에 맞는 인스턴스를 선택하여야 할 것이다.
AWS의 명명 규칙
m5.2xlarge 라는 인스턴스를 예로 들어보자.
m : instance class이다. m의 경우 범용 인스턴스이다.
5 : generation이다. 인스턴스의 세대를 나타내는 것이다. 숫자가 높을 수록 최신의 것이다.
2xlarge : size within the instance class를 말한다. small large 등등이 있다. 더 클수록 인스턴스에 많은 CPU와 메모리가 생기게 된다.
- 범용 인스턴스 : 웹서버나 코드 저장소와 같은 다양한 작업에 적합하다. 컴퓨팅, 메모리, 네트워킹 간의 균형도 적절하다.
- 컴퓨팅 최적화 인스턴스 : C로 시작하며 컴퓨터 집약적인 작업에 최적화된 인스턴스이다. 일부 데이터의 일괄 처리에 사용하거나, 미디어 혹은 고성능 컴퓨팅, 머신러닝, 전용 게임 서버 등이 필요할 때 적합하다.
- 메모리 최적화 : 대부분 R로 시작하며 메모리에서 대규모 데이터셋을 처리하는 유형의 작업에 빠른 성능을 제공한다. 인메모리 데이터베이스를 구성하는 것, 비정형 데이터의 실시간 처리에 사용된다.
- 스토리지 최적화 인스턴스 : 로컬 스토리지에서 대규모 데이터 저장소가 필요할 때 적합한 인스턴스이다. 고주파 온라인 트랜잭션 처리인 OLTP 시스템, Relational & NoSQL databases 등에 사용된다.
보안 규칙
- EC2 인스턴스 안팎으로 트래픽이 허용되는 방식을 제어한다.
- 허용 규칙만 포함되어 있기 때문에 무엇이 들어가고 나갈 수 있는지 정하면 된다.
- 보안 그룹은 IP주소(컴퓨터의 출발지) 기준으로 설정할 수 있다. or 다른 보안 그룹을 참조하여 정할 수 있다.
인바운드 규칙
외부에서 EC2 인스턴스로 들어가는 것이 허용되는지
아웃바운드 규칙
EC2 인스턴스가 일부 아웃바운드 트래픽을 수행할 수 있는지
보안 그룹
- EC2 인스턴스의 방화벽 역할을 한다.
- 포트에 대한 액세스를 규제한다.
- 승인된 IP 범위가 표시된다.(IPv4 or IPv6)
- 인바운드 네트워크를 제어한다.
- 특정 지역과 VPC 조합에만 제한된다.
- 다른 지역으로 전환하는 경우 새로운 보안그룹을 만들어야 한다.
- SSH 액세스를 위한 보안 그룹을 따로 분리하는 것이 좋다.
- 어플리케이션에 접근하지 못하고, 시간 초과가 난다면 보안 그룹의 문제일 수 있다.
- 기본적으로 모든 인바운드 트래픽은 차단되고, 모든 아웃바운드 트래픽은 승인된다.
알아두어야 할 포트
- 22 = SSH(Secure Shell) : 리눅스에서 인스턴스로 로그인 하기 위한 포트
- 21 = FTP(File Transfer Protocol) : 파일 전송을 위한 포트
- 22 = SFTP(Secure File Transfer Protocol) : 파일 업로드를 SSH를 통해서 하는 포트
- 80 = HTTP : 보안되지 않은 웹사이트에 접근하는 포트
- 443 = HTTPS : 보안된 웹사이트에 접근하는 포트
- 3389 = RDP(Remote Desktop Protocol) : RDP 또는 원격 데스크톱 프로토콜 용 포트이며 윈도우 인스턴스에 로그인하는데 사용
인스턴스 할인
- Reserved Instance
- 특정 인스턴스를 예약해두고 사용하는 것으로 1년 혹은 3년의 약정 기간을 가진다.
- 선결제, 부분선결제, 이후 결제 등 다양한 방식이 있고, 이에 따라 할인율이 다르다.
- Convertible Reserved Instance
- 중간에 인스턴스에 대해 여러 설정 사항을 변경할 수 있다.
- 유연성을 제공하기 때문에 Reserved Instance에 비해 할인율은 낮다.
- Savings Plans
- 장기간 사용에 대한 할인을 제공해주는 것이다.
- $10/hour for 1 or 3years 처럼 먼저 금액을 정한다.
- 이 계획을 넘어서는 비용에 대해서는 On-Demand price로 청구된다.
- Spot Instances
- 할인율이 가장 높은 방법이다.
- 스폿 인스턴스에 대해 지불하려는 최대 가격을 정의하고 만약 이 가격을 넘어선다면 인스턴스가 없어질 수 있다.
- 인스턴스가 분실에 대한 회복력이 있다면 가장 할인을 많이 받을 수 있는 방법이다.
- ex) 배치 작업, 데이터 분석, 이미지 처리, 모든 종류의 분산형 워크로드, 시작 시간과 종료 시간이 유연한 워크로드
- 아주 중요한 작업, 데이터베이스에는 적절하지 않다.
- Dedicated Hosts
- 라이선스를 기준으로 청구되는 소프트웨어가 있는 경우 물리적 서버에 전용 호스트가 필요한 경우가 있다.
- 또는 규정이나 법규를 준수해야하는 회사를 갖고 있는 경우에 사용한다.
- 전용 호스트인 경우에도 온디맨드 비용을 내거나 약정을 걸 수 있다.
- 물리적 서버를 요구하기 때문에 AWS에서 가장 비싼 모델이다.
- Dedicated Instances
- 자신만의 전용 하드웨어에서 실행되는 인스턴스다.
- 물리적 서버와 다르다.
- 같은 계정에서 다른 인스턴스와 함께 하드웨어를 공유할 수 있다.
- 인스턴스 배치에 대한 통제권이 없다.
'지식 정리 > AWS' 카테고리의 다른 글
[AWS] EBS (0) | 2024.12.04 |
---|---|
[AWS] IP와 배치 전략 (1) | 2024.12.03 |
[AWS] EC2 Spot Instance (0) | 2024.11.29 |
[AWS] IAM(Identify and Access Management) (2) | 2024.11.26 |
[AWS] Region과 AZ (1) | 2024.11.23 |