본격적으로 EC2 인스턴스를 사용하기에 앞서 기본적인 AWS 네트워크 환경 구성에 대한 설계 및 구축이 필요하다. 환경 구성을 하기 위해서 몇 가지 용어들과 기본적인 네트워크 이해도가 필요하다고 느껴, 아래와 같이 정리했다.
EC2 인스턴스를 생성하기에 앞서 VPC를 생성해 적절한 흐름도를 구성할 수 있도록 하자. 아래 사진처럼 VPC 생성하기 위한 정보를 입력해야 하고 여기서 ‘IPv4 CIDR’ 부분을 입력해야 하는데 CIDR는 우선 IP주소 할당 방법 중 하나이다. 예를 들어 ‘10.1.0.0/16’를 입력하게 된다면 10.1.0.0 ~ 10.1.255.255까지 2의 16승개의 주소를 포함하는 IP 주소를 결정하게 된다.
VPC를 생성 후 DNS를 활성화할 필요있다. VPC 내에 생성되는 인스턴스들이 DNS 호스트 네임을 사용해야 하기 때문이다.
VPC의 하위 단위인 서브넷(Subnet)를 생성할 필요가 있다. 여기서도 이름, 가용 용역(Availablity Zone), IPv4 CIDR에 대한 정보를 입력해야 한다.
외부에서도 접속할 수 있도록 VPC에 인터넷 게이트웨이를 설정해야 한다. 우선 이름 태그만 입력하면 생성되지만 이후에 사용할 VPC에 연결할 필요가 있으므로 생성 이후 우클릭하여 연결을 한다.
서브넷 간이 경로를 설정하기 위한 라우팅 테이블를 설정해야 한다. 라우팅 테이블을 생성 이후 Public Subnet랑 인터넷 게이트웨어를 묶기 위해서 해당 테이블의 라우팅 편집을 통해 대상를 추가하면 된다.
인스턴스 유형, AMI, 스토리지 같은 경우는 프리티어가 가능한 옵션으로 선택하여 이 부분에 대해서는 넘어가고 인스턴스 구성 부분 중에서 특히 봐야 할 요소는 ‘네트워크, 서브넷, 퍼블릭 IP 자동 할당’이며 본인이 생성한 VPC를 선택하면 된다.
만약, EC2를 생성 후 자동적으로 스크립트를 실행할 명령어가 있으면 텍스트 형식으로 아래 ‘사용자 데이터'에 작성하면 된다.
Putty나 iTerm에서 SSH으로 생성한 EC2에 접속하기 위해서 Elastic IP를 생성해야 한다. Elastic IP를 생성 후 생성한 EC2에 연결하면 된다. 참고로 EC2만 제거하면 Elastic IP는 자동적으로 제거되지 않기 때문에 요금이 부과될 수 있으므로 반드시 Elastic IP도 제거하자
AWS EFS는 ‘Elastic Flie System’의 약어로 AWS 서비스와 온프레미스 리소스에서 사용할 수 있는 탄력적인 파일 스토리지를 제공한다. 즉, 여러 개의 인스턴스에서 파일이 접근이 가능하면 일종의 네트워크 파일 스토리지라고 할 수도 있다. 다만, 리눅스용 파일 서비스이기 때문에 윈도우에서는 지원되지 않는다.
EFS를 생성하기 전에 보안 그룹을 설정해야 할 필요 있다. 사용할 VPC를 선택하고 인바운드 규칙에 유형은 NFS로 선택하고 0.0.0.0/0로 입력한다.
EFS를 설정하는 과정 중 네트워크 엑세스에 대해서 물어보는 단계가 있다. 본인이 설계한 부분을 확인하고 가용 용역별에 대한 보안 그룹은 위에 생성한 그룹을 선택하고 진행하면 된다.
EFS 생성을 마쳤으면 EC2 인스턴스에 접속을 해서 EFS 연동을 위해 ‘yum install amazon-efs-uitils
’를 설치한다. 그리고 efs 폴더를 생성한 후 아래 사진 중 ‘EFS 탑재 헬퍼 사용'에 대한 명령어를 입력하면 끝!
Application Load Balancer는 어플리케이션 트래픽을 EC2, 컨테이너, Lambda 등 여러 대상에 자동으로 분산시켜 안정적인 AWS 서버 환경을 운용하게 해준다. 방법은 Load Balance할 인스턴스의 보안 그룹 설정, 타켓 그룹 설정, 인바운드 규칙 생성 등 위에 배웠던 내용 기반으로 설정하면 된다.