8.1 인스턴스의 네트워킹 패턴
인스턴스에 설치된 애플리케이션은 데이터를 가공해 인스턴스에 연결된 ENI로 전달한다. 데이터를 받은 ENI는 자신에게 할당된 IP를 출발지로 지정하고, 데이터를 받을 IP를 목적지로 지정해 네트워크로 패킷을 전송한다.
1) 인스턴스 기본 통신요건
IP + ENI + Instance
2) 컴퓨팅 기본 3요소의 독립 형태
- IP
: 탄력적 IP는 그 무엇과도 연결되지 않은 독립 상태로 존재할 수 있다.
: 반면, 퍼블릭 IP 와 프라이빗 IP는 ENI를 반드시 동반해야 한다. 프라이빗 IP의 생성과 소멸은 ENI의 생명주기와 함께한다. ENI 가 소멸되면 프라이빗 IP도 함께 사라진다.
- ENI
: ENI 는 반드시 기본 프라이빗 IP 가 설정되 있어야 한다. 즉, ENI 는 프라이빗 IP 와 1:1 의 관계를 유지한다.
3) 인스턴스 유형별 ENI 와 프라이빗 IP 최대 개수
인스턴스 유형별 연결 가능한 최대 ENI 수와 ENI 당 프라이빗 IP 수는 정해져 있다.
4) 퍼블릭 IP 자동할당
퍼블릭 IP 자동 할당 설정값을 활성화로 선택하면, 퍼블릭 IP가 하나 할당될 것이다.
- 활성화 (Enable): 인스턴스의 기본 ENI에 퍼블릭 IP를 할당한다.
- 비활성화(Disable): 퍼블릭 IP를 할당하지 않는다.
- 서브넷 사용설정(Use subnet Setting) : 서브넷의 설정값에 따라 퍼블릭 IP 할당 여부를 정한다.
5) ENI 연결과 탄력적 IP 할당
* 탄력적 IP를 인스턴스에 연결하는 방법
- 인스턴스에 직접 연결하는 방법
: 인스턴스 ID와 인스턴스가 소유한 프라이빗 IP를 지정한다.
- 인스턴스가 사용하는 ENI에 직접 연결(Associat)하는 방법
: ENI와 ENI가 소유한 프라이빗 IP를 지정한다.
- 탄력적 IP를 ENI에 할당한 뒤, 해당 ENI를 인스턴스에 연결하는 방법.
* 동적 퍼블릭 IP가 없는 인스턴스의 성질
- 생성 시점부터 동적 퍼블릭 IP가 없었던 인스턴스는, 탄력적 IP작업(연결/해제)과 ENI 작업(연결/분리)이 자유롭다. 단, 기본 ENI 연결/분리는 불가능하다.
- 탄력적 IP는 프라이빗 IP와 쌍을 이루브몰 모든 프라이빗 IP(기본, 보조)에 연결할 수 있다. 다시말해 ENI에 기본프라이빗 IP와 보조 프라이빗 IP가 다수 할당되 있으면 하나의 ENI에 2개 이상의 탄력적 IP를 연결할 수 있다.
- 위 2개 규칙은 인스턴스 상태와 무관하며, ENI 가 3개 이상일 때도 똑같이 적용된다.
6) 보조 프라이빗 IP 에 탄력적 IP 할당
보조 프라이빗 IP 에도 탄력적 IP를 연결할 수 있다. 또, 보조 프라이빗 IP에서 탄력적 IP만 다시 해체할 수 있지만, 탄력적 IP만 유지한채 프라이빗 IP만 해지할 수는 없다.
인스턴스에 1개만 연결하면 탄력적 IP 비용은 무료다.
8.2 컴퓨팅 서비스 응용: RDS
데이터베이스는 모든 IT 근간이다. 따라서, 무결성이 보장된 데이터를 안전하게 보관하고 신뢰하는 클라이언트가 언제든 그 데이터에 접근할 수 있다.
1) VPC를 사용하는 데이터베이스의 종류
퍼블릭 액세스 기능은 RDS에만 있다. 외부에서 RDS 인스턴스에 접속이 불필요하다면 반드시 프라이빗 서브넷에 생성해야한다.
2) RDS 서브넷 그룹의 특징
AWS에는 서브넷그룹(subnet Group)를 사용하는 서비스가 있다. 대표적으로 RDS, Redshift다. 그러나 용어만 같을 뿐 서비스마다 서브넷 그룹의 특징이 서로 다르다.
서브넷 그룹은 서브넷의 모음이다. RDS를 생성하려면 반드시 서브넷 그룹1개를 지정해야한다. 서브넷은 가용 영역에 생성되고, 가용 영역의 목적이 가용성인 것을 알 고 있다면, RDS가 왜 서브넷 그룹을 지정해야하는지 추측할 수 있다.
서브넷 그룹은 RDS 인스턴스가 놓일 서브넷들의 집합이다. RDS 인스턴스가 한 가용 영역에서 서비스를 지속할 수 없으면 서브넷 그룹에 속한 다른 가용 영역에서 서비스를 지속한다.
3) RDS 서브넷 그룹의 역할
RDS는 서브넷 그룹의 멤버 중 하나를 인스턴스 생성 위치로 선정한다. 생성 단계에서 인스턴스를 구동할 특정 가용 영역을 선택했다면 그 가용 영역의 서브넷 중 한 곳에 인스턴스가 생성된다. 단, 가용 영역에 서브넷이 2개 이상일 때 임의 선택은 불가능하다.
반면, 사용자가 가용 영역을 미지정하면 AWS는 서브넷 그룹이 포함하는 임의 가용 영역을 선택하고 RDS 인스턴스를 생성한다.
4) VPC 경계를 넘나드는 RDS : 서브넷 그룹 변경
Amazon Aurora를 제외한 모든 엔진이 서브넷 그룹 변경을 지원한다.
* 서브넷 그룹 변경 조건
- 단일 RDS 인스턴스만 서브넷 그룹 변경을 할 수 있다. 다중 AZ 인스턴스의 서브넷 그룹을 변경하려면 RDS를 단일화한 뒤 서브넷 그룹을 변경하고 다시 다중 AZ로 확장해야한다.
- 다른 VPC의 서브넷 그룹으로만 변경할 수 있다. 다시말해, 현재 RDS가 사용하는 VPC의 그 어떤 서브넷 그룹도 변경 대상으로 선택할 수 없다.
- 현재 구동 중인 RDS 인스턴스의 가용 영역이, 변경 대상 서브넷 그룹에도 포함되어 있어야 한다.
정리하자면, RDS 서브넷 그룹으로 변경시, 같은 리전의 다른 VPC에 subnet 이 생성되어 있어야 하며, 퍼블릭 엑세스 옵션이 켜진 상태라면 다른 서브넷으로 이동시에도 IGW 도 연결되어 있어야 한다.
5) 다중 AZ 배포
RDS 는 Aurora와 Aurora이외의 엔진 유형으로 구분한다. AWS가 제공하는 모든 RDS는 엔진 유형과 템플릿에 따라 방식은 다르지만 모두 다중 AZ 를 이용해 서비스 장애를 대비한다.
인스턴스 | 접근성 (엔드포인트 여부) |
RDS 엔진 | |
Aurora | Aurora 이외 | ||
기본 인스턴스 | 쓰기(W)+읽기(R) (엔드포인트 있음) |
o | |
읽기 노드 (Reader) |
읽기(R) (엔드포인트 있음) |
o | - |
동기식 예비 복제본 | 접근불가 (엔드포인트 없음) |
- | o |
읽기 추가 | o | ||
읽기 노드 | o | - | |
읽기 전용 복제본 | - | o |
6) 요약
- 인스턴스 생성 시 퍼블릭 IP 를 할당받으면 인스턴스가 삭제될 때까지 잠재적 퍼블릭 IP 상태를 유지한다. ENI 와 탄력적 IP 연결 상태에 따라 퍼블릭 IP가 반환되거나 새로 생성되 할당된다.
- RDS는 서브넷 그룹으로 가용성을 높인다. 다중 AZ를 이용해 여러 가용 영역에 쓰기와 읽기 노드를 중복 배치한다.
- RDS 서브넷 그룹을 변경하려면 변경 대상 서브넷 그룹에 기존 가용 영역의 서브넷이 생성되 있어야 한다. 서브넷 그룹 변경은 VPC를 변경하는 것이다.
'cloud > AWS Cloud' 카테고리의 다른 글
[ANS]5. 연결(1) (0) | 2023.06.08 |
---|---|
[ANS]3. 컴퓨팅 서비스 (1) | 2023.06.05 |
[ANS]2. 네트워크 공간과 그 경계 (2) | 2023.06.05 |
[ANS]1. AWS 네트워킹 개요 (0) | 2023.06.01 |
[AWS] root 계정으로 로그인하기 (1) | 2023.05.30 |