2024.08.15 - [DevOps/AWS] - [AWS] Amazon 클라우드 시작하기
AWS의 입문자라면 계정 생성부터 간단한 서비스 종류까지 알아볼수 있는 내용을 이전 포스팅에서 소개했다.
이번 포스팅은 AWS에서 제공하는 서비스는 어떤것인지 조금 더 구체적으로 살펴보겠다.
기본용어
- Region
- AZ(가용 영역) : 리전 내 위치한 물리적으로 독립된 복수 개의 데이터 센터 - 아시아(서울)의 경우 a, b, c, d 4개의 데이터센터(가용영역)로 구성
** 서브넷 마스크에 대한 내용은 따로 공부해오길 추천한다.
웹 서버를 직접 운영한다고 생각해보자. 몇개의 웹서버를 운영하는 것이 좋을까? 가용성을 위해서 반드시 2개이상의 웹서버를 운영해야한다! -> 이를 통해 클라이언트는 하나의 서버에 문제가 생기더라도 정상 작동하는것으로 인지할수 있다.
- VPC(Virtual Private Cloud) : AWS의 가상 네트워크 서비스로, 완벽하게 격리된 가상 네트워크이다.
- 격리된? 이게 무슨 소리지? 예를 들어 보자. 내가 아시아(서울) 대역에 VPC를 만들었다고 가정하면, 전세계 수많은 개발자 중 다른 사람도 똑같은 아시아(서울) 대역에 VPC를 만들수도 있을 것이다. 이렇게 만들어도 서로 완벽히 격리되어 있기 때문에 아무 걱정할 필요가 없는 것이 바로 VPC이다.
- defalut VPC : 자동으로 생성되는 VPC이다. (초심자용 패키지 같은 느낌)
- 172.31.0.0/16 -> 모든 리전에서 지원되기 때문에 보안 취약
- 최대 65536개의 프라이빗 IPv4 주소를 제공
- 네트워크 운영을 위한 퍼블릭 서브넷, 인터넷 게이트웨이, 라우팅 테이블이 모두 설정되어 있다.
- 사용자 정의 VPC : 현업에서는 이렇게 사용한다고 한다.
- ex. 10.0.0.0/16 (최대 65536개의 프라이빗 IPv4 주소를 제공)
- default VPC와 다르게 사용자가 별도 구성 해줘야함
- Subnet : VPC를 논리적으로 나눈 네트워크, 하나 이상의 IP block으로 나눠서 가용영역에 따라 구분
- Public : 외부와 직접 통신이 가능한 네트워크 영역
- Private : 외부와 직접 통신이 불가능한 네트워크 영역, 높은 보안성을 요구하는 서버를 여기에 생성
- Internet Gateway(IG) : VPC와 인터넷간의 통신을 지원 (서버로 들어가는 입구)
- public IP가 할당되어야 함
- Routing Table : 서버 <-> 외부 통신을 하기 위한 테이블 (서버로 찾아가는 길)
- 라우팅 테이블에 인터넷게이트에 대한 경로가 있어야 서브넷의 서버들은 외부 통신 허용
- 인바운드 규칙 : IG -> 서버
- 아웃바운드 규칙 : 서버 -> IG
- NAT Gateway (Network Address Translation) : 인스턴스의 소스 IP 주소를 NAT 게이트웨이의 IP주소(Public IP 주소)로 바꿈
- NAT를 사용하면 Private Subnet에 생성된 서버들이 인터넷에 연결할 수 있다. -> 외부에 Private Subnet의 서버의 IP주소가 외부에 노출되지 않는다.
- Public Subnet에서 NAT를 생성하고, 생성시 Public IP 를 할당해야 한다.
- 최종적으로 IG를 통해 외부와 통신할수 있게 된다.
- 프리티어 서비스에 해당하지 않는다! -> $0.045 / 시간
AWS 네트워크 직접 사용해보기
https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc-components.html
AWS 공식문서를 보면 Default VPC에 대해서 설명하는 걸 볼 수 있다.
IAM 계정으로 접속해서 직접 확인해보자.
> 아무것도 안했는데 Default로 뭔가가 만들어져 있는것을 확인할수 있다.
- 각 서브넷의 2^20 개 IP 주소는 4096개
- AWS가 예약한 IP 주소를 제외하고 사용가능한 IP주소는 4091개 사용가능
라우팅 테이블
- 0.0.0.0/0 : 외부 인터넷을 의미한다. -> IG와 연결되어있으므로 IG는 외부 인터넷과 통신이 가능하다.
- 보안상 위험하므로 무조건 사용자 지정 VPC를 만들어서 사용하자!
사용자 정의 VPC 만들기
- VPC : test1vpc-ap2-vpc. 10.0.0.0/16
- Subnet : test1vpc_subnet_pub_a
- public, private 각각 2개씩(가용영역 A, C) 10.0.0.0/24
- NAT : 2개의 private subnet 연결
위와 같은 조건으로 생성해보겠다.
> VPC 접속
> VPC 생성 클릭
> VPC 등을 선택하면 위에 언급했던 요소들을 한번에 만들수 있다.
- 복잡한 아키텍처의 경우 따로 만드는게 효율적이라고 한다.
테스트하는것이므로, 나는 VPC 등으로 간단하게 테스트해보겠다.
> 가용영역 A, C
> private subnet 때문에 NAT 자동 생성
> NAT 게이트웨이 1개 -> 과금때문
> VPC 엔드포인트 -> 아직 S3 안할거라서 없음 체크
> VPC 생성
> VPC 보기 클릭
> 나머지 리소스들도 생성된것을 확인가능
>> 외부와 통신할수 있는 네트워크 구축 완료!
'DevOps > AWS' 카테고리의 다른 글
[AWS] Amazon EC2 원격 로그인 (0) | 2024.08.16 |
---|---|
[AWS] Amazon EC2 인스턴스 만들기 (3) | 2024.08.15 |
[AWS] Amazon 클라우드 시작하기 (0) | 2024.08.15 |
백엔드 아키텍처 간단히 알아보기 (DDD, MSA, 멀티모듈) (0) | 2024.08.06 |
Spring + AWS S3 사용해서 사진 올리기 (0) | 2024.07.05 |