KDT/Cloud

231106 Cloud - AWS 시작하기 및 EC2 인스턴스 원격접속

001cloudid 2023. 11. 6. 19:09
728x90
더보기

본격적인 Cloud(AWS) 수업을 시작하기 전 AWS에 대한 기본 개념을 알아둘 필요가 있다.

사실 몰라도 상관은 없을 수도 있지만 알아두면 이해하는데 편할 것이다.

 

*클라우드

-언제, 어디서든 인터넷을 통해 접속이 가능한 환경

-클라우드 환경은 스스로 만들 수 있고, 빌릴 수도 있으며 사업자가 제공하는 서비스를 이용하는 방법이 있음

 

*클라우드 컴퓨팅

-서버 및 네트워크 등 인프라 전체를 임대해 주는 서비스로, AWS 및 Azure, Google Cloud Platform이 있음

-클라우드에 구축된 인프라를 활용하는 서비스나 이를 사용하는 것을 클라우드 컴퓨팅이라고 함

-일반적으로 클라우드라고 하면 클라우드 컴퓨팅을 의미

 

*온프레미스

-온프레미스(on-premise)는 자사가 서버 등을 구축하는 것

-서버만 임대하는 경우를 임대 서버라 부르고 네트워크나 장소를 임대하는 경우에 온프레미스라고 부름

-장점 : 자사에서 자유롭게 설계, 운영

-단점 : 서버 구성을 빈번하게 변경해야 할 수 있으며, 숙련된 기술자가 필요

 

*임대

- 오프프레미스 ↔ 온프레미스

-자사가 소유 또는 운영하지 않고 임대하거나 공공장소에 구축된 것을 사용하는 형태

-장점 : 제공하는 측이 모든 유지 보수를 실시하기 때문에 기술자를 갖출 필요가 없음

-단점 : 제공하는 측의 규제를 지켜야함, OS 업데이트나 설치할 수 있는 소프트웨어, 구성 등에 제한이 있고, 비용이 증가

 

*공용 클라우드

-AWS처럼 임대하는 클라우드

 

*사설 클라우드

-자사에 구축하는 클라우드

 

*클라우드를 지탱하는 2대 기술은 "가상화"와 "분산 처리"

-가상화 : 소프트웨어로 대체하는 것

-분산처리 : 기기 여러 대를 분산하여 처리하는 방법

 

*SaaS(Software as a Service)

-인프라나 플랫폼(OS)뿐만 아니라 애플리케이션까지 제공

-특징

1) 편리한 반면 자유도가 낮음.

2) 바로 사용할 수 있기 때문에 작업량이 적다

3) 특별한 지식이 필요 없다.

4) 단말기 외 준비할 것이 없다.

 

*PaaS(Platform as a Service)

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

-특징

1) 애플리케이션을 마음대로 설치할 수 있지만 대응하지 않는 애플리케이션도 있다

2) 서버 관리에 대한 지식이 필요

3) 경우에 따라서 애플리케이션을 준비해야 할 필요가 있다.

 

*IaaS(Infrastructure as a Service)

-인프라만 제공. 네트워크나 서버 머신 등을 제공

-특징

1) 기본 세팅이 필요

2) 서버 관리에 대한 지식이 필요

3) 경우에 따라서 애플리케이션을 준비해야 할 필요가 있다.

 

*Eaas(Everything as a Service)

-SaaS, PaaS, IaaS를 통칭하는 말

-XaaS라고도 하며 네트워크를 통한 통신부터 소프트웨어까지 모두 제공하는 서비스

 

*서버

-시스템의 핵심을 담당

-AWS의 대표적인 서비스는 Amazon EC2(Elastic Compute Cloud)

-대표적인 서버

1) 웹 서버

2) 메일 서버

3) 데이터베이스 서버

4) 파일 서버

5) DNS 서버

6) DHCP 서버

7) FTP 서버

8) 프록시 서버

9) 인증 서버

 

*서버에 필요한 요소

1) CPU

2) 메모리

3) 메인보드

4) 스토리지

5) OS

 

*서버용 OS

-유닉스, 윈도우가 대표적인 서버용 OS. 리눅스와 BSD는 유닉스 계열

 

*인스턴스

-Amazon EC2에서 서버는 '인스턴스'로 생성

-실제 가동되고 있는 가상화 컴퓨터

 

*DNS(Domain Name System)

-URL에 포함된 이름에 해당하는 서버의 IP 주소를 알려주는 방식

ex) https://www.google.com에서 서 https 프로토콜명 www 호스트명 google.com 도메인명

 

*웹 서버의 구조

-웹 사이트를 열람할 때 웹 브라우저로 보내고 싶은 웹 사이트의 URL에 접속하면 웹 서버에서 해당하는 파일을 웹 브라우저로 보낸다.

-웹 서버용 콘텐츠는 HTML 파일이나 이미지 파일 외에 동영상 파일, PHP나 Perl로 작성된 프로그램 파일 등으로 구성

 

*웹 사이트와 관련된 기술

1) 웹 서버용 소프트웨어

웹 브라우저에서 요청 받아 파일을 전송하는 소프트웨어

2) FTP

서버에 파일을 전송할 때 사용하는 프로토콜

3) SSH

서버를 원격으로 조작할 때 사용하는 접속 방식

4) SSL 증명서

증명서를작성한 서버를 설치하면 통신을 암호화할 수 있고 사이트가 변조되지 않았다는 것을 증명할 수 있다.

5) 리다이렉트

요구된 URL에 대해서 다른 페이지로 전송하는 방법

6) CGI

서버에서 처리하는 프로그램. 대부분은 perl이라는 언어로 작성

7) PHP

프로그래밍 언어 중 하나로, 웹 애플리케이션 개발에 많이 사용

8) 자바스크립트

프로그래밍 언어 중 하나로, 웹 브라우저로 처리

9) 스트리밍

도착한 앞쪽 데이터부터 바로 재생하는 방법

10) 확장자

11) Index.html

웹 사이트의 메인 페이지가 되는 HTML 파일에 붙여진 이름. 파일명을 지정하지 않을 경우 이 페이지가 표시

12) 로드 밸런서

아래에 서버 여러 대를 두고, 트래픽을 분산하여 1대당 서버의 부하를 줄이는 장비

13) FW

방화벽. 송수신하는 데이터에 대해 통과 여부를 결정하는 장비

14) CDN

콘텐츠를 캐시하는 방식. 만료될 때까지 캐시를 사용자에게 돌려주는 방식으로 서버의 부하를 줄여준다.

 

*웹 사이트에 대한 공격 방법

1) 멀웨어

2) XSS

3) CSRF

4) SQL 인젝션

5) 세션 하이제킹

6) Dos 공격

7) 패스워드 크래킹

 

추가적인 개념들은 첨부파일화함.

AWS 시작 전 알아야할 기본 개념들(1).pdf
0.11MB
AWS 시작 전 알아야할 기본 개념들(2).pdf
0.11MB

 

AWS 시작하기

회원가입

  1. aws.amazon.com 접속 후 회원 가입
  2. 루트 사용자 이메일 주소 : 본인 이메일 주소 입력, AWS 계정 이름은 닉네임
  3. AWS 사용 계획에서 주소, 시, 시또는 리전은 영문으로 작성(※네이버에서 영문 주소 입력해서 사용)
  4. 결제 정보 입력
  5. 카드 정보 확인을 위해 결제 정보에 입력된 카드에서 100원 결재되었다가 취소.(100원 필요함)
  6. 가입 완료

 

AWS EC2 설치

1. 검색창에 EC2 검색

그림 1. 검색창 EC2 검색
그림 1. 검색창에 EC2 검색

2. EC2 대시보드 인스턴스 클릭

그림 2. 인스턴스 클릭
그림 2. 인스턴스 클릭

3. 인스턴스 시작

그림 3. 인스턴스 시작
그림 3. 인스턴스 시작

4. 설정

이름 : webServer

그림 4. 이름
그림 4. 이름

 

AMI : Amazon Linux 2 AMI(HVM) - kernal... 설정(기본값은 Amazon Linux 2023 AMI)

그림 5. AMI

※AMI(Amazon Machine Image)의 특징은 아마존에서 제공하는 운영체제의 이미지 무료버전, 상용버전 개인이 AMI를 만들수도 있음 프리티어 요금제에 해당하는 AMI 선택

 

인스턴스 유형 : t2.micro

그림 6. 인스턴스 유형
그림 6. 인스턴스 유형

인스턴스 유형은 머신의 용도를 결정하며 CPU, 메모리, 스토리지, 네트워크 용량 등이 용도에 맞게 조합되어 있다.

용도는 5가지로 참고

  • 범용 : A1, T3, T2, M5, M5a, M4, T3a
  • 컴퓨팅 최적화 : C5, C5n, C4
  • 메모리 최적화 : R5, R5a, R4, X1e, X1
  • 가속화된 컴퓨팅 최적화 : P3, P2, G3, F1
  • 스토리지 최적화 : H3, I3, D2 

 

5. 키페어

필수과정이며 AWS에서 보안을 위해 키 설정이 필요하다.

새 키 페어 생성

그림 7. 새 키 페어 생성
그림 7. 새 키 페어 생성
그림 8. 키 페어 생성
그림 8. 키 페어 생성

키 페어 이름을 입력한 후 키 페어 생성을 클릭. 키 페어 유형과 프라이빗 키 파일 형식은 건드리지 않아도 된다.

주의 사항으로는 키 페어는 재발급이 되지 않는다. 잘 저장하도록 하자.

 

6. 네트워크 설정

그림 9. 네트워크 설정

편집 - 보안그룹 규칙 추가

  • 보안그룹 이름 : ssh
  • 설명 : ssh
  • 유형 : ssh(기본값)
  • 프로토콜 : TCP(선택불가)
  • 포트범위 : 22(선택불가)

7. 이외의 설정은 모두 기본값으로 설정. 요약 페이지 확인 후 '인스턴스 시작' 클릭

 

8. 인스턴스 시작 후 추가 설정

네트워크 및 보안 -> 보안 그룹 -> 보안 그룹 생성
보안 그룹 이름 : 그림 4에서 설정한 이름
인바운드 규칙 → 규칙추가 클릭
유형 : HTTP, 프로토콜 : TCP(변경 불가), 
포트 범위 : 80(변경 불가)
소스 : AnyWhere-IPv4 선택(0.0.0.0/0 값 입력)
설명 : Security for HTTP Access
'보안 그룹 생성' 

메뉴 → 인스턴스 → 인스턴스 → 그림 4에서 설정한 이름 → 우클릭 → 보안 → 보안 그룹 변경
연결된 보안 그룹 -> 찾기에서 'web' 검색 및 선택 →  보안 그룹 추가 버튼 클릭
아래쪽에 연결된 보안 그룹 → ssh, web 확인

 

※참고로 인스턴스 종료는 삭제를 뜻하고 인스턴스 중지는 종료를 뜻함.


AWS EC2 인스턴스 원격(Remote 접속)

원격 접속

  1. MobaXterm 프로그램을 설치
  2. 인스턴스 → webServer 클릭 → 퍼블릭 IPv4 주소 복사
  3. MobaXterm 실행 후 Session → SSH → Remote 항복에 퍼블릭 IPv4 주소 입력
  4. Advanced SSH settings → Use private key 클릭 → 찾기 버튼으로 AWS EC2 설치 중 만든 키페어 파일 선택
  5. Bookmark settings 클릭 Session name : 그림 4에서 설정한 이름으로 변경

그림 9. MobaXterm 설정
그림 10. MobaXterm 설정

 

동작시키기

  1. 웹 서버용 프로그램 필요
    -> 아파치 웹 서비스 프로그램 설치
    ※ ec2-user 계정은 일반 계정으로 프로그램 설치, 계정 관리 등 관리자 권한이 필요한 명령어 입력시 'sudo'를 붙인다.
  2. 아파치 웹 서비스 설치
    sudo yum install -y httpd -> 아파치 웹 서비스 프로그램 설치
    rpm -qa httpd -> 아파치 웹 서비스 설치 확인
  3. 아파치 웹 서비스 시작
    sudo systemctl start httpd
  4. cd /var/www/html -> cd는 change directory를 의미
    sudo vi index.html -> vi: 문서 편집기 프로그램
    i를 눌러 insert mode로 변경되면서 키보드로 입력 가능
    Hello World 입력 후 esc :wq

그림 11

728x90

'KDT > Cloud' 카테고리의 다른 글

231204 Cloud  (0) 2023.12.04
231201 Cloud  (0) 2023.12.01
231124 Cloud  (0) 2023.11.24
231117 Cloud - AWS Apache Tomcat Server(여기서부터 수정)  (0) 2023.11.17
231110 Cloud - AWS EC2 인스턴스 웹서버 동작 및 파일 업로드  (0) 2023.11.10