2024.08.15 - [DevOps/AWS] - [AWS] Amazon 네트워크 운영하기
이전 포스팅에서 인스턴스를 위한 공간인 네트워크 구축을 진행했다.
인스턴스란?
Amazon EC2(Elastic Compute Cloud)는 프로세서, 스토리지, 네트워킹, OS 및 구매 모델의 다양한 옵션을 제공하며, 클라우드에서 안전하고 크기 조정 가능한 컴퓨팅을 제공한다.
따라서 인스턴스란 Amazon EC2 서비스로 만든 가상 서버 이다.
- 서버 도입 요구 -> AWS 계정 만들기 -> 네트워크 구축 -> 서버 배치 -> 서비스 운영
- On-Premise 방식에 비해 Cloud 서비스로 정말 간단하게 만들수 있다!
- 인스턴스 유형 : 범용, 컴퓨팅 최적화, 메모리 최적화, 가속화된 컴퓨팅, 스토리지 최적화, 고성능 컴퓨팅(HPC) 등
- 인스턴스 구매 옵션 : 온디맨드, 예약, 스팟, 전용 호스트
- 온디맨드 : 필요할때 바로 생성, 사용한 만큼 초 단위로 비용 지불
- 예약 : 미리 약정 (할인 들어감)
- 스팟 : 경매방식 (가장 저렴, 가장 위험)
- 전용 호스트 : 전용 할당 (가장 비쌈)
https://aws.amazon.com/ko/ec2/instance-types/
공식 문서에 자세하게 정리되어있다.
ex. t2.micro 인스턴스에 대해서 이름의 의미를 살펴보자
- t : 인스턴스 패밀리 (M, T, C, X, R 등)
- 2 : 인스턴스 세대 (1 ~ 5 세대, 숫자가 클수록 개선되었다는 의미다.)
- micro : 인스턴스 크기 (nano ~ 2xlarge, 크기가 클수록 당연히 비용은 증가한다.)
Amazon Machine Image(AMI)
서버에 필요한 운영체제와 여러 소프트웨어들이 적절히 구성된 상태로 제공되는 템플릿, 클라우드 환경에서는 운영체제를 직접 설치할 필요없고 미리 설치된 이미지를 설정하면 된다.
인스턴스 + AMI -> EC2, 이 과정이 다 이루어진뒤에야 서버로써 역할을 하는 인스턴스를 사용한다고 말할수 있다.
Amazon EBS(Elastic Block Storage)
EC2에 연결되는 블록 스토리지
쉽게 말해서 서버에 연결된 로컬 하드디스크라고 생각하면 된다. 종류를 살펴보자.
볼륨 유형
- 범용 SSD(GP2, GP3) : 다양한 트랜잭션 워크로드를 위한 볼륨으로 부트 볼륨 지원.
- 프로비저닝 된 IOPS SSD : I/O 집약적 워크로드를 위한 볼륨. 지연시간에 민감한 고성능 처리
- 처리량 최적화 HDD : 처리량으로 성능을 정의하는 저비용 마그네틱 스토리지로 빅데이터, 로그 처리
- 콜드 HDD : 처리량으로 성능을 정의하는 저비용 마그네틱 스토리지로 액세스 빈도가 낮은 콜드 데이터 워크로드에 적합
암호화, 스냅샷
EBS는 자동으로 암호화, 스냅샷기능을 제공해준다.
- 암호화 : 저장된 데이터, 디스크 I/O 및 볼륨에서 생성된 스냅샷이 모두 암호화되어서 저장
- 스냅샷 : 데이터를 장기 보존하기 위해 볼륨을 스냅샷으로 만들어 보존
보안그룹
인스턴스에 대한 인바운드 및 아웃바운드 트래픽을 제어하는 가상의 방화벽
클라이언트 -> EC2 (특정 포트에 대해서만 열려있게 됨)
기본적으로 서버로 들어오는 인바운드는 모두 닫혀있고, 서버에서 나가는 아웃바운드는 모두 열려있다. 규칙은 허용만 커스터마이징 할수 있다.
- 인바운드 : 클라이언트 -> EC2
- 아웃바운드 : EC2 -> 클라이언트
ex. EC2 안에서 웹서버를 동작시키게 되면 80번 포트가 열리게 된다. -> 인바운드 규칙의 80포트를 열어줘야한다.
키 페어
Public Key(인스턴스에 저장) + Private Key(사용자가 저장) -> Key Pair(한 쌍의 키를 가지고 있어야 정상 연결)
EC2 인스턴스에 연결할 때 자격 증명 입증에 사용하는 보안 자격 증명 집합
- Linux 인스턴스의 경우 프라이빗 키를 사용하여 인스턴스에 안전하게 SSH로 연결할 수 있다.
탄력적 IP 주소
동적 클라우드 컴퓨팅을 위해 고안된 정적 IPv4 주소로 인터넷에서 연결할 수 있는 퍼블릭 IP 주소다.
인스턴스 중지후 다시 시작하면 EIP는 변경된다 -> EIP를 따로 만들어 인스턴스에 연결하면 고정 IP 주소로 사용가능하다.(과금 됨)
생명주기
- pending : 인스턴스가 running 상태 준비
- running : 인스턴스를 실행하고 사용할 준비
- stopped : 인스턴스가 종료되고 사용 불가 (복구 가능)
- terminated : 인스턴스 영구 삭제 (복구 불가)
EC2 인스턴스 만들기
요구조건
Default VPC에 다음 조건의 인스턴스 생성
이름 : test-ap2-ec2
AMI : Amazon Linux 2 AMI (HVM) - Kernel 5.10, SSD Volume Type
인스턴스 유형 : t2.micro
키페어 : 새 키 페어 생성 후 저장(이름 : developer)
네트워크 : Default VPC 내 ap-northeast-2a, 방화벽(보안그룹 : test-ap2-ag, 인바운드 22/TCP, 80/TCP 열기)
스토리지 : 범용 GP3, 8GiB
> EC2 검색 후 클릭
> 인스턴스 시작 클릭
> 프리티어 지원하는 AMI 선택, 아키텍처 : 64비트
> t2.micro 인스턴스 선택 (현업에서는 t 인스턴스는 테스트용이라 잘 안쓴다고 한다.)
> 키 페어가 없다면 새 키 페어 생성 클릭
> 이름 지정후 많이 사용하는 암호화 알고리즘인 RSA 선택
> SSH로 사용하기 위해 .pem 형식 선택
> 키페어 생성 클릭
> private key가 로컬로 받아와짐 -> 저장된 .pem 파일 잘 보관해야함!
> Default VPC 설정
> 가용영역 A로 설정
> 퍼블릭 IP 자동할당 활성화 -> 외부 인터넷을 통한 접속을 허용
> 기존 보안 그룹 없으므로 생성 및 이름, 설명 작성
> ssh 22번 포트는 자동으로 추가되어 있음(default)
> 보안 그룹 규칙 추가 클릭
> 유형 : 사용자 지정 TCP or HTTP 둘다 상관없음
> 소스 유형 : 밖에서 들어오는 IP의 허용범위를 선택할수 있음.
위 설정에서 80포트를 인바운드규칙으로 허용하지 않는다면, 클라이언트는 EC2에 원격 접속은 되지만, 웹서비스는 동작하지 않는다!
> 가장 작은 저장용량인 8GiB 선택, gp3 선택
> 고급 세부 정보는 아직 다루지 않음
>> 인스턴스 시작 클릭
이렇게 뜨면 성공!
- 퍼블릭 IPv4 : 외부 인터넷에서 사용하는 IP 주소
- 프라이빗 IPv4 : 서브넷 내부에서 사용하는 IP 주소
> 중지와 Terminate를 혼동하면 안된다!! Terminate는 서버 복구가 불가능하다!
- 재부팅 : 서버 설정에 업데이트를 적용해야할 경우 재부팅을 하면 인스턴스를 재시작한다. 이때 탄력적 IP 주소를 할당했기 때문에 퍼블릭 IPv4 주소는 바뀌지 않는다.
- 중지 : 인스턴스가 중지 되었다고 해서 프라이빗 IPv4 주소가 바뀌는 것이아니다. 중지 되어도 프라이빗 주소는 서브넷 안에 그대로 존재 하기 때문에 그대로 있다. 중지하면 바뀌는 것은 퍼블릭 주소가 사라지는 것이다.
Default VPC에서 EC2 인스턴스를 만드는 과정을 간단하게 훑어봤다. 다음 포스팅은 만든 EC2에 원격접속하는 과정에 대해 쓸 생각이다.
'DevOps > AWS' 카테고리의 다른 글
[AWS] Amazon RDS 사용해보기 (0) | 2024.08.17 |
---|---|
[AWS] Amazon EC2 원격 로그인 (0) | 2024.08.16 |
[AWS] Amazon 네트워크 운영하기 (0) | 2024.08.15 |
[AWS] Amazon 클라우드 시작하기 (0) | 2024.08.15 |
백엔드 아키텍처 간단히 알아보기 (DDD, MSA, 멀티모듈) (0) | 2024.08.06 |