- 클라우드
- 네트워크에 대한 이해
- 서버를 운영하는 능력 (주로 Linux 사용)
- Database 잘 사용해야 함
- 약간의 스크립트 작성 능력
- 클라우드의 특징에 대한 이해
- 4차 산업혁명
- Cloud는 IoT, Blockchain, Machine Learning, AI 모두 뒷받침하는 기반 기술
- 클라우드 서비스 업체
- 직접 관리
- 서버를 운영할 공간, 인력
- 서버 호스팅(Server Hosting)
- 서버 관리를 전문업체에 위탁 관리시키는 것
- 서버 자체가 담보 역할 → 렌탈 기념
- 대규모로 운영하면 단가가 내려감
- 웹 호스팅(Web Hosting)
- 웹 서비스만 해주는 방식
- 서버 1대에 여러 웹사이트 운영 가능
- 비용 절감
- Cloud
- 서버에 가상머신을 운영 (가상머신이 서버 역할)
- 웹 호스팅보다 훨씬 비용적으로 효율적
- Contaioner
- 운영체제에 Docker 설치해 운영하는 방식
- Kubernetis 이용해 운영할 시 더 효율적
- 클라우드 컴퓨팅 정의 (중요 ★★★)
- Virtualization : 가상 머신 이용해 IT 자원 공유
- IT as Utility : 전기 등 같이 필요한 만큼 사용
- Internet : 고객의 유무선을 통해 관리하게 접속
→ 서버(컴퓨팅), 스토리지, 플랫폼, 애플리케이션, 네트워크 등 인터넷 통해 빌려서 사용
- Automation : 수작업 없이 자동 처리
→ 사용한 만큼 비용 지불
- 클라우드 컴퓨팅의 특징 (중요 ★★★)
- IT 자원의 공동 사용(Multi-tenancy)
: 물리적 구별 없이 App 실행
- 사용자 셀프서비스
: IT 관리자의 간섭 없이 사용자 직접 구매, 설계, 설치 가능
- 규모의 경제
: 대용량 자원 보유 및 운용할수록 비용 절감 효과 큼
- 동적 확장성 및 사용량 기반 과금체계
: 즉시 확장/축소하고, 사용량 따라 과금
- 클라우드가 비용이 절감되는 이유(중요 ★)
① 필요한 만큼만 사용
② 고객 직접 설정
③ 대규모 : 대형 데이터센터 운영하면 더 절감
- 관제
- 서버 관제 : 서버 서비스 설정, 에러 발생 체크 및 대응
- 보안 관제 : 공격 / 악성코드 들어올 시 대응
- 교대근무 : 6시간 4교대, 8시간 3교대
MySQL Server 설치 실습)
$ sudo apt install mysql-server
$ sudo mysql -u root -p
mysql > create database rookies9;
mysql > show databases;

mysql > create user board@localhost identified by 'cyber12#$'; // 계정 생성
mysql > grant all privileges on rookies9.* to board@localhost; // 권한 부여
Gnuboard 설치 실습)
1) Database 설치
$ sudo apt install apache2
$ sudo mysql -u root -p
mysql > create database gnuboard; // gnuboard라는 DB 생성
mysql> grant all privileges on gnuboard.* to board@localhost; // 권한 부여
2) 웹서버에서 사용할 언어 설치
$ sudo apt install php php-mysql php-common php-gd php-fpm php-xml php-json php-curl git
3) 게시판 소스 다운로드
$ cd /var/www/html
$ sudo git clone https://github.com/gnuboard/gnuboard5
$ cd gnuboard5
$ sudo mkdir data // 사용자들이 업로드할 데이터 디렉토리 생성
$ sudo chmod 707 data // 누구나 가능하게 설정
$ sudo service apache2 restart // 아파치 재시작
4) 게시판 설정
- 자신의 IP(http://192.168.5.130)로 들어가면 Apache2 Default Page가 뜬다.

- http://192.168.5.130/gnuboard5로 들어가 MySQL 정보 입력

- 사진 파일을 올릴 시 올라가면 정상

- 2Tier (Client - Server)
- Server 하나에 다 설치 (웹서버와 DB서버 일체형)

- 3Tier (Client - Web Server - DB Server)

원격 관리 위해 SSH 설정 후 접속 실습)
- 우분투에서 설정
$ sudo apt install ssh
$ sudo adduser ive
pw : after
$ sudo vi /etc/sudoers
: 45번 라인에 ive ALL=(ALL:ALL) ALL 추가 후 :wq!로 종료

- 윈도우에서 접속
cmd > ssh 192.168.5.130 -l ive // (-l : login)

$ sudo apt update
- AWS
- 각자 다른 리전(Region)에서 작업
- Zone : 가상 데이터 센터
- 리전마다 Zone 3개 이상 구성
- VPC 만들 수 있는 개수 제한 때문에 리전을 따로 사용해야 함
- 스토리지(Storage)
- 데이터 보관함
- Amazon S3 (Simple Storage Service)
- Bucket 단위로 관리
- 고유한 이름으로 생성
AWS 실습)
- 서비스 > 스토리지 > S3
- 버킷 만들기
① 버킷의 이름이 중복되지 않게 고유한 이름으로 생성

② 자신 외 다른 AWS 계정의 '읽기/쓰기'에 대한 설정 활성화

③ 모든 퍼블릭 액세스 차단 해제

- 버킷에 파일 업로드
이미지 파일을 업로드 후 누구나 볼 수 있도록 ACL 액세스 제한 퍼블릭으로 교체


- 업로드한 이미지를 웹사이트에 업로드
- 윈도우10에서 cmd 열어 ssh 이용해 ubuntru에 접속
cmd > ssh 192.168.5.130 -l ive
$ cd /var/www/html
$ sudo mv index.html index.old

- AWS에서 업로드한 이미지의 속성에 생성된 객체 URL을 복사

$ sudo vi index.html
<html>
<body>
<img src="https://kkimshyrookies.s3.ap-northeast-3.amazonaws.com/cream.JPG">
</body>
</html>
을 넣어 수정하기

객체 URL → https://kkimshyrookies.s3.ap-northeast-3.amazonaws.com/cream.JPG
- 웹 사이트에서 ubuntu IP로 접속 시 업로드한 이미지 확인 가능

과제) 정적 웹사이트 호스팅
① AWS에 이미지와 index.html 파일 업로드

② index.html 파일에 복사한 URL을 추가

객체 URL : https://kkimshyrookies.s3.ap-northeast-3.amazonaws.com/cat.JPG
③ Amazon S3 > 버킷 > kkimshyrookies > 정적 웹 사이트 호스팅 편집 > 활성화 > 인덱스 문서에 "index.html"

④ index.html 객체의 URL로 접속하면 완료됨을 확인

'SK shieldus Rookies 9기 > 클라우드 보안' 카테고리의 다른 글
클라우드 보안 수업 6일차 (22/10/05) (0) | 2022.10.05 |
---|---|
클라우드 보안 수업 5일차 (22/09/30) (0) | 2022.09.30 |
클라우드 보안 수업 4일차 (22/09/29) (0) | 2022.09.29 |
클라우드 보안 수업 3일차 (22/09/28) (0) | 2022.09.28 |
클라우드 보안 수업 2일차 (22/09/27) (0) | 2022.09.27 |