
09:00 - 17:00
서울 서초구 강남대로 441 (서초동, 서산빌딩) 9층 토즈 강남컨퍼런스
cloud 개념 -> kt cloud 개념 -> kt cloud 환경에서 실습(계정 부여)
메인 강사: 신승희 강사님 (외부 강사)
보조 강사: KT Cloud 직원 (실습 보조 및 기업 질문)
수강 인원: 30명
KT Cloud의 콘솔과 계정관리 부터 Computing 까지
KT Cloud 홈페이지: https://cloud.kt.com/
루트 사용자 계정으로 로그인을 진행한다.

KT Cloud 에서 제공한 실습용 root 계정으로 로그인했다.
네비게이션 바를 통해 알림, 사용요금, 한영변환, 현재 로그인한 사용자 정보 조회가 가능하다.

현재 사용중인 Platfrom은 D1임을 알 수 있다.

1. 전체자원
자원에 대한 보유 현황: Server, Load Blaencer, NAS, CDN, 기타..
2. 생성한 가상 서버 정보: 사용중인 서버, 정지된 서버
3. 이번 달 요금
현재 기준 이번 달 예상 요금
4. Server Outband Traffic 추이
가상서버 내에서 외부로 데이터가 전송된 트래픽 조회
5. 최근 알림
KT Cloud에서의 공지나 알림, 네비게이션바 알림과 동일
클라우드 플랫폼 변경이 가능하다.

D1 오픈스택 기반의 새로운 3세대 플랫폼
제공하는 서비스 대부분 가능한 플랫폼
G2 클리우드 스택 기반의 클라우드 서비스 플랫폼.
기존부터 사용하던 플랫폼으로 주요 서비스는 동일하게 제공하지만 데이터 레이크나 AI, 컨테이너 같은 서비스 불가능
카테고리 별로 사용 가능한 서비스 정보를 나타낸다.

활성화 현재 사용중인 서비스, 검정색 텍스트로 표시
비활성화 신청 가능한 서비스, 회색 텍스트로 표시
아래는 서비스 신청 방법의 예시다.
*실제 진행은 하지 않았다.

왼쪽 세로 메뉴바의 User에 대해 알아본다.
User -> 내 계정
기본정보, 연락처 정보, 계정 설정, 보안 매니지드, 회원 탈퇴

마스킹 해제 개인정보보호 제 10호에 따라 개인 정보를 마스킹해 표시 제한 조치를 해야하므로 기본설정은 사용자 이름이나 아이디에 마스킹 되어있음->해제가능
가입증명원 발급 KT Cloud에 대한 가입 증명원(이용 확인서)필요한 경우 인쇄 가능
계정 설정에서 접속과 관련된 정보 설정

로그인 방식은 두 가지
1. 단순 ID/PW를 입력하는 방법
2. 2FA를 위해 휴대전화 혹은 이메일 OTP를 통해 추가 인증과정 로그인 방법

자원조회에서 사용중인 자원 삭제/백업 후 회원탈퇴 가능


이용금액 월별 사용금액 조회
결제정보 결제 방법(신용카드/자동이체), 청구서 수령 방법(이메일/지로) 설정
할인 할인과 관련된 쿠폰 등록
내 문의를 통해 KT Cloud 사용 시 발생하는 문제에 대한 서비스 요청
상세히 기록은 신속한 응대로 이어짐

작성예시
계정명: 이메일주소
업체명/담당자/연락처
대상: 확인 대상 서비스(ex, VM명, 방화벽, WAF, LB...)
장애증상
오류증상
영향도: (ex. 전체 서비스 접속 불가, 일부 웹 서비스 이상, 특정 기능 오류)
발생시간: YYYY-MM-DD hh시 mm분
종료시간: YYYY-MM-DD hh시 mm분
시스템 로그/오류 첨부: 파일 첨부 또는 해당 화면 붙여넣기
내 접속 이력 특정 기간을 지정하여 접속 정보 조회 가능

기본으로 제공되는 두 Tier: DMZ Tier, Private Tier
Server -> SSH Key Pair -> SSH Key Pair 생성 -> 위치설정, 이름 입력 후 생성하기

D플랫폼 서버는 SSH 키페어 기반의 접속 인증 방식을 사용
서버를 생성하기 전에 해당 계정의 SSH 키페어가 생성되어 있어야 하므로 키페어를 먼저 생성한다.
pem 파일 분실 등의 이유로 새 SSH Key Pair를 생성하게 되면 기존의 가상머신을 사용할 수 없게 된다.
SSH Key Pair 분실 시 가상서버의 스냅샷으로 새 서버를 생성한 후 새 SSH Key Pair와 함께 사용 가능하다.


Key Pair은이메일 혹은 다운로드로 제공
실습시 이메일은 등록이 안되어 있어서 다운로드를 통해 진행

생성된 SSH Key Pair 이름과 위치를 확인합니다.
Server -> Tier 생성된 SSH Key Pair 이름과 위치 확인

DMZ, Private 는 기본제공되는 최초의 Tier
실습은 DMZ Tier에 가상 서버를 생성하여 진행
Server -> Server -> 서버 생성


위치: DX-M1
Tier: DMZ
서버이름: web01
Key Pair: test-my-key
나머지는 기본값으로 그대로 설정
생성 전 월 예상 요금을 확인할 수 있으며 월 요금제가 아닌 시간당 요금제로 선택도 가능하다.
root 디스크 선택 가능 용량
Linux: 50GB/100GB, Windows 100GB/150GB
*root 볼륨은 용량 변경을 위한 Resize 기능을 지원하지 않는다.
아쉬운점은 루트 볼륨 크기가 50GB/100GB 두가지 선택사항 밖에 없다.
큰 용량이 필요한 경우 볼륨을 추가하면 되지만, 50GB 미만의 선택지는 없다.
고급 설정
UserData 사용 서버 생성 후 최초 부팅 시에 발생할 UserData 스크립트를 입력할 수 있다.
사설 IP 지정 서버 생성 시 사설 IP는 자동으로 할당되지만, 필요한 경우 지정하여 생성할 수 있다.
*지금 실습에는 고급설정은 하지 않는다.
위 설정대로 구성한 뒤 서버를 만들자마자 삭제했는데 100원 미만의 요금이 발생하는것을 알 수 있다.
바로 방화벽 구성까지하고 삭제했을 때, 조금 더 증가한 요금을 확인할 수 있었다.
Server에서 리스트로 확인 가능하다.



상태는 생성중에서 사용으로 변하면 사용 가능한 상태이다.
VM의 사설 IP주소와 Tier의 CIDR을 통해 서버가 생성된 Tier 확인할 수 있다.
Server -> Server에서 서버 정지, 재시작, 삭제, 접속설정 할 수 있다.

특정 서버 선택후 ...(숨김메뉴) 클릭하면 상세정보를 비롯하여 서버에 가능한 추가 작업 목록을 확인할 수 있다.
서버가 외부와 통신하기위해 필요한 네트워크, 방화벽 설정
서버의 사설 Port에 대한 공인 Port를 설정해본다
인바운드, 아웃바운드 방화벽 규칙을 설정한다.
Networking -> 공인 IP -> 접속설정

가상 서버의 접속 설정과 공인IP를 관리할 수 있다.
공인IP가 1개가 기본 제공되며, 필요한 경우 추가로 신청하여 사용할 수 있다.

접속설정에서 접근을 원하는 사설포트와 공인IP에서 사용할 공인포트를 지정한다.

Putty, Windows Powershell 등 SSH 접속을 위해 linux 서버는 22번 포트,
Windows Server는 3389번 포트를 사설포트에 추가해야 한다.
해당 서버를 웹 서버로 이용하기 위해서 80포트에 대한 공인포트로 적용할 값(예:10022)을 입력하고 추가
접속 설정은 Server-Networking 에서도 가능하다.
server -> Networking ->공인IP 선택 -> 방화벽

아웃바운드 규칙: DMZ_Sub/Private_Sub - external

인바운드 규칙: external - DMZ_Sub/Private_Sub

IP는 CIDR 방식에 맞게 설정
0.0.0.0/0으로 설정하면 임의의 위치에서 접속

총 4개의 규칙이 설정된것을 확인할 수 있다.
클라이언트가 KT Cloud의 가상 서버로 접속을 위한 설정 3가지
1. 클라이언트의 SSH 접속 설정
2. Private Key File(ppk 파일) 생성
3. SSH 접속 설정 및 접속 확인
PuTTY 설치: https://putty.org
PuTTY를 통해 서버에 접근하려면, PuTTYgen을 실행하여 포탈에서 다운받은 pem 확장자 파일을 ppk로 변경해 합니다.
*PuTTY gen은 PuTTY 설치에 포함
Puttygen 실행 -> Load -> pem파일 선택 -> Save private key -> ppk파일로 저장


확장자 All Files(.) 변경 후 나타나는 pem 파일 선택




파일이름: test-my-key.ppk 저장

ppk파일 생성 완료
Connetcion -> SSH -> Auth -> Credentials

Pricate key file for authentication - Browse...

아까 만든 test-my-key.ppk 열기
Session -> 공인IP / Port -> Open

myweb01로 save 하게 된다면
이름을 지정하여 정보를 저장해두면 load 해서 사용 가능하다.
2번 공인 IP는 KT Cloud
Server->Networking에서 확인 가능하다.

서버에 최초 접속 시 PuTTY Security Alert가 발생합니다.
이는 신뢰할 수 있는 인증키로의 접속인지를 확인하는 절차로 Accept를 클릭한다.

login as : 프롬프트에 계정명(예: centos)을 입력하고 로그인을 합니다.
CentOS 서버는 계정명 centos, Ubuntu 서버는 계정명 ubuntu로 접속해야 한다.

접속된 Linux 가상서버에서 “ifconfig” 명령으로 ip를 확인할 수 있다.
포탈에서 확인가능한 가상서버의 사설IP와 eth0의 IP가 동일한 것을 확인할 수 있다.
위 프롬프트에 이어서 web01 서버에 두 가지 작업을 수행한다.
1. Linux 가상서버에 Apache 설치
2. 웹 서비스 설정 및 접속 테스트
Apache 설치를 위해서 root 권한이 필요하다.
#다음에는 공백 넣어줘야한다.
sudo -i
#yum install -y httpd

설치가 완료되면 “Complete!” 메시지가 출력
다음 명령으로 Apache 웹 서비스를 시작하고 상태를 확인한다.
#systemctl start httpd
#systemctl status httpd
서버 시작 시 Apahe 웹서비스 자동 시작을 활성화한다.
#systemctl enable httpd

간단한 index.html 파일을 생성한다.
Linux 서버의 경우 /var/www/html 경로에 index.html 파일을 생성
echo 명령으로 파일을 생성한 후, ls 및 cat 명령으로 파일을 확인
echo "<h 1>Hello World from $(hostname -f)</h 1>" > /var/www/html/index.html
ls /var/www/html/
cat /var/www/html/index.html

http://공인IP:공인포트 (예)http://210.104.79.24:10022

web01 웹서버 접속 성공!!
설치
yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
yum install -y mysql-community-client
yum list installed | grep mysql
확인
systemctl status httpd
systemctl enable httpd
yum list installed | grep mysql

web01의 이미지를 만들어 web02를 생성 후 web02의 접속설정과 방화벽 규칙을 설정하기 위해 아래 3가지 과정을 진행한다.
1. 가상 서버(web01) 이미지 생성
2. 서버 이미지(web01)로 새 가상서버(web02) 생성
3. 새 가상서버(web02) 접속 설정
이미지 생성을 위해 대상 서버를 정지해야 한다.

Server->Server에서 서버 이미지를 생성할 대상 서버를 선택
정지버튼을 클릭하여 서버정지


상태가 정지로 표시되면 서버가 정지완료 되었음을 알 수 있다.
서버가 정지되어야 [이미지 생성]버튼이 활성화 된다.

해 대상 서버를 선택하고 [ⵈ]표시의 숨김메뉴버튼을 클릭
풀다운 메뉴에서 [이미지 생성]을 선택

이미지 이릉을 web01-image로 이미지 생성
Server -> Server Image 에서 상태를 통해 확인 가능하다.


이미지 생성이 완료를 확인하고 기존 web01 서버를 다시 시작한다,


web01-image를 선택한 후 서버생성을 클릭

위치, 서버 이름, 티어, 키페어, 서버 스펙을 설정하고, [생성하기]를 눌러 서버를 생성
web02 서버의 접속설정
22포트 10023
80포트 10024



Server -> Networking 에서도 작업 가능(특정 서버에 대한 접속설정 가능)
Server -> Networking

공인IP 선택 –[방화벽]을 클릭합니다.

web02 서버에 대한 ssh 접속과 웹서비스에 대한 방화벽 인바운드 규칙을 설정하
고 [추가]
web01과 동일하게 진행, Port 10023, SavedSessions myweb02


centos
sudo –I
systemctl status httpd

web01 서버의 이미지를 기반으로 생성한 web02 서버는 부팅 후 웹서비스가 자동으
로 실행 중임을 확인할 수 있다.
sudo –I
systemctl status httpd

web01 서버의 이미지를 기반으로 생성한 web02 서버는 부팅 후 웹서비스가 자동으
로 실행 중임을 알 수 있다.
index.html 파일 확인 및 서버이름 수정 (web01 → web02 )
ls /var/www/html/
cat /var/www/html/index.html
echo "<h 1>Hello World from $(hostname -f)</h 1>" > /var/www/html/index.html
cat /var/www/html/index.html


모든 과정을 제대로 수행하면 성공!

web01로 나타나는건 sql 명령문 안했을 때는 web01로 그대로 뜨는것을 확인할 수 있다.
다양한 서버 관리 메뉴를 살펴본다.
*실제로 진행은 안함
Server -> Server -> 대상 서버 -> ... -> 사양변경

변경할 사양을 선택하고 예상금액 검토 후 변경하기를 클릭
사용 중인 서버는 사양을 변경하고 자동으로 재시작
정지 중인 서버는 사양이 바로 변경되지 않고 다시 서버를 시작하면 변경된 사양이 적
용
Server->Traffic

일자별 트래픽 그래프 조회 및 표로 상세 내용을 확인

월별 검색을 기능을 통해 해당 월의 트래픽 정보를 확인

엑셀 저장 기능을 제공
생성되는 엑셀파일의 이름은 trafficlist.xls
기간 별 트래픽 기록 관리를 위해 생성될 파일명을 변경할 필요가 있다.
Server -> Log History

서버에 발생한 이벤트 조회 가능
기본으로 서버생성 이벤트에 대한 로그 조회 가능

Log History에서 서버 생성 날짜위에 마우스 커서를 올리면 옵션이 나타난다.
자원, 이벤트, 기간을 선택하여 검색가능
Log History 대상 자원: 서버, Tier, Firewall, Volumes, Snapshot, Image, IP
Log History 대상 이벤트: 생성, 변경, 삭제
8시간 강의 내용을 다 담기에는 무리가 있을 뿐만 아니라 강의 자료 또한 강사님의 개인 자신이라 판단되어 이론 보다는 KT Cloud 사용에 대한 글을 작성하고자 한다.
위 글에 이론 내용은 없지만 On-premises와 Cloud 개념에 대해 모르더라도 강사님께서 전체적인 설명과 함께 진행하기에, 처음 On-premises와 Cloud 개념에 대해 들어본 사람들에게도 강의를 추천한다. 실습시 루트계정을 제공하며 KT Cloud 환경의 대부분을 무료로 체험해볼 수 있다는것이 장점이다. 모든 과정은 가이드가 제공되어, 강의 속도에 따라가지 못하더라도 강의 자료를 통해 충분히 따라갈 수 있었다.
대부분 현업에 종사하시는 분들이 강의를 듣는것 같았다. 특히, kt cloud 직원분들도 와서 듣는다는것을 알게 되었는데, 정말 큰 동기부여가 되고 좋았다.
강의중 질문 내용들이 취업 준비생, 학생의 관점에서 질문이 아닌 현업 관점에서 질문이 진행되어 AWS나 Azure 강의와 같이 마케팅 용어만으로 이루어진 강의와 차별점이라 느껴진다.