Web/책보고 따라하기(1)

프로덕션 배포 - 서비스 아키텍처

최고다최코딩 2023. 10. 8. 00:08
728x90

EC2 (Elastic Computer Cloud) : 애플리케이션을 실행할 수 있는 서버 컴퓨터라고 생각하면 된다. 

                  우리는 EC2로 서버를 실행시키고 클라이언트가 애플리케이션을 실행하려면 EC2의 IP나 EC2에서 제공하는                      퍼블릭 도메인으로 애플리케이션에 접근할 수 있다.

DNS (Domain Name System) : IP 주소는 사람들이 기억하고 사용하기 어렵기 때문에 IP를 대신할 수 있는 이름인                                Domain(도메인)을 IP 주소와 맵핑시켜놓아 Domain을 입력하면 해당하는 IP 주소를 찾아 그 주소의

                  애플리케이 션에 접근하게 해주는 시스템 

 

Route 53 : 우리 컴퓨터는 IP 말고도 DNS서버 IP도 가지고 있다. 

                  DNS 서버 IP는 IP 제공자인 ISP(Internet Service Provider, SKT, KT, ..텔레콤 ) 인터넷 서비스 제공 회사에서

                  제공한다.  ISP의 DNS 서버에 우리가 원하는 IP 주소가 없으면 다른 DNS 서버에서 우리가 원하는

                  IP 주소를 찾아준다. 그러한 DNS 서버 중 하나가 Route 53

Application Load Balancer : 트레픽이 증가하여 새로운 EC2 인스턴스를 만들어 서버를 증설한 경우, IP가 다르기 때문에                      새로 만든 EC2 인스턴스는 여전히 접근할 수 없다. 애플리케이션 로드 밸런서는 EC2 인스턴스들을 연결하여 

                  트레픽을 적절히 분배해준다.  EC2 인스턴스들이 공유하는 가상의 IP를 만들어 Route 53에 등록하고

                  Route 53은 도메인을 검색할 때 이 가상의 IP를 반환해준다. 

 

Target Group : 애플리케이션 로드 밸런서에 연결된 EC2 인스턴스들을 말한다. 

 

AutoScaliing Group (ASG,오토 스케일링 그룹) : ASG는  인스턴스가 다운되었을 때 EC2를 실행하고 타깃 그룹에 올리고                      서비스 상태를 확인하는 작업을 자동으로 해주고 트래픽에 따라 스케일인(ScaleIn), 스케일아웃(ScaleOut)

                  하여 서버를 증설하거나 수축하는 등 타켓 그룹의 인스턴스를 관리하는 역할을 한다.

                  최소, 최대, 적정 인스턴스 수를 정하여 관리할 수 있다.

 

VPC (Virtual Private Cloud, 가상 사설 클라우드) : 사용자의 AWS 계정 전용 가상 네트워크, 특별한 설정 없이는 네트워크                   안에 생성되는 EC2 외부(인터넷, 다른 AWS 계정)에서 접근할 수 없는 독립된 가상의 네트워크로 계정의

                 주인만이 네트워크에 접근 하는하다. 

 

Subnet (서브-네트워크) : VPC 내에 존재하는 여러 개로 쪼개진 네트워크로 서브넷 내에 EC2 서버를 생성한다. 

Elastic Bean Stalk (일래스틱 빈스톡) : 배포를 위한 인프라 구축을 대신 해주는 서비스로,

                  사용자가 필요한 리소스를 알려주면 일래스틱 빈스톡이 로드 밸런서, 오토 스케일링 그룹,

                  RDS(데이터베이스), EC2 환경을 구축하고 EC2에 우리 애플리케이션을 실행시켜준다. 

                  내부적으로 JSON, YML 파일을 인풋으로 받아 설정파일의 리소스와 리소스 관계를 읽어 인프라를 구축해주는                    AWS 클라우드포메이션(CloudFormation) 서비스를 이용한다.(Infrastructure as Code,코드를 읽어 인프라구축)