- EKS를 만들어 보고자 한다! 왜! CI/CD를 전체적으로 보고 싶기 때문이다! 한번 설치 해보자!
1. VPC / Subnet 설정
VPC/Subnet 설정
Region
CIDR
AZ
- ap-northeast-2a
- houstagram-subnet-public-01
- houstagram-subnet-private-03
- houstagram-subnet-private-05
- ap-northeast-2c
- houstagram-subnet-public-02
- houstagram-subnet-private-04
- houstagram-subnet-private-06
Subnet
(구성한 네트워크는 쭉 사용할 예정이므로 필요한 모든 Subnet 구조에 대해 미리 설정)
- Public
- houstagram-subnet-public-01
- houstagram-subnet-public-02
- Private
- houstagram-subnet-private-03
- houstagram-subnet-private-04
- houstagram-subnet-private-05
- houstagram-subnet-private-06
2. NAT Gateway 생성
houstagram-ngw-01
Subnet
연결 유형
탄력적 IP 할당
- 기존에 발급 받은 Elastic IP 할당
- 만약 할당 받은 Elastic IP가 없을 경우 새로 할당 받아 사용
3. Internet Gateway 생성
houstagram-igw-01
4. Routing Table
houstagram-rtb-public-01
- 라우팅 설정
- 0.0.0.0/0 → Internet Gateway
- 192.168.0.0/16(내부 네트워크) → local
- 서브넷 연결
- Public 영역의 Subnet 선택
houstagram-rtb-private-01
- 라우팅 설정
- 0.0.0.0/0 → 이전에 생성한 NAT Gateway
- 192.168.0.0/16(내부 네트워크) → local
- 서브넷 연결
- Private 영역의 Subnet 선택
6. 보안 그룹
houstagram-sg-bastion
- inbound rule
- SSH (22) 접근에 대해 특정한 IP만 접근 허용 (121.140.69.176/32 -> 내 IP 주소인데 일단 우리는 0.0.0.0/24)
- outbound rule
- 모든 IPv4 트래픽에 대해 모든 대상으로 전송 허용 (0.0.0.0/0)
- Connecting
houstagram-sg-facingalb
- inbound rule
- HTTP (80) 접근에 대해서만 모든 소스 접근 허용 (0.0.0.0/0)
- HTTPS (443) 접근에 대해서는 Cloudfront에서 HTTP로 전달받기 때문에 설정X
- outbound rule
- 모든 IPv4 트래픽에 대해 모든 대상으로 전송 허용 (0.0.0.0/0)
- Connecting
houstagram-sg-web
- inbound rule
- HTTP (80) 트래픽에 대해 houstagram-sg-facingalb 보안 그룹을 통한 접근 허용
- HTTPS (443) 트래픽에 대해 houstagram-sg-bastion 보안 그룹을 통한 접근 허용
(Bastion Host에서 kubectl 명령어로 접근 허용)
- HTTPS (443) 트래픅에 대해 houstagram-sg-web 보안 그룹을 통한 접근 허용
(Cluster Node 통신에 사용)
- outbound rule
- 모든 IPv4 트래픽에 대해 모든 대상으로 전송 허용 (0.0.0.0/0)
- houstagram-sg-web