240701
학습
● 1. EC2(Elastic Compute Cloud)
EC2(Elastic Compute Cloud)
컴퓨터 클라우드 시스템을 탄력(Elastic)적으로 성능을 제공을 해주는 것을 의미한다.
클라우드 서비스의 종류
- IaaS (Infrastructure as a Service) : 하드웨어 인프라를 인터넷을 통해 제공하는 서비스를 말합니다. IaaS는 가상화된 하드웨어, 스토리지, 네트워크, 운영체제 등을 제공하며, 사용자는 이를 이용해 자신의 애플리케이션을 실행할 수 있습니다. AWS EC2, Microsoft Azure, Google Compute Engine 등이 IaaS 서비스를 제공합니다.
- PaaS (Platform as a Service) : 애플리케이션을 개발, 실행, 관리하기 위한 플랫폼을 인터넷을 통해 제공하는 서비스를 말합니다. PaaS는 IaaS에서 제공하는 하드웨어 인프라와 미들웨어를 이용하여, 애플리케이션 개발, 배포, 운영 등에 필요한 환경을 제공합니다. 예를 들어, AWS Elastic Beanstalk, Heroku, Google App Engine 등이 PaaS 서비스를 제공합니다.
- SaaS (Software as a Service): SaaS는 사용자에게 완전한 애플리케이션을 제공하며, 이 애플리케이션은 클라우드 제공업체의 서버에서 실행됩니다. 사용자는 애플리케이션에 대한 제한된 제어권을 가지며, 클라우드 제공업체가 모든 인프라, 운영 체제, 백엔드 애플리케이션 및 데이터 관리를 담당합니다. SaaS는 대부분의 사용자에게 필요한 소프트웨어 서비스를 제공합니다. 예를 들어, 구글 드라이브, 마이크로소프트 오피스 365, Salesforce 등이 SaaS 서비스의 예입니다.
서버의 증가
1. 고가용성
시스템이 예기치 않은 장애 또는 중단에도 불구하고 지속적으로 작동하는 능력을 말한다.
쉽게말해, 서버를 여러개를 미리 두고 하나의 서버의 장애가 발생하면 다른 서버로 연결을 바꾸는 것이다.
ex) Availability Zones : 4 => 4개의 데이터센터로 연결 변경이 가능하다.
2. 확장성
- 수평적 확장
인스턴스혹은 서버나 DB를 여러개 늘리는 것을 의미한다.
- 수직적 확장
인스턴스혹은 서버나 DB의 용량을 늘리는 것을 의미한다. ( 인스턴스 하나에 성능을 높이는 것을 의미 )
AMI(Amazon Machine Image)
EC2 인스턴스를 생성할 때 사용되며 운영체제와 애플리케이션, 라이브러리 등이 포함되어 있습니다.
이러한 이미지를 사용하면 개발자는 이미 구성된 환경을 더 쉽게 설정할 수 있습니다.
AMI는 Amazon에서 제공하는 것뿐만 아니라 개발자가 직접 생성할 수도 있습니다.
개발자는 자신이 구성한 인스턴스를 이미지로 만들어서 사용할 수 있으며, 이를 다른 사람과 공유할 수 도 있습니다.
ELB(Elastic Load Balancer)
Elastic Load Balancer는 AWS에서 제공하는 로드 밸런싱 서비스로, 다수의 EC2 인스턴스를 사용하여 트래픽을 분산시킵니다. 유저들의 요청이 많을 경우 로드밸런스가 요청을 받아서 다양한 EC2서버에 요청을 분산시켜서 나눠주는 기능이다.
쉽게 말해, 서버의 요청을 분산해서 서버의 부하를 나눈다는 의미이다. 다양한 유형의 로드 밸런서가 있으며 각각의 특징은 아래와 같습니다.
1. 로드 밸런서의 사용 이유
1. 요청 분산 (EC2와 연동)
2. 단일 액세스 포인트 공개(Route 53과 연동) => 도메인 주소 하나로 공유하는 것.
3. 인스턴스에 대한 헬스 체크
4. HTTPS 제공 (ACM과 연동)
5. 고가용성 제공
6. 공개 트래픽과 내부 트래픽 분리
2. ELB의 종류
- Application Load Balancer: OSI 모델 7계층에서 동작하며, HTTP/HTTPS 트래픽을 처리합니다. 또한, 컨테이너화된 애플리케이션과 연동하여 사용할 수 있습니다. ( 가장 많이 사용 하는 것 )
- Network Load Balancer: OSI 모델 4계층에서 동작하며, TCP/UDP 트래픽을 처리합니다. 높은 처리량을 필요로 하는 애플리케이션에 적합합니다.
- Classic Load Balancer: OSI 모델 4~7계층에서 동작하며, HTTP/HTTPS, TCP/UDP 트래픽을 처리합니다. 가장 오래된 형태의 로드 밸런서이며, 대부분의 경우 Application Load Balancer나 Network Load Balancer를 사용하는 것이 좋습니다. ( 지금은 거의 사용을 안함 ) => deprecated
- Gateway Load Balancer: 방화벽, 서드파티에 application을 사용할 때 주로 사용함.
각각의 로드 밸런서는 다양한 기능과 구성을 제공하며, 선택적으로 사용할 수 있습니다. 예를 들어 Application Load Balancer는 URL 경로 라우팅, 호스트 기반 라우팅 등 다양한 라우팅 정책을 제공합니다. 이러한 로드 밸런서는 고가용성과 확장성을 제공하므로, 인스턴스의 장애와 부하 분산에 대한 대응을 용이하게 해줍니다.
3. Application Load Balancer ( 사용 할 예정 )
HTTP 요청을 여러 타깃 그룹에 나눠줄 수 있다.
한 머신안이라도 여러 애플리케이션(컨테이너)에 나눠 줄 수 있다.
HTTP/2와 웹소켓 지원을 한다.
HTTPS로 리다이렉트 지원을 한다.
URL, hostname, query string, header에 기반해서 다른 타깃 그룹으로 보낼 수 있다.
SSL 이란? Secure Sockets Layer
인터넷 상에서 정보를 안전하게 전송하기 위한 프로토콜입니다. SSL은 클라이언트와 서버 사이에 안전한 접속을 만들어주며, 전송되는 데이터를 암호화하여 정보의 안전성을 보장.
TLS란? Transport Layer Security
SSL을 보완한 기술로 현재는 사실 SSL이 아니라 TLS기술이다.
그러나 모두가 아직까지 SSL이라고 부르고 있다!
=> HTTPS가 TLS위에서 동작을 한다.
HTTPS
비대칭키
서버로 부터 공개키를 받은 뒤 요청을 보낼 때 요청에 대한 데이터를 공개키로 암호화를 진행을 하게 된다.
해당 암호화된 요청을 서버에 보내게 되면 서버는 공개키를 풀 수 있는 고유키를 가지고 있고 그것을 이용해야지만
해당 암호화된 데이터를 풀 수 있게 된다.
즉, 비대칭키는 서버에서만 풀 수 있으므로 매우 안전하다. 단점으로는 리소스를 굉장히 많이 소모한다.
HTTPS는 이러한 비대칭키의 단점을 보완하기 위해 대칭키와 비대칭키를 적절히 섞어서 사용을 하고 있는 프로토콜이다.
3way hands
요청 순서
1. 브라우저가 서버에게 요청을 보낸다.
2. 서버는 공개키가 포함된 인증서를 같이 회신하게된다. ( 인증서는 인증 기관에서 발급을 해주는 것이다. )
ex) 처음 네이버에 접속을 하게 되면 무수히 많은 송신을 통해 중간에 인증서 및 공개키를 응답으로 받게 된다.
회고
오늘은 EC2에 대해서 공부를 하였고 EC2가 무엇이고, 어떤 것인지에 대해 알 수 있어서 좋았다.
AWS의 EC2를 정리하면 Elastic Compute Cloud의 줄임말로 탄력적인 컴퓨터 클라우드 시스템을 제공해주는 서비스이다.
다양한 기능을 제공해주며, 하나의 인스턴스를 하나의 서버로 이용하고, 여러개의 인스턴스를 늘려 요청을 탄력적으로 불규칙한 요청에 대한 트래픽을 처리할 수 있다는 장점이 있다. 여기서 클라우드의 대한 장점을 더욱 자세히 알 수 있었다.
또한, LoadBalancer를 배우게 되었고, AWS에서 LoadBalancer를 이용하여 서버와 클라이언트 중간에 로드 밸런서를 두어 인스턴스 서버가 증설 될 때마다 로드밸런서는 하나의 ip로 여러 인스턴스에 분산하여 요청을 보내준다는 것도 알게 되었다. 그리고 HTTPS, HTTP의 차이와 HTTPS가 무엇인지를 알게 되었다.
'내일배움캠프 Spring 5기' 카테고리의 다른 글
내일배움캠프 54일차 TIL - QueryDSL 사용하는 방법 (0) | 2024.07.02 |
---|---|
내일배움캠프 53일차 TIL - 면접 예상 질의 응답 (0) | 2024.07.02 |
내일배움캠프 51일차 TIL - AWS(1) (0) | 2024.06.28 |
내일배움캠프 50일차 TIL - JDBC (0) | 2024.06.27 |
내일배움캠프 49일차 TIL - Spring Security 필터 순서에 따른 인가 문제 (0) | 2024.06.26 |