j-cloud 소개및 - github pages v3.pdf · •소개및사용법: •문의: [email protected]...
TRANSCRIPT
J-Cloud소개및
수업과제에서활용법2018 컴퓨터공학총론
1
Today we will…
• 웹서버, 홈페이지, 클라우드스토리지서비스구축
• LAMP stack, Wordpress, Owncloud
• (+) 개인도메인연결
• In 50 minutes. Possible?
• …100분으로변경
• Contents
1. J-Cloud 소개
2. 계정확인및인스턴스생성
3. Wordpress 설정
4. Owncloud 설정
5. 개인도메인연결
2
1. J-Cloud 소개
3
Cloud
• 클라우드란?
• “공공시설을쓰는것같은컴퓨팅환경” : 필요할때, 필요한만큼만사용
• 각개인이소유할필요가없음
• 분산컴퓨팅환경을기반하여, 각노드에속한컴퓨팅자원 (CPU, 스토리지,
네트워크) 등을가상화해관리함
• 가상자원을사용자가필요로하는만큼할당해줌
• 클라우드컴퓨팅: NIST 정의 (미국립표준기술연구소)
• 정보자원을직접구매하지않고전기나수도처럼서비스형태로클라우드센터로부
터유무선네트워크를통해필요한만큼만공급받아사용하고사용료기준으로임
차하는방식
4
Why?
• 왜학부생들에게중요한가?
• 2018년설문결과: 전세계 550개기관중 73% 가자사서비스/인프라를
클라우드로이전했다고답함 (IDG Communications)
• 기업인프라최적화를위해클라우드이전이활발함
• 네이버, 다음카카오, NHN 등국내 IT 기업들은이미오래전에완료함
• 졸업후, 여러분들은클라우드환경에서개발하거나,
• 클라우드환경을운영하거나,
• 클라우드그자체를연구/개발하는일을할가능성이큼
• 학부에서실습, 과제를수행하기에도편리한환경제공
• 컴퓨터없이실습하기어려운서버구성, 웹서비스구축등의실습도
쉽게수행해볼수있음
5
J-Cloud
6
소개
• 컴퓨터공학부의교육및연구용클라우드서비스
• http://jcloud.chonbuk.ac.kr
• 소개및사용법: https://jcloud-devops.github.io/
• 문의: [email protected]
• 구성 (2018년 10월기준)
• 서버 3대
• Xeon E5 계열물리코어총 38개 (VCPU는 1000개이상생성가능)
• 메모리총 384GB
• All-flash storage 8 TB (10G 네트워크로내부공유중)
• (+) 32TB 백업머신
• OpenStack (Ocata) 를이용해클라우드서비스제공
7
기본기능
• 가상머신,네트워크, 스토리지서비스등의 Infra제공
• 가상머신 (VM)
• 원하는사양의 VM을만들어사용할수있음 (예. 2 vCPUs, 2GB Memory, 20GB SSD)
• Linux: Ubuntu 16.04, CentOS, 기타필요한운영체제제공가능
• SSH, VNC, XRDP 등으로 CLI, GUI 등제공
• Windows: Server 2012 R2 STD
• 원격데스크탑연결제공
• 네트워크
• 공인 IP 부여가능: 현재 127개 IP 확보 (약 40개사용중)
• VM 간의가상네트워크구성가능, 각네트워크및 VM 별로보안설정가능
• 스토리지
• VM에기본탑재스토리지제공및추가볼륨제공가능
• 필요한경우, 초고속 NVMe SSD 사용가능 (전체 640 GB)
8
활용방안
• 가상화실습실운영
• 학과수업시실습을위한가상머신제공
• 예) 2017년운영체제과제수행 (약 40대가상머신활용)
• 학과내각종홈페이지서버운영
• 연구실, 동아리홈페이지등
• 현재 운영체제연구실홈페이지, ALPS 동아리, 리트머스2 홈페이지운영중
• WHO 동아리이전계획
• 기타서비스운영
• IDE 서비스: 웹기반개발환경제공
• 컴파일서버: 컴파일용 Ubuntu 머신제공 (56 cores, 32GB memory, NVMe SSD)
• GPGPU 서비스: 고성능 GPU 2기를인공지능등실습할수있는서비스(준비중)
9
J-Cloud 사용시장점
• 학교서버에있고공인 IP가있는내가상머신
• 빠르고, 항상켜져있다
• 내컴퓨터/ 내노트북이아니다
• 어디서나접속가능하다 (집/학교어디서든 RDP,SSH 이용)
• 실습실어떤자리에앉든, 똑같은환경, 똑같은파일들을사용할수
있다.
• 단, 과제수행결과등중요한파일은따로백업할것
• 서버가필요한모든실습을진행해볼수있고, 관심이있는경우,
OpenStack 구축및운영에참여할수있음
10
We are J-Cloud DevOps!!
• J-Cloud 의운영과개발을담당하는팀
• WHO 동아리학생들
• 운영체제연구실 (교수및학생)
• 그외관심있는학생들도참여가능
• (DevOps 란?)
• 최근 IT업계의새로운조직문화
• 시대의변화와고객의요구에빠르게대응하기위해,
• 고객과접하는운영팀, 실제 SW를개발하는팀을결합
• Development + Operation
• 핵심: 단순성, 신속성, 효율성 (key technology: automation)
11
2. 계정확인및인스턴스생성
12
사용방법• jcloud.chonbuk.ac.kr 접속
• “JCloud소개및사용방법바로가기”
• User guide 에서아래참조하여사용
• 인스턴스생성방법
• SSH 접속 Xshell, putty 등사용
• 수강생들의계정은모두생성해놓은상태
• ID: cs학번
• PW: 학번
• 예) cs41983//41983
• 로그인후, 반드시비밀번호변경
• 다음슬라이드참고
• 문의: [email protected]
13
암호변경
* 로그인시, 에러메시지가나오지만,문제없음
①설정클릭
14
암호변경②메뉴오픈
③클릭
15
인스턴스(가상머신)만들기
• 인스턴스이름: ID 와동일하게 cs학번
• 1인당 1대만만들어서사용할것
• 가용구역: “Any Availability Zone”
• 부팅소스: 이미지, “wordpress.and.owncloud.v3” 선택
• (새로운볼륨 “아니오”)
• Flavor: “cs2018.flavor”
• 키페어: 생성해서꼭다운로드받고, 파일잘관리할것
• J-Cloud 상의가상머신에접속할때사용하는인증파일
• 그외는모두기본설정사용
• (위의설정을참고하여, 다음슬라이드들을따라서진행할것)
16
1. J-cloud 로그인창에접속하세요.(주소 : http://jcloud.chonbuk.ac.kr )
2. 자신이받은계정을작성하고“CONNECT”를눌러로그인하세요.
3. 로그인에성공하면메인화면으로이동됩니다.
19
4. 인스턴스를생성하기전에자신이속한프로젝트가올바른지확인해주세요.
* 본수업에서는 cs2018
20
5. “프로젝트”에서 “인스턴스"를눌러주세요.
21
6. “인스턴스”를누르면인스턴스화면으로이동됩니다.
22
7. “인스턴스시작"을눌러주세요.
23
8. 인스턴스시작화면으로이동됩니다.
24
9. 생성할인스턴스의이름을작성하고“NEXT”를눌러주세요.
* 인스턴스명은계정과동일하게, “cs41983”
25
10. “아니오”로유지
26
12. 인스턴스에설치할이미지를골라오른쪽의 “화살표”를눌러주세요.
27
13. “NEXT”를눌러주세요.
28
14. 원하는 Flavor을골라 “화살표”를누르고“키페어”를눌러주세요.
29
15. “키페어생성“ 을눌러주세요.
30
16. 키페어이름을작성하고 “키페어생성"을눌러주세요.
31
17. 키페어가생성되면키페어를다운받고,Allocated목록에생성한키페어를“화살표”를눌러올려주세요.
다운받은키페어파일이없으면생성한인스턴스에접속할수없으니잘보관해주세요.
키페어설정이끝나면“인스턴스시작"을눌러주세요.
32
18. 인스턴스가생성되면인스턴스목록에자신이생성한인스턴스가목록에추가됩니다.
33
19. 인스턴스이름을클릭하면해당인스턴스의정보를확인할수있습니다.
34
생성후, ssh를이용해접속(생략)
• jcloud.chonbuk.ac.kr 접속
• “JCloud소개및사용방법바로가기”
• User guide 에서아래참조
• SSH 접속 Xshell, putty 등사용
• 우분투시스템의 default ID는 “ubuntu”
• 패스워드없음. 본인의 Keypair 를이용해로그인해야함
• J-Cloud 인스턴스메뉴에서콘솔을통해접근도가능함
• 인스턴스내에서패스워드를사용해로그인할수있는계정을추가하여야함
• 느리고불편하기때문에권장하지않음. SSH를사용할것
35
내가뭘한거지?
• 학교안에내컴퓨터가한대생겼다!
• 2개의 CPU와 1.5GB 메모리, 20GB SSD를가진가상머신을생성하고
• 학교에서관리하는 Public IP를하나부여받았고,
• 해당가상머신에미리준비된 Ubuntu 기반이미지를설치하였음
• Ubuntu: 리눅스배포판의한종류
• 부팅완료까지약 1-2분이상소요
• 많은인원이다같이진행하므로조금더오래걸릴수있음
36
3. Wordpress설정사실이미다해놨음
37
Wordpress
• WordPress: 대표적인 CMS (Contents Management Solution)
• 사용자는컨텐츠에만집중할수있도록,
나머지요소들을제공하고쉽게관리하게하는시스템
• 웹페이지, 블로그등을손쉽게제작하고,
이후사용자는컨텐츠를생산해올리는것에만집중할수있음
• 다른 CMS 예: Joomla, Drupal, 드림위버, Wix, XE (제로보드로시작),
GnuBoard
• 특징
• Apache/PHP/MySQL (APM) 등일반적이고대중적인기술들에기반:
대부분의환경에쉽게설치및운용가능함
• 오픈소스기반: 필요에따라쉽게수정해사용가능
38
내인스턴스의공인 IP 주소확인및접속
메모장을켜서메모해두자
39
Wordpress설정화면: 언어
40
Wordpress설정화면: 사이트정보
41
Wordpress설정화면: 로그인하면끝!
42
홈페이지보기. 현재화면은글을쓰고, 사이트를꾸미는관리자화면
웹사이트확인
43
글을써보자
• 글 -> 새로추가
44
글을써보자
• 글을작성하고, 오른쪽옆의파란색공개버튼클릭
45
새글확인
• 사이트방문을클릭해화면확인
46
사이트꾸미기
• 테마변경해보기
• 외모 -> 테마 -> 새테마추가하기
• 고르고, 설치하고, 활성화하고, 홈페이지화면다시확인하기
• 사용자정의하기를통해보다다양한설정가능
• 플러그인설치하기
• 플러그인 -> 새로추가 -> “Statistics” 검색 -> “WP Statistics” 지금설치 ->
활성화
• 왼쪽메뉴에 Statistics 추가된것을확인하고눌러보기
• Wordpress는많은사용자를기반으로다양한테마와플러그인을제
공하여, 각분야의홈페이지를빠르고완성도높게만들수있음
47
WP Statistics
48
플러그인하나더
• 보안플러그인: All In One WP Security & Firewall
• 학교외부에서로그인하기위함
• 학교는내부네트워크를보호하기위해, “login”이란문자열이포함된주소
로접근을허용하지않음
• 워드프레스관리자로그인을위해서는 wp-login.php파일을열어야함
• Well-known vulnerability of Wordpress : 잘알려진보안문제발생
• 따라서로그인을위한다른방법이필요함
• 그외에도보안문제를종합적으로진단하고설정할수있음
49
로그인경로설정
• 설치, 활성화한다음,
• 왼쪽메뉴에서WP Security 아래, Brute Force 선택
• Rename Login page
• “Enable Rename Login Page Feature:” 오른쪽버튼에체크
• “Login Page URL:” 오른쪽박스에사용할이름입력
• master, admin 등
• “Save Settings” 클릭
50
로그인경로설정
51
5. Owncloud설정이것도사실거의다해놨는데…
52
Owncloud
• 클라우드스토리지서비스
• 인터넷상의 '어딘가'에위치하는저장공간에내정보를보관해두고,
이것을내가필요할때각종단말기를통해서불러올수있는기술
• 장점: 뛰어난접근성, 일반저장매체(HDD, DVD)보다안정적, 다른사람과
쉽게공유가능
• 단점: 인터넷이필요함, 일정용량이상은유료
• 예) Dropbox, MS Onedrive, Google drive, Naver drive, AWS S3, Baidu, etc.
• 컴퓨터전공이라면…중요한파일은클라우드에저장하자
• Owncloud
• 자체클라우드스토리지서비스를구축해주는오픈소스 SW
• 오픈소스!? EU-GDPR 보안규약준수. Enterprise 수준서비스제공가능
• https://owncloud.org/
53
Owncloud접속해보기
• http://203.254.143.135/owncloud
• IP 는본인 IP로변경해서사용
54
Owncloud설정
• 원격데스크톱으로접속
(username: user, password: user1)
55
Owncloud설정
56
Owncloud설정
• 어? 이게뭐지?
• 현재보는화면은 J-Cloud 위에동작하는본인의웹서버에접근한것
• 유닉스기반서버는보통 SSH console로접근해 CLI를이용해서제어함
• 모르는용어들은찾아볼것!
• 현재는리눅스의 X-Window 시스템을 XRDP 를이용해접근한것
• XRDP, Mate찾아볼것
57
Owncloud설정: config.php파일수정
• 아래와같이 XTerm 이란프로그램을찾아수행시키면, 왼쪽창이뜸
• 왼쪽 XTerm 창에 “sudo pluma” 입력 -> 암호는 user1
• Pluma 는텍스트에디터이고, sudo 는이를관리자권한으로수행한다는뜻
58
Owncloud설정: config.php파일수정• 다음경로의파일을찾아 Open: /opt/owncloud-10.0.10-0/apps/owncloud/htdocs/config/config.php
• Recently Used 를체크해보자.
59
Owncloud설정: config.php파일수정
여기를본인의 IP 주소로수정할것
60
Owncloud설정: config.php파일수정
요렇게
61
사용해보자
• 실습실브라우저에서접속해, 아무파일이나업로드
• 로그인후, 파일윗쪽의 + 버튼클릭해서업로드
• 혹은파일을드래그앤드롭
• 휴대폰브라우저에서접속해서확인
62
사용해보자: 공유하기
• 공유버튼을눌러 sharing -> public links -> 암호및만료날짜설정
63
사용해보자: 공유하기
• 다시 Public links 에서 clip board로주소복사후, 확인
64
주의할점
• 비밀번호바꾸자! 너도나도 user/user1
• Owncloud는백업용이아님
• 안정적인데이터백업을위해서는상용클라우드서비스를이용할것
• 현재생성한인스턴스는수업실습용
• 이번학기가끝난후, 모두삭제됨
• 실제사용을위해서는 [email protected] 로개별신청할것
• 현재 IP주소가충분하지않아, 모든학생들에게서비스를제공하는것은어
려운상황임
• J-Cloud 정기점검시간
• 수요일 12:00 ~ 14:00
65
5. 개인도메인연결
66
IP? 도메인?
• IP: 인터넷에서의컴퓨터번호
• 예) 210.117.191.10
• 도메인: 번호에이름을붙인것
• 예) www.chonbuk.ac.kr
• 도메인은어떻게관리되는가?
• 국제인터넷주소관리기구(ICANN) 에서관리하고,
도메인등록대행자(대행업체)에권한을위임함
• 사용자는보통대행업체에연간비용을지불하고도메인을이용
• 도메인등록기관
• 특정최상위도메인을가진도메인을판매할권리를소유한기관
• 국가기관: 한국인터넷정보센터(KRNIC)
• .kr을관리함67
나의개인도메인을사용해보자
• 무료도메인제공사이트
• 검색해보면많은사이트가나옴. 아래사이트를예제로사용
• https://www.freenom.com/en/index.html?lang=en
• 원하는도메인이름을넣어서검색 -> Click “Check availability”
68
개인도메인신청: 무료도메인선정
• 원하는뒷주소를선택하여 “Get it now!” -> Check out
69
개인도메인신청: 무료도메인선정
• Use DNS
• Use Freenom DNS Service
• 두칸모두에 IP 주소입력
• 12개월무료로변경 (1년이후에갱신하면계속무료로사용가능)
70
개인도메인신청: 마무리
Verify click
71
개인도메인신청: 마무리
72
개인도메인신청: 마무리
73
개인도메인신청: 로그인해서확인해보기
• 입력한이메일계정과패스워드로 Freenom 로그인
• Services->My domains 에서확인
• Manage domain 을통해설정변경가능
• 도메인은그대로두고, 다른 IP로변경할수있음 (서버이전시 )
74
접속확인
• DNS 설정후, 변경내용이반영되기까지약간의시간이필요함
• 왜그럴까? 네트워크시간에 DNS 를배워보자
• 전세계에있는 DNS 서버들에정보를전달하는데시간이필요하기때문
75
FYI. 왜무료가?
• .kr , .com과같은최상위도메인은본래경쟁이치열함
• 그런데왜 .tk .ga 같은최상위도메인이무료로나올까?
• 인터넷환경이열악한아프리카등의국가에서자신들에게할당된
최상위도메인을해외에판매하여수익을내고있음
• .tk = 남태평양 Tokelau
• .ga = 가봉
76
하나더해볼까? (고급)
• 현재등록된도메인은 wordpress로바로연결됨
• Owncloud로바로연결되는또다른도메인을사용할수있음
• chans.tk -> http://203.254.143.135
• chanscloud.tk -> http://203.254.143.135/owncloud
• 순서
• chanscloud.tk 추가신청
• Freenom 로그인상태에서 Services->Register a new domain
• 원격데스크톱연결해서 Apache 웹서버설정변경 (VirtualHost)
• 수정할파일: /opt/owncloud-10.0.10-0/apache2/conf/bitnami/bitnami.conf
• Apache 재시작
• /optowncloud-10.0.10-0/ctlscript.sh restart apache
77
VirtualHost원래설정
• 일단기존파일은백업을해둘것 (리눅스의 cp 명령을통해파일복사)
$ cp bitnami.conf bitnami.conf.bak
78
VirtualHost추가내용
* 앞의 VirtualHost 설정내용을그대로복사하고, 아래박스부분만수정
79
VirtualHost최종
다음과같이 80 포트에대해두개의 VirtualHost 설정이함께있으면완료
80
Owncloud설정파일도변경
요렇게
81
아파치웹서버재시작
• XTerm 이용
• cd /opt/owncloud-10.0.10-0
• sudo ./ctlscript.sh restart apache
• (암호입력: user1)
82
워드프레스주소변경
83
완료!
84
완료!
85
We are J-Cloud DevOps!!
• J-Cloud 의운영과개발을담당하는팀
• WHO 동아리학생들
• 운영체제연구실 (교수및학생)
• 그외관심있는학생들도참여가능
• (DevOps 란?)
• 최근 IT업계의새로운조직문화
• 시대의변화와고객의요구에빠르게대응하기위해,
• 고객과접하는운영팀, 실제 SW를개발하는팀을결합
• Development + Operation
• 핵심: 단순성, 신속성, 효율성 (key technology: automation)
86
과제
• 오늘수행한내용의결과물
• Domain 2개: 홈페이지, 클라우드 (e.g. http://chans.tk/ )
• 캡처화면 2개
• 홈페이지관리자화면 (Domain이함께보이도록. p44 참조)
• 클라우드 public link 생성화면 (Domain 확인할수있도록. p64 참조)
• 제출: 스마트학습관리시스템
• https://kedilms.jbnu.ac.kr
• 글내용에 Domain 2개쓰고,
• 캡처파일들은압축하여 1개의파일로올릴것
• 기한: 11/16 (금요일) 23:59
• 이후 J-Cloud 에서모든인스턴스삭제됨
87