[Cloud]

1=1·2023년 12월 23일
0

SK shieldus 16

목록 보기
4/10

클라우드란 ?

  • 클라우드란 인터넷으로 접속할 수 있는 환경
  • AWS는 크라우드 컴퓨팅을 제공하는 서비스
  • 온프레미스란 자사에서 서버 등을 구축하는 것이다.

가상화란?

  • 소프트웨어처럼 구축하는 기술

컴퓨터가 어떤 작업을 하려면 물리적인 메모리와 하드 디스크, OS 등 다양한 부품이 필요한데, 이를 소프트웨어로 대체하는 것이 가상화 기술이다.
가상 서버는 물리 서버 1대 위에 게스트가 되는 서버 여러대를 가상으로 생성한다. 본래 서버에 필요한 물리적인 부품을 가상으로 생성하여 가상 서버로 만드는 것이다.
물리 서버에 경우 대수를 늘리려면 서버(PC) 자체가 여러대 필요하지만 가상 서버의 경우 물리서버 한 대에 가상 서버 여러대를 생성 할 수 있다. 소프트웨어 처럼 구축하기 때문에 서버 복제가 쉽고 대수를 늘리거나 줄이기도 쉽다.

분산처리란?

  • 서버 여러대에 분산하여 처리하는 기술

클라우드는 접속을 분산처리하여 서버 1대의 부담을 줄이고 서버가 응답할 수 없거나 다운되는 사태를 막는다. 서버 여러대에 분배하는 장치를 로드 밸런서(LB) 라고 하는데 로드밸런서는 각 서버를 확인하여 부하를 분산한다.


클라우드 서비스 제공 형태

1. SaaS ( Software as a Service )

인프라나 플랫폼 뿐만 아니라 애플리케이션 까지 제공한다.

  • 편리한 반면 자유도가 낮다
  • 바로 사용할 수 있기 때문에 작업량이 적다

2. PaaS ( Platform as a Service )

플랫폼까지만 제공하므로 OS가 설치된 서버에 사용자가 애플리케이션 등을 설치해서 사용하여야 한다.

  • 애플리케이션을 마음대로 설치 할 수 있지만 대응하지 않는 어플리케이션도 있다
  • 서버 관리에 대한 지식이 필요하다

3. IaaS ( Infrastructure as a Service )

인프라만 제공하는 서비스로 네트워크나 서버 머신 등을 제공한다.

  • 사용하려면 세팅이 필요하다


서버란?

어떠한 서비스를 제공하는 것

| ex.
웹기능을 제공한다 = 웹서버
데이터 베이스 기능을 제공한다 = 데이터 베이스 서버

<서버용 OS>
컴퓨터를 움직이기 위한 소프트웨어로 하드웨어와 OS 위에서 동작하는 소프트웨어 사이에서 중간 역할을 한다.
Amazon EC2 에서 서버는 인스턴스 로 생성된다. 인스턴스는 '실체'라는 의미이며 실제 가동되고 있는 가상화 컴퓨터를 말한다.

-> AWS는 서버가 인스턴스로 생성된다

서버에 필요한 요소

항목내용
CPUPC의 두뇌라고 할 수 있는 부품이다. 제어, 연산 등의 처리를 한다. 프로그램의 실행은 CPU가 담당한다
메모리(메인 메모리)일시적인 기억 장치이다. CPU에는 기억 장치가 없기 때문에 프로그램을 실시할 때 데이터의 저장장소로 사용한다. 사용자가 입력한 데이터, 파일읽기, 네트워크 통신 읽기 등을 처리한다
메인보드전자회로 기판으로 CPU 및 메모리, 스토리지를 연결한다.
스토리지보조기억장치로 HDD, SSD등이 있다. 메모리에 저장된 내용은 전원이 꺼지면 지워지기 때문에 영구적으로 남기고 싶은 데이터는 스토리지에 저장한다
OS컴퓨터를 움직이기 위한 시스템으로 하드웨어와 OS 위에 동작하는 소프트웨어 사이에서 중간 역할을 한다.

웹서버의 구조

HTML이나 이미지 파일을 저장하고 있는 것은 웹서버이다. 웹 사이트를 열람할 때 웹 브라우저로 보고 싶은 웹 사이트의 URL로 접속하면 웹서버에서 해당하는 파일을 웹 브라우저로 보낸다.
웹 브라우저가 HTML 파일이나 이미지 파일을 웹 페이지로 구성하고 사용자가 해당 URL로 접속하여 이미지 파일을 요청하면 해당하는 HTML 파일이나 이미지 파일을 전달한다.

  • 대표적인 웹 서버용 소프트웨어는 Apache나 Ngix가 있다.

웹사이트 공격 방법

항목내용
멀웨어유해한 의도로 만들어진 악성 소프트웨어나 악성코드이다. 바이러스, 트로이 목마, 웜, 봇,키로어, 백도어 같은 종류가 있음
XSS크로스 사이트 스크립팅이라고 하며 방문자의 웹브라우저에 악의적인 스크립트를 심는 공격이다.
CSRF 사이트간 위조 요청이다. 일명 이미지 태그공격이라고 하는데 사용자의 의지와 무관하게 공격자가 변조한 폼의 데이터를 특정 서버에 요청하여 처리하도록 유도하는 공격
SQL 인젝션 SQL문을 송신하여 데이터 베이스에 부정한 조직을 하는 공격이다
DoS 공격표적 서비스에 부하를 발생 시켜 서비스를 중지시키거나 서비스를 방해하는 공격이다.
패스워드 크래킹서버의 패스워드 파일에 접속하거나 전송되는 패스워드 도용을 통해 패스워드를 알아내는 공격

LAN

회사나 가정에서 PC나 서버를 네트워크에 연결하여 상호소통이 가능하도록 하는 방식

  • 유선 LAN : 네트워크 케이블을 유선으로 연결한 네트워크

  • 무선 LAN : 무선으로 연결한 네트워크


LAN을 구성하는 기술

항목내용
라우터네트워크 출입구가 되는 부분에 설치되는 기기이다. 일방향으로 들어온 데이터의 목적지를 확인하고 목적지에 가까운 다른쪽 네트워크에 데이터를 전송한다.
허브네트워크의 배선을 분할하는 기기이다. 같은 네트워크의 다른 단말기에 데이터를 전송한다.
FW (Fire Wall)들어오고 나가는 데이터를 확인하고 통신 여부를 조정하는 장치이다.
DMZ비무장 지대라고 하며 인터넷과 같이 외부 네트워크와 사내 네트워크의 중간에 설치하는 네트워크이다. 어느쪽에서든 접속이 가능한 서버를 설치한다
DHCP 접속이 되어있는 단말기에 자동으로 IP 주소를 분배하는 방식이다.
서브넷한 네트워크를 작게 분할한 네트워크이다.

IP 주소란

  • 인터넷 상에서 서버나 네트워크, PC 등 호스트를 구별하는 주소나 이름표

  • 웹사이트를 볼때나 데이터를 송수신할때 사용
    IP 주소는 네트워크에 접속되어 있는 한 호스트나 1대에 최소 1개가 필요하다. 개인적으로 사용할 경우 유동적으로 할당되는 것이 일반적이나 서버는 고정해두지 않으면 사용자가 접속할 수 없게 되므로 고정해야 한다.

    DNS와 도메인

    DNS란 URL에 포함된 이름에 해당하는 서버의 IP 주소를 알려주는 방식이다. 열람자는 URL로 접속한다고 생각하지만 실제는 DNS가 백그라운드에서 도메인명에 해당하는 IP 주소를 확인하고 그 IP 주소를 가진 서버에 접속하게 된다. 이로 인해 열람자는 URL만으로 해당 서버에 접속할 수 있게 되는 것이다.


EC2란?

컴퓨팅 용량을 제공하는 서비스이다. 서버에 필요한 세트를 클라우드에서 빌릴 수 있다. EC2는 매니지드 서비스가 아니기 때문에 서버 및 네트워크 운영은 AWS가 담당하지만 OS를 포함하여 필요한 소프트웨어는 사용자가 직접 설치하고 운영해야 한다.

  • 바로 생성하고 바로 삭제할 수 있기 때문에 불필요한 리소슬르 유지할 필요가 없다.
  • 관리 콘솔에서 작업할 수 있다.

EC2 서비스의 기능

항목내용
인스턴스AWS 클라우드에 생성한 가상 서버를 의미한다. EC2는 AMI로 몇번이고 같은 구성의 서버를 생성할 수 있기 때문에 생성한 서버를 인스턴스라고 칭한다.
AMI 가상 이미지를 말한다. 인스턴스를 생성하는 기준이 되는 금형
키 페어 인스턴스에 접속 할 때 인증을 위해 사용하는 키
EBSAWS 클라우드에서 사용할 수 있는 스토리지 이다. 인스턴스 스토리지로 사용한다.
보안그룹 가상 방화벽으로 1개 이상의 인스턴스 트래픽을 제한한다.
Elastic IP정적 (고정) IPv4 주소이다

오토스케일링 이란?

서버의 액세스 상태에 따라 서버 대수를 늘리거나 줄이는 기능

Amazon S3란?

스마트한 객체 스토리지 서비스라는 뜻으로 여기서 객체 스토리지는 데이터를 객체 단위로 관리하는 형식을 말한다. 웹 서버나 회사내 파일 서버와 같이 인터넷 상에 데이터를 저장하는 장소를 제공해주는 것이다.

  • 정적 웹 사이트를 호스팅 할 수 있다.


객체와 버킷 ( : 파일과 파일을 저장하는 장소 )

윈도에 드라이브와 같은 것이고 객체는 파일과 같은 것이다.
S3는 객체 스토리지이기 때문에 폴더와 디렉토리 같은 개념이 없다 객체는 버킷에 계층 구조가 아닌 병렬로 배치된다.

VPC란?

네트워크 이다.
서버(인스턴스)가 어떤 환경에 설치되어 있는지, 인터넷에 연결해야 하는지에 대한 설정이 필요하다. vpc 설정할 때 중요한 것은 인터넷 연결 여부와 오토 스케일링 이다. 인터넷에 연결해야 한다면 인터넷 게이트웨이를 설정해야하고 오토스케일링을 설정해야 한다면 서버가 자동으로 늘어나기 때문에 IP 주소를 많이 확보해 두어야 한다.

  • 기본 VPC는 서브넷과 인터넷 게이트웨이가 기본적으로 구성되어 있다.

VPC 사용절차

1. AWS Login

  • 리전 선택 후 관리 콘솔에 접속
  • VPC 대시보드에 접속

2. VPC 생성

  • VPC 이름, CIDR ( IP주소 할당 방식 ) 블록 설정
  • 테넌시 (하드웨어 점유 여부) 설정

3. 서브넷 설정

  • 서브넷 이름, 대상 VPC, 가용 영역, CIDR 블록 설정

4. 인터넷 연결

  • 인터넷 게이트웨이 생성

  • IGW, VPC 연결

  • 라우팅을 설정한다.


네트워크와 라우팅

네트워크란 PC 여러대가 서로 통신할 수 있도록 연결되어있는 상태
회사처럼 PC가 여러대 있는 환경에서 PC를 일대일로 연결하려면 선이 굉장히 많아질 것이며 현실적으로 구축이 불가능한다. 그래서 데이터를 라우터로 보내고 라우터가 목적지로 보내는 방식이 필요한테 이를 라우팅이라고 한다.

IP 주소와 게이트웨이

목적지에 데이터를 보낼때 목적지의 IP 주소를 지정한다. 그리고 데이터를 우선 네트워크 사이를 연결하는 라우터로 보낸다. 데이터를 받은 라우터는 사진의 네트워크내 목적지가 있는지 확인하고 목적지가 있다면 데이터를 그 목적지로 전달한다. 목적지가 없다면 다른 라우터로 전송한다.
라우터는 네트워크의 관문에 위치해있기 때문에 관문이라는 의미로 게이트웨이라고 한다.

  • LAN에서 인터네스올 데이터를 전송할때 LAN 내부의 출입구가 되는 것이 게이트웨이인데, 게이트웨이는 기기의 역할을 말하며 실제 기기는 라우터이다. LAN에서 전송되는 데이터를 인터넷으로 보내고 인터넷에서 들어오는 데이터를 목적지 PC로 전송한다.

NAT 이란?

: 다대다 이며 공인 IP 주소와 사설 IP 주소를 변환 한다.

IP 마스커레이드를 사용하면 내부에서 외부로 나가는 것은 가능하지만 외부에서 내부로 들어오는 것은 불가능하다.
이 경우에 PC의 경우는 문제가 없지만 LAN 환경에 서버를 설치한 경우 당연히 외부 요청에 대해 응답해야 한다.
서버만 양 방향으로 통신 할 수 있도록 IP 마커레이드를 설정 할 수 있지만 IP 마커레이드는 공인 IP 하나만 설정할 수 있기 때문에 서버가 여러대라면 공인 IP주소를 여러개 설정할 수 있는 NAT을 사용해야 한다.

인터넷 게이트 웨이

: 인터넷 연결을 담당

EC2 인스턴스에 웹 사이트를 설치했을때 웹 사이트에 접속 한 사람은 그 페이지에 접속하고 싶다는 요청을 보낸다. 해당 요청은 DNS에 변환되어 목적지인 공인 IP 주소로 전달된다.

NAT Gateway
회사 내부에서만 사용하는 서버에도 소프트웨어를 업데이트 하려면 인터넷에 연결해야 할때가 있다 이럴경우 NAT을 사용한다.
NAT 게이트웨이는 서브넷에서 인터넷으로 접속 할 수 있지만 인터넷에서 서브넷으로 접속하지 못하게 한다.

보안 그룹과 네트워크 ACL

VPC의 가상 방화벽으로 보안 그룹과 네트워크 ACL이 있다. 방화벽이란 네트워크 통신을 제어하는 방식을 말하는데, 보안그룹과 네트워크 ACL은 인바운드 트래픽 (데이터가 유입되는 것)과 아웃바운드 트래픽 (데이터가 유출되는것)을 제어한다.
네트워크 ACL은 서브넷 단위로 설정하기 때문에 개별 인스턴스에 설정할 필요가 없다.

포트

"통신의 입구"
웹 사이트를 운영할 경우 http나 https 포트를 열어야 한다. 어떤 포트를 사용해도 상관 없지만 실제로는 서비스별로 잘 알려진 포트가 정해져 있어 특별한 경우가 아닌 이상 해당 포트를 사용한다.

VPC 엔드 포인트

VPC 내부에서 VPC 외부로 접속하기 위한 연결점을 제공하는 서비스
VPC 내 서브넷 간에는 직접 통신 할 수 있고 VPC 간에도 하나의 네트워크 처럼 연결되어 통신 할 수 있다. 하지만 VPC 외부의 다른 서비스와 VPC를 연결 하려면 인터넷 게이트웨이를 사용해 인터넷으로 접속해야한다.

0개의 댓글