안녕하세요, 이상혁입니다

(AWS)VPC, EC2, ALB

(AWS)VPC, EC2, ALB

2022년 6월 24일

본격적으로 EC2 인스턴스를 사용하기에 앞서 기본적인 AWS 네트워크 환경 구성에 대한 설계 및 구축이 필요하다. 환경 구성을 하기 위해서 몇 가지 용어들과 기본적인 네트워크 이해도가 필요하다고 느껴, 아래와 같이 정리했다.

알아아 하는 용어

  • VPC : 우리가 EC2, RDS 등 사용하는 리소스들만의 격리된 네트워크를 생성해주는 기능, 격리가 되는 순간 다른 사람들은 접근하는 것이 불가능
  • 서브넷(Subnet) : VPC의 하위 단위, 네트워크를 잘 쪼개서 아이피를 더 생산적으로 사용하는 기술
  • 라우팅 테이블 : 트래픽이 어디로 가야하는지 알려주는 라우팅 경로를 지정해주는 역할
  • 인터넷 게이트웨이 : VPC는 기본적으로 사설망에서만 움직이게 되어, 외부망과 통신하기 위한 수단
  • 보안 그룹 : 인스턴스에 대한 인바운드 및 아웃바운드 트래픽을 제어하는 가상 방화벽 역할하는 장치
  • NAT 게이트웨이 : Private Subnet에 위치하는 인스턴스가 외부에 요청을 보낼 때 사용하도록 특화된 게이트웨이

VPC / Subnet / Route Table / Internet Gateway

EC2 인스턴스를 생성하기에 앞서 VPC를 생성해 적절한 흐름도를 구성할 수 있도록 하자. 아래 사진처럼 VPC 생성하기 위한 정보를 입력해야 하고 여기서 ‘IPv4 CIDR’ 부분을 입력해야 하는데 CIDR는 우선 IP주소 할당 방법 중 하나이다. 예를 들어 ‘10.1.0.0/16’를 입력하게 된다면 10.1.0.0 ~ 10.1.255.255까지 2의 16승개의 주소를 포함하는 IP 주소를 결정하게 된다.

aws ecs test 9

VPC를 생성 후 DNS를 활성화할 필요있다. VPC 내에 생성되는 인스턴스들이 DNS 호스트 네임을 사용해야 하기 때문이다.

aws ecs test 8

VPC의 하위 단위인 서브넷(Subnet)를 생성할 필요가 있다. 여기서도 이름, 가용 용역(Availablity Zone), IPv4 CIDR에 대한 정보를 입력해야 한다.

aws ecs test 11

외부에서도 접속할 수 있도록 VPC에 인터넷 게이트웨이를 설정해야 한다. 우선 이름 태그만 입력하면 생성되지만 이후에 사용할 VPC에 연결할 필요가 있으므로 생성 이후 우클릭하여 연결을 한다.

aws ecs test 4

서브넷 간이 경로를 설정하기 위한 라우팅 테이블를 설정해야 한다. 라우팅 테이블을 생성 이후 Public Subnet랑 인터넷 게이트웨어를 묶기 위해서 해당 테이블의 라우팅 편집을 통해 대상를 추가하면 된다.

aws ecs test 6

aws ecs test 14

EC2

인스턴스 유형, AMI, 스토리지 같은 경우는 프리티어가 가능한 옵션으로 선택하여 이 부분에 대해서는 넘어가고 인스턴스 구성 부분 중에서 특히 봐야 할 요소는 ‘네트워크, 서브넷, 퍼블릭 IP 자동 할당’이며 본인이 생성한 VPC를 선택하면 된다.

aws ecs test 12

만약, EC2를 생성 후 자동적으로 스크립트를 실행할 명령어가 있으면 텍스트 형식으로 아래 ‘사용자 데이터’에 작성하면 된다.

aws ecs test 5

Putty나 iTerm에서 SSH으로 생성한 EC2에 접속하기 위해서 Elastic IP를 생성해야 한다. Elastic IP를 생성 후 생성한 EC2에 연결하면 된다. 참고로 EC2만 제거하면 Elastic IP는 자동적으로 제거되지 않기 때문에 요금이 부과될 수 있으므로 반드시 Elastic IP도 제거하자

aws ecs test 7

EFS

AWS EFS는 ‘Elastic Flie System’의 약어로 AWS 서비스와 온프레미스 리소스에서 사용할 수 있는 탄력적인 파일 스토리지를 제공한다. 즉, 여러 개의 인스턴스에서 파일이 접근이 가능하면 일종의 네트워크 파일 스토리지라고 할 수도 있다. 다만, 리눅스용 파일 서비스이기 때문에 윈도우에서는 지원되지 않는다.

EFS를 생성하기 전에 보안 그룹을 설정해야 할 필요 있다. 사용할 VPC를 선택하고 인바운드 규칙에 유형은 NFS로 선택하고 0.0.0.0/0로 입력한다.

aws ecs test 10

EFS를 설정하는 과정 중 네트워크 엑세스에 대해서 물어보는 단계가 있다. 본인이 설계한 부분을 확인하고 가용 용역별에 대한 보안 그룹은 위에 생성한 그룹을 선택하고 진행하면 된다.

aws ecs test 2

EFS 생성을 마쳤으면 EC2 인스턴스에 접속을 해서 EFS 연동을 위해 ‘yum install amazon-efs-uitils ’를 설치한다. 그리고 efs 폴더를 생성한 후 아래 사진 중 ‘EFS 탑재 헬퍼 사용’에 대한 명령어를 입력하면 끝!

aws ecs test 13

Application Load Balancer

Application Load Balancer는 어플리케이션 트래픽을 EC2, 컨테이너, Lambda 등 여러 대상에 자동으로 분산시켜 안정적인 AWS 서버 환경을 운용하게 해준다. 방법은 Load Balance할 인스턴스의 보안 그룹 설정, 타켓 그룹 설정, 인바운드 규칙 생성 등 위에 배웠던 내용 기반으로 설정하면 된다.

출처 : https://no-easy-dev.tistory.com/entry/AWS-ALB와-NLB-차이점

출처 : https://no-easy-dev.tistory.com/entry/AWS-ALB와-NLB-차이점

출처 : https://no-easy-dev.tistory.com/entry/AWS-ALB와-NLB-차이점