4월 19일 (수) 10~17시 | 한국컨퍼런스센터
☀️ 오전 세션
NHN Cloud 교육과정
- VPC, 서브넷, 라우팅 등
- VPC 내 상품 -> NAT 게이트웨이, VPC 피어링, 내부 통신을 위한 서비스 게이트웨이
- 올해 자격증도 나온다!
- 고매출 상품 : Nofi API
- 다양한 교육이 있음!
클라우드 컴퓨팅과 NHN Cloud 소개
클라우드 컴퓨팅 이점
- 신속한 인프라 도입
- 유연한 인프라 관리
- 예상치 못한 트래픽 폭주 대응 -> 오토 스케일
- 이용한 만큼 지불하는 비용
Cloud Deployment Models
Public
Private
Hybrid
private <-> public, on-premise <-> public
Multi
- CSP 이중화 구성
- 두개 이상의 외부 클라우드를 활용
- 비즈니스 요구에 가장 적합한 공급업체에서 선택가능
Cloud Computing Type
IaaS
- OS부터 설정
- Instance, Storage, VPC
PaaS
- OS 환경구성이 미리 되어 있음
- RDS for DB, NKS(NHN Kubernetes Service)
SaaS
- 완전히 다 만들어진 솔루션
- 웹이나 앱에서 바로 접속할 수 있는 서비스
- Dooray! Contact Center
Cloud Computing 책임공유모델
- 고객(사용자)와 CSP가 함께 보안과 운영을 공동으로 책임을 분배하는 책임공유 모델을 제공
- 모든 CSP가 동일하게 얘기하는 부분
- CSP : 클라우드 서비스, IDC 운영
NHN Cloud 서비스는?
- Open Stack 기반으로 제공하는 클라우드 플랫폼
- 모든 부분을 오픈 스택 기반으로 한 것은 아님!
- 보안이 취약했던 네트워크는 내부에서 내부 기술을 이용해서 개발
- 리전별로 제공 리소스가 다르므로 꼭 확인하고 리전 선택하기
- 디폴트 리소스 정책을 꼭 확인하기
- 쿼터 제한도 꼭 미리 생각하기
NHN Cloud 요금체계
- 요금 탭에서 과금 정책 확인
- 네트워크 요금, OS을 꼭 잘 고려해야 함
- 인스턴스 서버 정지도 정지요금이 있음
- 요금계산기로 계산해볼 수 있음
- 예산관리 기능이 있음 : 예산을 설정하고, 초과 시 원하는 방법으로 알림을 받을 수 있음 (무료!)
- 가입 축하 크레딧은 1년 유효기간, 적용 가능한 커버리지가 한정되어 있음
시나리오를 이용하여 NHN Cloud 이해하기
1. NHN Cloud Console은 무엇인가요?
리전부터 선택하고 시작해야 함!
- 엔클의 차별점!
- 조직/프로젝트 관리
- 조직
- NHN Cloud 서비스를 효율적으로 사용하고 관리하기 위해 만들어진 그룹
- 회사 단위로 구성할 수 있고, 조직을 사업 단위로 구성
- 비용 측면에서도 따로 관리할 수 있는 것
- 프로젝트
- 조직당 5개까지 생성 가능
- 리소스 사용량은 프로젝트 단위로 계산됨
- 독립적으로 구분해서 사용
- 프로젝트별로 과금되고 조직별로 청구된 금액이 나옴
1. 조직 생성
2. 프로젝트 생성
3. 서비스 활성화 (Cloud Trail, Resource watcher는 자동 생성됨)
4. 조직 - 예산 관리 - 예산 추가
5. 멤버 관리
NHN Cloud 회원
이메일이 아이디
IAM 멤버
- 조직의 오너나 어드민이 조직 내 유일한 ID를 입력하여 등록
- 소유자가 IAM 멤버를 만들 수 있음
- 조직 내에서만 유효함
- 조직 서비스 이용
- 신입사원이나 외주 개발자라든지..
- ID에 설정된 이메일에서 비밀번호를 등록하면 됨
- 접속할 수 있는 별도의 도메인을 설정해주어야 함
권한
조직 권한과 프로젝트 권한
조직 권한과 프로젝트 권한은 계층 관계가 아님!
조직 권한
- NHN Cloud 회원
- 오너, 어드민, 멤버, 빌링뷰어, 로그뷰어
- IAM 회원
- 멤버 권한은 선택적으로 부여받을 수 있음
- 서비스 사용만 할 수 있도록 하는 것을 권장
프로젝트 권한
NHN Cloud 계정이 있다면 조직의 멤버가 아니더라도 프로젝트 멤버가 될 수 있음
IAM 계정은 조직에 먼저 등록이 돼야 프로젝트 멤버로 등록할 수 있음
프로젝트/서비스 이용별로 권한 따로 줄 수 있음
VPC는 Infrastructure ADMIN 권한을 추가해주어야 함
IAM에는 프로젝트 관리 권한을 안 주는 것을 권장
보안
조직 관리 - 거버넌스 설정 가능
IP ACL이나 IAM 계정 로그인 보안 설정 등
2. Cloud 서버 생성해서 접속해보기
IP
사설IP 공인IP
사설IP
회사 내부 네트워크나 학교 공용 컴퓨터 등에서 사용 가능
하나의 네트워크 같은 사설망 안에서는 유일, 다른 사설망끼리는 중복 가능 -> 서로 다른 아파트면 동과 호수는 같은 것이 있을 수 있음
공인IP
전세계적으로 유니크함 -> 주소
인터넷을 통신하기 위해서는 반드시 공인IP가 있어야 함
라우터, 공유기에 무조건 공인IP가 하나 할당돼 있어야 인터넷 통신이 가능
한국은 KISA에서 관리하고 있음
VPC(Virtual Private Cloud)
2019~
인스턴스나 로드 밸런서 같은 리소스는 격리된 네트워크가 필요해서 가상의 "사설" 네트워크 대역을 만들어주는 개체
각자 계정에서 원하는 사설 망을 만들고, 격리되게 네트워크를 구성할 수 있음
CIDR 방식, 서브넷
VPC를 만들고
용도에 맞춰서 네트워크 공간을 세분화 해야 함 -> 서브넷
서브넷은 VPC 범위 내에서 생성되어야 함
길이가 같거나 작아야 함
서브넷이 생성되면 VPC에 포함된 기본 라우팅 테이블에 자동으로 연결됨
클라우드에서는
VPC를 만들자마자 로컬 게이트웨이가 라우팅을 잡아줌
라우팅 테이블
인터넷 게이트웨이
양방향 통신(아웃바운드, 인바운드 둘 다 가능)
사설 네트워크가 외부랑 통신하기 위해서 VPC(사설망)를 여기에 연결
라우팅 테이블에 인터넷 게이트웨이로 가는 경로를 넣어줘야함
아키텍처 구성
1. 리전 선택
2. VPC 생성 -> 라우팅 자동 생성 -> 로컬 게이트웨이 자동 생성
3. 인터넷 게이트웨이 생성 및 라우팅 연결
연결해야 인터넷 통신이 됨
인터넷 게이트웨이를 생성하고 라우팅에서 생성한 게이트웨이를 연결해야 됨
4. subnet 생성
보통 DB나 웹서버 등 용도별로 서브넷을 생성
네트워크 - 서브넷 생성
Instance
기본 제공 이미지 및 기본 스토리지 용량
추가 스토리지
인스턴스 타입 변경 가능
리전
가용성 영역
플로팅 IP(공인 IP)
사설 IP는 외부에서 사용 불가하기 때문에 플로팅 IP 사용
보안 그룹
가상의 방화벽 역할
보안그룹을 열어야 됨
내부통신 할 때도 열어줘야 함 기본이 all denied
송신은 다 열어주고, 수신은 어떤 원격지에서 들어오게 할 지만 조절하면 됨
CIDR/보안그룹/내IP
Network ACL
VPC 앞 단에서 유입되는 네트워크 패킷 제어
NW ACL에서 허용했더라도 보안 그룹에서 허용되지 않으면 막히게 됨
order 번호에 따라서 순서대로 적용됨 -> 차단하고 싶은 IP를 먼저 놓고, 허용해주면 차집합 가능 (반대로 하면 차단이 안됨!!!)
ACL은 변경이 안되기 때문에 10 단위로 순서를 해야 중간에 채워놓을 수 있음
서브넷이 아님
서브넷 단위로 ACL 설정하는 것이 아님
인스턴스 생성 과정
1. 이미지 선택
2. 가용성 영역 선택
3. 인스턴스 타입 선택
4. 키페어 선택
5. 블록 스터리지 설정
6. 네트워크 설정
7. 플로팅 IP 설정
8. 보안그룹 설정
추가 설정 영역
1. 추가 블록 스토리지
2. 사용자 스크립트 : 인스턴스 생성 후 네트워크 설정이 완료되면, 스크립트 내용을 실행시킴 -> 로그는 /var/log/cloud-init-output.log에 있음
3. 삭제보호
인스턴스 생성
ping 테스트
Ping은 TCP가 아니라 ICMP를 사용함
ALL ICMP로 하고 수신 허용해주면 테스트 가능
인스턴스 템플릿
case 1: 미리 정의한 인스턴스 템플릿으로 동일한 사양의 인스턴스를 생성할 때
인스턴스 이름, OS, 스펙, 키페어, 보안그룹 등을 사전에 설정
case 2: auto scale을 사용하기 위한 스케일링 그룹을 만들 때
이미지
퍼블릭
NHN Cloud에서 제공하는 이미지
사용자
퍼블릭 이미지를 토대로 사용자가 수정한 이미지
공유
사용자 이미지를 다른 프로젝트 또는 다른 리전과 공유하도록 설정
생성 방법 -> part2
3. VPC별 시나리오 구성하기
NAT 게이트웨이
단방향만 가능(아웃 바운드만 가능)
private subnet에 nat 게이트웨이를 연결함
항상 고정된 공인 IP
온프레미스 환경일 때 소스 IP를 고정해야 되거나 그런 경우에 NAT 게이트웨이 붙임
#실습
Public Subnet과 Private Subnet 생성하고 NAT Gateway 할당하여 통신 체크하기
1. Private Subnet 생성
2. 라우팅 테이블 생성 private은 인터넷이 되지 않도록
VPC 생성시 기본 라우팅이 자동으로 생성되며, 모든 서브넷은 별도 설정이 없으면 기본 라우팅으로 설정됨
private-subnet을 서브넷에서 라우팅 테이블 변경
3. Private Subnet에 서버 생성
인터넷 게이트웨이가 붙지 않은 서브넷은 플로팅 IP 설정이 불가능함
4. 서버 내에서 업데이트 진행
5. SCP를 이용하여 pemkey 다운로드
외부에서 22번으로 들어가서
퍼블릭 서브넷에 있는 서버와 프라이빗 서브넷에 있는 서버가 사설 통신을 해야함
key는 밖에 있으니까 열쇠를 퍼블릭 서브넷에 넣으면 됨
SCP 사용
scp -i test1.pem test1.pem centos@125.6.45.216:~
private 서버 보안그룹에 접속하려는 public 서버의 사설 ip 넣어야 함
또는 보안그룹 자체를 등록 - 해당 보안그룹을 쓰는 인스턴스의 접속은 모두 허용한다는 뜻
6. NAT Gateway 할당
고정된 공인 IP를 타고 나가기 때문에 플로팅 IP를 생성해주어야 함
nat gateway를 타고 나가면 이 공인 IP로 나가는 것
private 서버에 라우팅 잡아줘야 함
7. 서버 내 yum 업데이트 진행
NAT 게이트웨이를 타고 나가게 됨!
피어링
서로 다른 두 개의 VPC를 연결해주는 것!
A <-> B <-> C 연결에서는 A와 C처럼 건너 건너는 연결되지 않고, 따로 연결해주어야 함
피어링 게이트웨이
실습)
완전히 새로운 사설망 생성 -> 논리적으로 완전 격리된 사설망임 통신 불가임 원래
라우팅에 인터넷 게이트웨이 연결
인스턴스 생성하기 192.168 네트워크로
ping test
자신의 보안그룹을 넣는 이유
webserver와 vpc2-server 서로 ping 테스트 하기 위해서
서로 사설 통신을 허용해줌
플로팅 IP 할당
서로 통신이 안 되기 때문에 피어링 연결해줘야 함
두 개의 라우팅 테이블 작업
이 범위인 애들은 피어링 게이트웨이를 타도록 생성한 라우팅 테이블을 넣어줌
퍼블릭만 뚫어줄거니까
통신이 된다..!!!
피어링 게이트웨이를 타고 통신을 함
실습) 서비스 게이트웨이와 오브젝트 스토리지 연결해 내부 통신해보기
서비스 게이트웨이를 타고 사설 통신할 수 있게 해줌
인터넷이 아니라 내부 사설망을 통해
public으로 해야 url이 나옴
스토리지 저장 공간의 단위 -> 컨테이너
이 도메인은 인터넷을 타고 가는 것이므로 서비스 게이트웨이를 통해 사설망을 통해
http://10.0.1.16/v1/AUTH_e587438ab69747699bef427bb74e9ce9/obs/user_script_nhn%20for%20Web.txt
주소를 사설 IP로 변경
http로 하고 사설망 80 통신
obs에 저장해놓은 파일을 받았다!!
obs에 서비스 게이트웨이로 사설망 붙여서 주소 변경하기
피어링을 해놔서 192.168.대도 됨
안 되는거 보고 싶으면 피어링 빼면 됨
사용한 리소스 반납
인스턴스 삭제
프로젝트 설정에서 서비스 비활성화