클라우드 보안 1일차

Jh Park·2022년 9월 26일
post-thumbnail

클라우드

1) Cloud와 호스팅의 차이

Cloudhosting
가상머신 단위로 계약물리적인 컴퓨터 단위의 계약
CSP는 고객에게 내부망, 시스템 알려줄 필요 없음고객이 서버의 스펙 등에 대해 자세히 알고 계약

비용면에서의 차이

  • 직접 관리
    • 서버를 운영할 공간(월세, 전기비, 유지보수 등)
    • 서버를 운영할 인력
  • 서버 호스팅 (Server Hosting)
    • 서버 관리를 전문업체에 위탁 관리를 시키는 것
    • 서버 자체를 (담보로) 렌탈하는 개념 (월 비용만 계산)
    • 대규모로 운영하면 단가가 내려감 (월세, 전기비, 인터넷, 인력 등의 비용을 최소화 할 수 있음)
      • DACOM (LGU+)
  • 웹 호스팅 (Web Hosting)
    • 웹서비스만 해주는 방식
    • 서버 한대에 여러 웹사이트를 운영할 수 있음
    • 비용을 더욱 줄일 수 있음
  • Cloud
    • 서버에 가상머신을 운영, 가상머신은 서버의 역할을 함
    • 웹호스팅 보다 훨씬 효율적으로 비용을 더욱 줄일 수 있음
  • Container
    • 운영체제에 Docker를 설치해서 그 위에 Container를 운영하는 방식
    • Kubernetis를 이용해서 운영을 더욱 효율적으로 할 수 있음

2) 클라우드 컴퓨팅 정의와 4가지 요소 ★

정의

  1. 클라우드 컴퓨팅은 컴퓨팅, 스토리지, 플랫폼, 어플리케이션, 네트워크 등의 IT 자원들을 사용자가 소유하지 않고,
  2. 통신망/인터넷을 통해 제공하고 소비자는 필요한 만큼 빌려 쓰고, 사용한 만큼 비용을 지불(종량제)하며,
  3. 사용자가 서비스를 요구하는 즉시 바로 사용가능한 서비스 방식

4가지 특징

  • Virtualization
    가상 머신을 이용하여 it자원의 공유
  • IT as Utiliy
    전기 등과 같이 필요한 만큼 사용
  • Internet
    고객의 유무선을 통해 편리하게 접속
  • Automation
    수작업 없이 자동처리

클라우드 컴퓨팅의 특징 ★

1) Multi-Tenancy (복수 점유) : IT자원을 공유
2) Self-Service : 고객이 직접 설정을 함 (각종 비용이 절감)
3) 규모의 경제 : 더 크게하면 단가를 더 낮출수 있음
4) 동적 확장성(필요할 때 늘림/줄임)과 사용한 만큼 지불(종량제)

서버,스토리지, 플랫폼, 어플리케이션, 네트워크 등을 인터넷을 통해 쓰는 만큼 비용을 지불하여 사용

클라우드가 비용이 절감되는 이유 ★

  • 필요한 만큼만 사용할 수 있기 때문(and 오토스케일링)
  • 고객이 직접 설정(고객이 공부해야 설정 가능, 공부에 발생되는 비용은 고객사가 부담)하기 때문
  • 대규모 : 대형 데이터센터를 운영하면 비용이 더 절감됨 (지자체에서 데이터센터 유치 경쟁)

    오토스케일링(Auto Scaling)은 클라우드의 유연성을 돋보이게 하는 핵심기술로 CPU, 메모리, 디스크, 네트워크 트래픽과 같은 시스템 자원들의 메트릭(Metric) 값을 모니터링하여 서버 사이즈를 자동으로 조절

2-tier, 3-tier

  • 웹서버가 DB에 연결되는 형태를 의미

2-tier


출처 https://syhwang.tistory.com/26

3-tier

일반적으로 web서버-was서버-db서버


출처 https://syhwang.tistory.com/26

3) 실습

2-tier

1) 웹서버 설치

  • $ sudo apt install apache2

2) Database(MySQL)

  • $ sudo apt install mysql-server

  • $ sudo mysql -u root -p

  • mysql> create database gnuboard;

  • mysql> show databases;

    • 데이터 베이스 확인
  • mysql> create user board@localhost identified by 'cyber12#$';

    • 사용자 및 비밀번호 생성
  • mysql> grant all privileges on gnuboard.* to board@localhost;

    • board에게 gnuboard의 모든 테이블에 대한 권한부여
  • mysql> exit

3) 웹서버에서 사용할 언어(PHP) 설치

  • $ sudo apt install php php-mysql php-common php-gd php-fpm php-xml php-json php-curl git

4) 게시판 소스 다운로드

  • $ cd /var/www/html

  • $ sudo git clone https://github.com/gnuboard/gnuboard5

    • github에 있는 gnuboard를 통째로 복제
  • $ cd gnuboard5

  • $ sudo mkdir data

    • 사용자들이 업로드할 데이터 디렉토리 생성
  • $ sudo chmod 707 data

    • user(읽기,쓰기,실행), gruoup(x,x,x), other(읽기,쓰기,실행) 권한 변경

5) 마무리

  • $ sudo apt install net-tools

  • $ ifconfig

    • ip주소 확인(복사)
  • $ sudo service apache2 restart

AWS 실습

AWS를 통하여 데이터는 클라우드에 저장하여 웹페이지 등에 불러오도록 많이 사용하고 있음

왼쪽 상단 서비스 > 스토리지 > S3 > 버킷만들기
버킷은 S3에 저장되는 데이터의 컨테이너
Bucket과 객체 Public 설정이 되어야 인터넷에 공개 될 수 있음

  • 버킷생성
  • 객체소유권
  • 퍼블릭 엑세스
  • 버킷 버전 관리

  • 사진과 html 파일 업로드

    • 권한 설정
    • 파일 업로드

0개의 댓글