기회가 되어 NHN Cloud를 좀 뒤적거려 봤다. 기본적인 세팅 했던 방법을 남기며 AWS와의 다른점 등을 같이 남겨두려고 한다.
계정 및 프로젝트 세팅은 다루지 않는다.
# 0. Architecture
간단하게 아래 아키텍처를 세팅하고, Public Subnet의 Bastion Instance를 통해 Private Instance까지 SSH 접속을 해보도록 하겠다.
아키텍처를 보면 알겠지만 AWS와는 벌써 다른 부분이 보인다
: Subnet은 가용 영역(AZ) 종속이 아니다.
일단 해보자! 🚀
# 1. VPC 세팅
1-1 VPC
Network > VPC > + VPC 생성
원하는 VPC 이름과 CIDR Block을 작성해준 후 생성 완료
1-2 Internet Gateway
Network > Internet Gateway > + 인터넷 게이트웨이 생성
AWS에선 IGW를 VPC에 Attach를 해 준 다음에야 Routing Table에 등록할 수 있었는데,
NHN에선 IGW를 Routing Table에 직접 Attach를 해주는 개념이다.
1-3 Routing Table
Network > Routing > + 라우팅 테이블 생성
Public, Private용으로 하나씩 만들어준다.
라우팅 방식엔 분산형(DVR), 중앙 집중형(CVR)이 있다.
공식 도큐 : https://docs.gov-nhncloud.com/ko/Network/VPC/ko/console-guide-gov/#_5
음..특별한 경우에 대해 잘 이해는 못하겠지만, 어쨌든 권고하는대로 DVR로 사용하면 될 것 같다.
인터넷 게이트웨이 연결:
연결을 하면 자동으로 0.0.0.0/0 -> igw로의 Route가 생성된다.
1-4 Subnet
Network > Subnet > + 서브넷 생성
Public Subnet (10.0.0.0/24) & Private Subnet (10.0.1.0/24) 를 하나씩 만들어줬다.
맨 위에서 말했듯 AWS와 달리 Subnet이 AZ 종속이 아니므로 AZ를 선택하는 옵션이 없다.
라우팅 테이블 연결:
Private Subnet은 Private Routing Table, Public Subnet은 Public Routing Table에 연결해준다.
1-5 NAT Gateway
Network > NAT Gateway > + NAT 게이트웨이 생성
Public Subnet에만 생성 가능하며, AWS의 EIP 개념인 플로팅 IP를 생성 한 후 붙여서 생성해준다.
다시 Routing 탭으로 돌아가서, Private Routing Table에 NAT로의 Route를 추가해주자.
드디어 VPC 세팅이 끝났다. Instance(EC2 개념)를 만들러 가보자!
#2. Instance들 세팅
2-1 Bastion Server (Public) Setting
Compute > Instance > + 인스턴스 생성
센토스 이미지랑 가용영역은 암거나 고르고, 이름 & 타입 (제일 싼거) 세팅해준 후 키페어도 생성해준다.
키페어는 생성 후 꼭 다운받아두자.
네트워트,,,,,,,,가 이해 안되는 부분이 있는데,
설정 변경을 누르면 subnet을 세팅할 수 있다.
Bastion Server니까 Public Subnet만 선택해준다.
근데......Public & Private Subnet을 동시 선택이 가능한 것 뿐 아니라, 여러 VPC의 Subnet들을 동시에 선택할 수 있다는게 많이 이해가 가지 않는다.
Instance가 가용영역에만 종속되고 VPC & Subnet에는 종속되지 않는 것인가?....그렇다면 아키텍처를 저렇게 그리면 안될것같은데................음.......잘 모르겠다. 알게 되면 업데이트 해두려고 한다.
Public Server니까 플로팅 IP도 설정해주자.
보안그룹도 생성해주자.
내 IP로부터 SSH 수신 규칙을 허용해준다.
요 보안그룹을 사용하도록 설정하고, 이대로 인스턴스 생성을 해주자.
2-2 Bastion Server 접속
인스턴스 생성 시작 후 ACTIVE 상태가 될 때까지 조금만 기다려 준다.
해당 명령을 복사한 후, 만든 keypair가 있는 폴더로 가서 실행 권한을 바꿔준다.
chmod 400 <keypair name>.pem
그 후 위에서 복사한 명령을 날려준다.
2-3 Private Server Setting
Bastion Server와 동일하게 세팅하되, 서브넷 & 플로팅 IP & 보안그룹만 다르게 간다.
서브넷 : Private Subnet 지정
플로팅 IP : 세팅 안 함 (어차피 private subnet이라 안됨)
보안그룹 : Bastion Server의 Private IP 로부터 SSH 허용 규칙 추가한 보안 그룹 생성해서 세팅
2-4 Bastion -> Private Server 접속
우선 키페어를 Bastion Server에도 복사해둬야 한다.
scp -i <keypair name>.pem ./<keypair name>.pem centos@<Bastion Server Public IP>:/home/centos
Bastion Server에 centos로 다시 접속해서 키를 확인하고, Private Server로 SSH 접속을 해보자.
Bastion때와 마찬가지로 Private Server의 접속 정보를 확인해서 SSH 명령을 복사해 날려준다.
잘 접속 되었다.
끝!
'공부 > 기타' 카테고리의 다른 글
[2023-06-15] 당근 SRE 밋업 3회 내용 정리 (0) | 2023.06.17 |
---|---|
[Sonarqube] Community Edition & PR decorate Plugin docker-compose (0) | 2023.05.17 |
[DNS] TXT 레코드와 SPF, DMARC (0) | 2022.05.13 |
[RSS] RSS란? AWS 최신 소식 Slack으로 받아보기 (0) | 2022.02.17 |
[Cloud] Cloud란? Cloud를 사용하는 이유 요약 (0) | 2021.07.15 |
댓글