VPC란
VPC는 Virtual Private Cloud의 약자로 AWS에서 네트워크 영역을 나눠주는 기능이다.
기본적으로 default VPC가 생성되어있는데 여기서는 public subnet만 존재한다고 한다. 그래서 실제 서비스를 aws에서 구축하는 경우에 VPC를 새로 생성해주어야 한다.
대고객 서비스의 경우 public subnet에 위치해야하지만 db나 서비스를 구동시키는 서버들은 외부에서의 접근이 불가능하도록 설정해야 보안성이 올라간다. (subnet은 ip 대역대를 의미한다.)
private subnet에 위치한 인스턴스들의 업데이트는 어떻게 진행할까?
1. NAT gateway 사용
- public subnet에 NAT gateway를 생성하고 ip를 할당한다.
- private subnet의 라우팅 테이블을 업데이트하여 인터넷으로 나가는 트래픽이 NAT 게이트웨이를 통해 나가도록 설정한다.
- 이렇게 설정하면 들어오는 요청은 차단하고 private에서 나가는 것만 허용해줄 수 있다.
-> NAT 게이트웨이를 사용하여 프라이빗 서브넷에 위치한 EC2 인스턴스를 업데이트하는 경우, NAT 게이트웨이는 아웃바운드 트래픽(즉, 프라이빗 서브넷에서 인터넷으로 나가는 트래픽)을 허용하고, 그에 대한 응답 트래픽만 허용합니다. 이는 보안상의 이유로 인바운드 트래픽(즉, 인터넷에서 프라이빗 서브넷으로 들어오는 트래픽)을 차단하는 것입니다.
2. S3 VPC 엔드포인트 사용
https://docs.aws.amazon.com/ko_kr/vpc/latest/privatelink/vpc-endpoints-s3.html
-
3. SSM(System Manager) 사용
- private subnet의 인스턴스에 SSM 에이전트를 설치한다. AMI를 사용하는 경우 기본적으로 설치되어 있을 수 있다.
- 인스턴스에 SSM 권한을 가진 IAM 역할을 할당한다.
- AWS SSM 콘솔에서 private subnet의 인스턴스에 명령을 실행한다.
4. 프록시 서버 사용
- 프록시 서버를 public subnet에 배치하고 private subnet의 인스턴스가 프록시 서버를 통해 인터넷에 접근하도록 설정할 수 있다.
위 4개 방법 중 IAM을 통해 접근 제어가 세밀하게 가능하고 SSM 에이전트를 통해 관리가 편한 SSM을 이용하는게 좋아보인다.
'IT' 카테고리의 다른 글
[AWS] Lambda (0) | 2024.07.02 |
---|---|
[AWS] S3(Simple Storage Service) (0) | 2024.06.26 |
[AWS] ELB(Elastic Load Balancer) 만들기 (0) | 2024.06.21 |
mariadb 10.11.6에서 root 비밀번호 바꾸기 (0) | 2023.12.11 |
리눅스 파일시스템 mount 오류 해결 (0) | 2023.11.29 |
댓글