쿠버네티스 전문가 양성과정 6주차 3일(1/25)

최수환·2023년 1월 25일
0

Kubernetes

목록 보기
24/75
post-thumbnail

AWS 클라우드

이론

시스템 기반이란?

  • 어플리케이션을 사용자가 24시간/365일 이용할 수 있는 환경을 제공하는 기술 요소

데이터센터의 정의

  • 시스템 기반 환경을 제공하기 위하여 각 구성요소를 제공하는 시설
  • 거대한 규모의 시스템을 안정적으로 관리하기 위하여 모아놓고 관리
  • 분류
    • IDC : Internet Data Center
    • CDC : Cloud Data Center

클라우드 컴퓨팅

  • 개인용 컴퓨터가 아닌 원격 컴퓨터의 자원을 활용하는 기술
  • 언제나, 어디서나
  • 사용한 만큼의 비용 지불

기업의 인프라 구성 방식

  • 온 프레미스
    • 규모가 있는 기업에서 사용할 수 있는 방식
    • 자체적인 데이터센터 or 서버실을 구축
  • 퍼블릭 클라우드
    • 인터넷을 통해 불특정 다수에게 클라우드 서비스 제공
    • 초기 투자가 필요하지 않음
  • 프라이빗 클라우드
    • 특정 대상을 지정하여 서비스를 제공하는 클라우드 서비스
    • 주로 단일 기업 또는 계열사 등 일부 기업을 대상으로 서비스를 제공하기 위하여 구축
    • ex) 오픈스택

클라우드 서비스 선택시 주의 사항

  • 가용성 : 완벽한 무중단이 필요한 시스템의 경우 가용성 조건 만족 불가
  • 데이터의 저장 위치 : 물리적 보관 장소가 명확하여야 할 경우 이용 불가
  • 특수 요건 충족 불가 : 범용적이지 않은 디바이스 및 특수한 플랫폼은 클라우드를 통해 이용 불가
  • 비용에 대한 고려 필요 : 무조건 클라우드 서비스를 이용하는 것이 저렴한 것은 아님

Saas, Iaas, Paas

서버에 대한 성능 향상

  • scale up/down : 서버에 대한 스펙을 올리는 것 (cpu교체,메모리 증설, ssd 사용 등)
  • scale out/in : 같은 성능 요소의 수량을 증가 시키는 것

리전

  • 전세계에 물리적으로 분리되어 구축된 aws서비스 지역의 분류
  • 가장 가까운 위치의 리전을 사용하여 빠른 속도로 서비스 이용
  • 필요에 따라 다른 리전을 선택 가능
  • 우리나라에도 리전이 오픈됨
  • 리전 별로 지원되는 기능이 다를 수 있다
  • ex) ap-northeast-2

Availability Zone (AZ)

  • 데이터센터를 의미
  • 하나의 리전에 다수의 가용 영역이 존재함
  • 각 가용 영역이 위치한 데이터센터는 리전 내에서 물리적으로 떨어져 있음
  • 현재 우리나라의 서울 리전은 4개의 가용영역으로 구성됨
  • ex) ap-northeast-2a, ap-northeast-2b ...

📒 리전 및 AZ 참고

EC2

  • AWS내에서 안정적이며 조정 가능한 컴퓨팅 파워를 제공
  • 인스턴스 : EC2에서 사용하는 가상화 서버
  • EC2참고1, EC2참고2

스토리지

  • 데이터를 저정하는 저장소의 역할을 수행하는 요소
  • DAS : 직접 서버에 연결하는 저장소
  • NAS : 스토리지를 네트워크로 연결, 파일 기반 스토리지
  • SAN : 별도의 스트로지용 네트워크를 구성, 블록 기반 스토리지

S3

  • SAN 형태이다
  • 확장성이 뛰어나며 무한대로 저장 가능
  • 내구성이 100%에 가까움
  • 유일한 버킷을 생성하여 데이터 저장

EC2 실습

해당 과정에서는 30만원 상당의 AWS서비스를 이용할 수 있는 AWS계정을 지원해준다

  • 해당 계정에 접속해 EC2, S3등의 여러 AWS서비스를 실제로 생성하고 접속 및 이용하는 실습을 진행 할 것이다.

윈도우 서버 인스턴스 생성 및 원격 접속

RDP를 이용해 GUI환경에 접속한다

  1. 인스턴스 시작
  2. windows 운영체제로 AMI 선택
  3. t2.micro 인스턴스 유형 선택
  4. 로그인하기 위한 pem키 생성
  5. 네트워크 설정
  6. rdp유형으로 보안그룹 생성
  7. 인스턴스 연결 클릭
  8. 원격 데스크톱 파일 다운로드
  9. 암호 가져오기해서 이전에 다운로드 한 pem키 업로드
  10. 원격 데스크톱 파일 열고 암호 입력 후 접속

리눅스 서버 인스턴스 생성 및 원격 접속

SSH를 이용해 CLI환경에 접속한다

<Putty 툴을 이용한 접속>

  1. 인스턴스 시작
  2. linux 운영체제로 AMI선택
  3. t2.micro 인스턴스 유형 선택
  4. 로그인하기 위한 pem키 생성 (RSA선택 = 기존 키선택)
  5. 네트워크 설정

    -> ssh를 까먹어서 안열고 http를 연결한 상태라고 가정
  6. 웹에서 putty와 puttygen파일 다운로드
  7. puttygen실행후 conversions에서 키 import
  8. save private key누르고 ppk파일 생성
  9. putty 실행후 connection- ssh - auth - credentials의 첫번째 항목에 ppk파일 업로드
  10. session에서 linux인스턴스의 퍼블릭 ipv4주소를 입력
    -> 아까 보안그룹에서 ssh가 아닌 http를 열었기 때문에 접속 x
  11. linux인스턴스의 보안항목 에서 인바운드규칙 추가에
    SSH , 0.0.0.0/0 등록
  12. Putty에 다시 ppk, public ip입력 후 open
  13. login as에 ec2-user입력 후 접속
  14. sudo -i : root계정으로 전환
  15. yum -y install httpd : apache웹 서버 설치
  16. systemctl enable httpd.service --now : 데몬 실행
  17. 브라우저에 public ip 입력하면 Test Page 뜨는거 확인

<Powershell을 이용한 접속>
1. powershell 또는 터미널 접속
📒 터미널이 없다면 MS스토어에서 다운로드
2. ssh ec2-user@public ip -i .\Downloads\linux1_key.pem
-> 사용자 이름, ip, pem key가 있는 경로 입력
-> 비밀번호 설정했으면 key경로 입력안하고 비밀번호로 접속
-> 비밀번호가 없다면 비밀번호 대신 key경로 입력해서 접속

S3 실습

<S3버킷 생성 및 파일 업로드>
1. S3 버킷 만들기 시작
2. 이름 설정(hwan-test-bk1) - 유일해야함
3. acl 활성화 : 외부에서 접근가능하게 함
4. 퍼블릭 엑세스 허용 : 외부에서 접근가능하게 함
5. 기타 설정 후 버킷 만들기 클릭
6. 버킷 선택 후 폴더 만들기 눌러서 test1폴더 생성
-> s3://hwan-test-bk1/test1/이라는 경로의 폴더 생성
7. c드라이브에 아무 이미지파일 저장 후 아까 만든 폴더 클릭 후 파일 업로드
8. 파일 업로드 후 해당 경로에 이미지파일이 업로드 된것을 볼 수 있다
9. 이미지파일을 누르고 URL을 누르면 객체 Public설정을 안해놨기 때문에 이미가 안뜬다
10. 파일 누르고 작업에서 ACL을 사용하여 퍼블릭으로 설정 클릭
11. 퍼블릭으로 설정 후 다시 파일의 URL누르면 이미지가 보이는 것을 확인
12. c드라이브에 텍스트파일 저장 후 버킷페이지로 돌아간다
13. test1 폴더 클릭 후 ACL을 사용하여 퍼블릭으로 설정
-> 해당 폴더 안에 있는 모든 파일이 퍼블릭으로 설정된다
-> 파일 업로드할때 권한목록에서 개별 ACL 부여 클릭하면 폴더 안에 있어도 자동으로 퍼블릭 적용 안되고 직접 퍼블릭 작업 해줘야 한다

<IAM을 사용한 S3>
1. IAM시작
2. 사용자 그룹에서 s3에 대해서 모든 권한을 가진 그룹 추가
3. 사용자에서 사용자 추가
4. 사용자를 그룹에 추가한다
5. 생성한 사용자를 클릭 후 액세스 키 항목에서 액세스 키 생성
6. CLI환경 클릭 후 생성
7. CSV파일 다운로드
8. AWSCLIV2 실행 후 터미널에 aws --version 확인
9. aws configure 입력 후 csv파일에 있는 액세스 키 id와 passwd입력 후 리전과 json입력
10. aws s3 ls 로 아까 만든 버킷이 존재하는지 확인
11. aws s3 sync c:/backup/ s3://hwan-test-bk1/로 c드라이브에 있는 백업파일과 s3버킷을 동기화 시킨다
12 실제로 s3버킷에 가보면 c드라이브의 backup폴더에 있는 파일이 동기화 된것을 확인
📒 backup폴더에 변경사항이 생기지 않으면 sync명령을 다시 입력해도 아무일도 발생 x
13. 자동으로 동기화 하는 법

  • backup폴더에 backupload.bat이라는 확장자를 가진 파일 생성
  • 해당 파일에 'aws s3 sync c:/backup/ s3://hwan-test-bk1/' sync명령어 편집
  • 관리 도구에 들어가 작업 스케줄러 실행
  • 동작에서 작업만들기 클릭 후 '가장 높은 수준의 권한으로 실행' 클릭
  • 트리거항목에서 원하는 예약 시간 설정
  • 동작항목에서 아까 만든 bat확장자 파일 업로드 후 저장
  • data_backup이라는 작업이 생성된 것을 확인

    📒 당장 확인해보고 싶으면 '실행' 클릭 후 s3버킷 확인해보면 새롭게 동기화 된것을 알 수 있다.
profile
성실하게 열심히!

0개의 댓글