본문 바로가기

AWS

(31)
[aws] 오토 스케일링 그룹 (Auto Scaling Group) 📌 오토 스케일링 그룹 (Auto Scaling Group) aws는 EC2 인스턴스 생성 API 호출을 통해 서버를 빠르게 생성하고 종료를 자동화 할 수 있는 ASG를 지원한다. ASG를 만들면 스케일 아웃  즉 증가한 로드에 맞춰 EC2 인스턴스를 추가하거나 EC2를 축소한다는 의미의 스케일 인을 할수 있게 된다.A SG를 설정할 때 최소 인스턴스 개수와 희망 개수, 최대 인스턴스 개수를 설정할 수 있다. 최소는 말 그대로 운용하는데에 있어 최소 인스턴스의 개수를 의미하며 최대 또한, 운용하는데 있어 최대 인스턴스의 개수를 의미한다 그렇다면 희망 인스턴스는 무엇일까? 희망 인스턴스는 처음 생성할 때의 인스턴스 개수를 의미한다.    ASG는 로드 밸런서와 페어링 되었을 때 더 좋은 시너지를 보이는데..
[aws] SSL 인증 및 인증 방법 / 연결 드레이닝 (Connection Draining) 📌 ELB SSL 인증 SSL 인증서는 클라이언트와 로드 밸런서 사이에서 트래픽이 이동하는 동안 암호화해준다. 이를 전송 중 (in-flight) 암호화라고 하는데 데이터는 네트워크를 이동하는 중에는 암호화되고, 송신자 수신자 측에서만 이를 복호화 할  수 있다. SSL은 '보안 소켓 계층'을 의미하고 연결을 암호화하는데 사용하는데 TLS는 새로운 버전의 SSL로 '전송 계층 보안'을 의미 한다. 이러한 인증서는 인증 기관(CA)에서 발급 받아야 하는데 그 기관에는 코모도, 고 대디, Let's Encypt 등이 있다. 이렇게 인증 발급서를 로드 밸런서에 추가하면 클라이언트와 로드 밸런서 사이의 연결을 암호화 할 수 있게 된다.  작동 방식은 유저가 인터넷을 통해 로드 밸런서에 접속하면 로드 밸런서에서..
[aws] ELB 고정세션(Sticky Sessions)과 교차 영역 밸런싱(Cross Zone Load Balancing) 📌 고정 세션 (Sticky Sessions)  고정세션이란 로드 밸런서에 2가지 요청을 수행하는 클라이언트가 요청에 응답하기 위해 백엔드에 동일한 인스턴스를 갖는 것을 의미한다. 이미지처럼 2개의 EC2 인스턴스와 3개의 클라이언트가 있다고 가정하자. 1번 클라이언트가 요청을 생성해 첫 번째 인스턴스를 통과하면 두 번째 요청을 실행할 때 동일한 인스턴스로 이동함을 뜻하며 이는 ELB가 모든 인스턴스 전반으로 모든 요청을 확산하는 것과는 다른 동작이다. 이 동작은 CLB와 ALB에서 설정한다.   이 원리에 관해서는 쿠키가 사용되며 만료시 클라이언트가 다른 EC2 인스턴스로 리다이렉션 될 수 있다. 이 과정에서 일부 인스턴스는 고정 사용자를 갖게 되기 때문에 고정성을 활용하면 백엔드 인스턴스 부하에 불..
[aws] 로드밸런싱(load balancing)과 로드밸런서(load balancer)의 종류 📌  로드밸런싱 (load balancing) 로드 밸런싱은 애플리케이션을 지원하는 리소스 풀 전체에 네트워크 트래픽을 균등하게 배포하는 방법이다. 최신 애플리케이션은 수백만 명의 사용자를 동시에 처리하고 정확한 텍스트, 비디오, 이미지 및 기타 데이터를 빠르고 안정적인 방식으로 각 사용자에게 반환해야한다.이렇게 많은 양의 트래픽을 처리하기 위해 대부분의 애플리케이션에는 데이터가 중복되는 리소스 서버가 많이 있다.로드 밸런서는 사용자와 서버 그룹 사이에 위치하며 보이지 않는 촉진자 역할을 하여 모든 리소스 서버가 동일하게 사용되도록 하는 디바이스다.       📌  로드 밸런서 (load balancer) 로드 밸러싱의 툴인 로드 밸런서는 총 4가지의 종류를 갖고 있으며 쓰임새가 각각 다르다.  CL..
[aws] EC2 스토리지 EBS (Elastic Block Store) 와 EFS (Elastic File System) 📌  EBS (Elastic Block Store)   인스터스가 실행 중이 동안 연결 가능한 네트워크 드라이브로 인스턴스에 수명에 영향 받지 않고 존속할 수 있다. 하나의 EC2 인스턴스에는 여러 개의 EBS 볼륨을 부착할 수 있어 편리하지만 한 개의 EBS 볼륨이 여러 개의 인스턴스에 부착될 순 없다. (하지만 유일한 예외 규칙으로 다중 연결 옵션의 EBS 볼륨을 사용하면 가능해진다.)      EBS 볼륨은 특정 AZ에 속한 자원이므로 동일 AZ 에서는 서로 다른 EC2 인스턴스에 탈부착할 수 있지만 서로 다른 AZ  간에는 EBS 탈부착이 불가능하다. 하지만 한 가지 편법을 사용하면 다른 가용 영역으로도 부착시킬 수 있는데 이 방법이 스냅샷이다.(스냅샷에 대해서는 밑에서 설명하도록 하겠다.) E..
[aws] EC2 절약 모드 (EC2 Hibernate) 란? / aws 절전 모드 하는 법 📌  EC2 Hibernate  인스턴스를 중지하면 EBS 디스크 데이터는 다시 시작할 때까지 그대로 유지될 것이다. 하지만 인스턴스를 종료(terminate)한다면, 루트 볼륨과 함께 인스턴스는 삭제 될 것이다. (루트 볼륨을 삭제 안시킬 수 있는 옵션도 존재함) 인스턴스가 중지하고 다시 시작하는 과정(운영체제가 먼저 부팅되고 스크립트가 실행된 다음 애플리케이션이 실행되는 과정들)은 꽤 오랜 시간을 소요시킬 것이다. 하지만 절약 모드를 사용하게 되면 운영체제를 완전히 종료하지 않고 그대로 멈춤으로써 RAM에 있던 인메모리 상태는 그대로 보존되어 인스턴스가 더 빨리 부팅하게 도와준다.    예를 들어 EC2가 Running 중이고 RAM 에 데이터가 있다고 할 때,  절전 모드를 켜게 되면 실행중인 인..
[aws] 탄력적 네트워크 인터페이스 (ENI) 란 ? 📌  탄력적 네트워크 인터페이스 (ENI)  ENI란 (Elastic Network Interfaces) VPC의 논리적 구성 요소이며 가상 네트워크 카드를 나타낸다.  ENIs는 EC2 인스턴스가 네트워크에 액세스할 수 있게 하며 EC2 인스턴스 외부에서도 사용된다.  예를 들어 가용 영역이 있고 하나의 EC2 인스턴스가 있다고 가정할 때기본 ENI인 Eth 0에 연결되어 EC2 인스턴스 네트워크 연결을 제공한다.  각 ENI는  다음과 같은 속성을 갖는다. 첫 번째로 주요 사설 IPv4와 하나 이상의 사설 IPv4를 가질 수 있다. 그림에 보이는 Eth1은  EC2에 보조 ENI가 되는데 이렇게 되면 또 다른 사설 IPv4도 제공될 것이다.각 ENI는 사설 IPv4당 탄력적 IPv4를 갖거나 혹은 ..
[aws] aws 배치 그룹 📌  aws 배치 그룹 (Placement Groups)  aws 배치 그룹이란 aws의 하드웨어와 직접적인 상호 작용을 하지는 않지만 EC2 인스턴스가 각각 어떻게 배치되기를 원하는지 aws에 알려주는 것을 말한다. 따라서 배치 그룹을 만들 때 세 가지 전략을 사용할 수 있다. 클러스터 - 단일 가용 영역 내에서 지연시간이 짧은 하드웨어 설정으로 인스턴스를 그룹화할 클러스터 배치 그룹이 있다. 이 전략은 높은 성능을 제공하지만 위험 또한 높다.분산 배치 그룹 - 인스턴스가 다른 하드웨어에 분산된다는 의미이다. 여기에는 가용 영역(AZ)별로 분산된 배치 그룹 당 7개의 EC2만 가질 수 있다는 제한 사항이 있다. 따라서 크리티컬 애플리케이션이 있는 경우 분산 배치 그룹을 사용한다.분할 배치 그룹 (파티..