DevOps/AWS Architecture
[ DevOps ] - AWS 기반 소규모 & 중규모 아키텍트 설계 - Bastion Host 만들기
저희는 일단 private-subnet에 접근할 수 있는, private EC2를 만들겁니다. 그리고 Bastion Host인 Public EC2를 만들겁니다. 그리고 이 Bastion Host를 통해 Private EC2로 접근할겁니다. 먼저 public-ec2를 생성해 보도록 하겠습니다. 새로운 보안 그룹 public_sg를 생성하고 다음과 같이 설정해 주고 인스턴스를 만듭니다. 이는 결과적으로 Bastion Host가 되는 것입니다. 그 다음으로는 private-ec2를 생성해 보도록 하겠습니다. 이를 위해서는 보안그룹을 조금 다르게 설정해 주어야 합니다. 새로운 보안 그룹을 생성하고 인바운드 규칙에서 소스를 전체로 하면 안됩니다. 그 이유는 아무대서나 허용을 해버리면 이건 private-subne..
[ DevOps ] - AWS 기반 소규모 & 중규모 아키텍트 설계 - NACL 설정하기 2
이번에는 public-subnet안에서 EC2 하나를 구동해 보도록 하겠습니다. 따라서 이 EC2의 경우에는 public-subnet안에 있으므로 public-nacl의 인바운드, 아웃바운드 규칙을 따를 것입니다. 우선 AWS EC2인스턴스 하나를 생성해 보도록 하겠습니다. 우선 VPC로는 저희가 앞에서 만든 VPC를 선택해주고 서브넷은 public-subnet을 선택해 주도록 하겠습니다. 그리고 퍼블릭 IP 자동 할당을 활성화를 시켜주기 위해 아래와 같은 설정을 public-subnet에서 해주도록 하겠습니다. 이는 EC2인스턴스에 접근하기 위해 공인 IP를 할당하기 위한 필수 설정이기 때문에 무조건 체크해 주셔야 합니다. 그리고 사용자 데이터에 아래와 같은 shell script코드를 작성해 주도록 ..
[ DevOps ] - AWS 기반 소규모 & 중규모 아키텍트 설계 - NACL설정하기
NACL 설정 보통 클라이언트가 80번 포트로 request를 보내게 되면, 서버는 1025포트와 같이 다른 포트로 쏴줍니다. 다음과 가팅 들어오는 위치를 inbound라고 하고, 나가는 것을 outbound라고 합니다. outbound의 임시포트의 범위는 (1024 ~ 65535)입니다. Security Group은 Stateful합니다. 이는 요청한 상태를 기억한다는 의미입니다. inbound가 80이고 outbound가 none이라는 뜻은 안으로 80번 포트로는 들어올 순 없지만 밖으로 나가는건 다 막아버리겠다라는 것입니다. 하지만 Security Group은 Stateful하기 때문에 상태를 기억해서 밖으로 1025번 포트로 다시 쏴줄 수 있다는 것입니다. 다음은 stateless한 NACL입니다..
[ DevOps ] - AWS 기반 소규모 & 중규모 아키텍트 설계 - IGW와 라우팅 테이블 생성
IGW 생성 igw를 fastcampus-lgw라는 이름으로 만들어 줍시다. 만들고 나면 어떠한 VPC에도 장착되지 않았으므로, 상태가 Detached가 됩니다. 다음과정을 거치면 아래와 같은 그림이 됩니다. 사실상 route table과 IGW를 연결해 주지 않았기 때문에 위와 같은 그림이 됩니다. 기본적으로 생성된 route table을 보시면 아래와 같습니다. 즉 10.0.0.0/16에 해당하는 것이 들어오면 local로 돌리라는 의미의 행밖에 없습니다. 또한 서브넷 연결에 들어가서 보면 다음과 같이, 명시적으로 연결되어 있지 않은 저희가 이전에 만든 public-subnet과 private-subnet이 존재하게 됩니다. 그리고 이들은 기본 route table에 연결되어 있는 상태가 되겠습니다...