일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- springboot
- Elasticsearch
- Spring
- 스프링
- Spring Boot
- Spring Data JPA
- aws
- 쿠버네티스
- 로드밸런서
- 클라우드 컴퓨팅
- VPC
- 스프링 부트
- 알고리즘
- 클라우드
- 월미도
- 프로그래밍문제
- 자료구조
- Kafka
- 카프카
- gcp
- 스프링부트
- 인천여행
- 백트래킹
- Docker
- 오일러프로젝트
- JPA
- 코드업
- Apache Kafka
- 백준
- DFS
- Today
- Total
GW LABS
AWS 네트워크 (3) - Private 서비스 오픈하기 본문
이번 포스팅에서는 Private Subnet에 위치한 서비스들을 외부에 오픈하는 방법에 대해 알아본다. 기본적인 구조는 Private Subnet에는 외부에 노출되지 않는 서비스들을 생성하고, Public Subnet에서는 로드밸런서를 두어서 로드밸런서로 들어온 트래픽을 Private Subnet으로 연결시키는 구조이다. 이번 포스팅에서는 EKS를 사용하여 진행했지만 EC2와 로드밸런서를 직접 생성해서 트래픽을 연결시키는 방법도 공부가 필요하다.
전체 아키텍처
이번 실습의 전체 아키텍처는 다음과 같다. 이전 포스팅에서 Private, Public 서브넷을 나눴다면, Public에 위치해야 할 자원들은 NAT와 로드밸런서이다. EKS와 같은 쿠버네티스를 사용한다면 로드밸런서를 쿠버네티스 서비스를 이용해 자동으로 생성할 수 있다. NAT, 인터넷게이트웨이, 서브넷 생성등의 방법은 이전 포스팅에서 볼 수 있다.
EKS에 배포할 쿠버네티스 디플로이먼트와 서비스
apiVersion: apps/v1
kind: Deployment
metadata:
name: sample-deployment
spec:
replicas: 1
selector:
matchLabels:
app: sample
template:
metadata:
name: sample-pod
labels:
app: sample
spec:
containers:
- name: sample
image: <ECR 이미지 주소>
ports:
- containerPort: 8081
---
apiVersion: v1
kind: Service
metadata:
name: sample-service
labels:
app: sample
spec:
ports:
- port: 8081
targetPort: 8081
selector:
app: sample
type: LoadBalancer
위와 같이 서비스타입을 로드밸런서로 지정하면 쿠버네티스 엔진은 로드밸런서를 자동으로 생성할 수 있다. 여기서 주의할 점은 쿠버네티스가 해당 서브넷을 사용할 수 있다고 알려주기 위한 태그를 부여하는 것이다. 서비스가 생성될 Private 서브넷, 로드밸런서가 생성될 Public 서브넷에 각각 Key 값으로 kubernetes.io/cluster/<EKS 클러스터이름>, Value 값으로 shared라고 태그를 부여하지 않으면 EKS는 어디에 로드밸런서를 생성해야할 지 알 수 없게 된다. 이 점을 주의하면 기본적인 EKS 네트워크 구조를 구축할 수 있게 된다.
Reference
'Infrastructure > Cloud Computing' 카테고리의 다른 글
AWS 네트워크 (2) - VPC 고급 (0) | 2021.07.17 |
---|---|
AWS 네트워크 (1) - VPC (0) | 2021.07.12 |
Google Cloud StudyJam (10) - 수료 (0) | 2021.01.25 |
Google Cloud StudyJam (9) - Cloud SQL (0) | 2020.12.19 |
Google Cloud StudyJam (8) - Serverless (0) | 2020.12.16 |