교육 (Today I Learned)/SeSAC

SeSAC 58일차 / 클라우드 컴퓨팅

Bay Im 2023. 10. 14. 13:44
SeSAC 58일차(2023-10-13)
클라우드 컴퓨팅


스토리지 서비스 Amazon S3

  • Amazon S3(Simple Storage Service)
    • 스마트 객체 스토리지 서비스 (데이터 저장 및 관리)
    • 용량 제한이 없다.
    • 기능
      • 파일 업로드와 다운로드
    • 접근 방법
      • 파일 업로드와 다운로드 방식 사용
      • 관리 콘솔에서 설정, 관리, 업로드 등 가능

 

  • Amazon S3 객체와 버킷
    • 파일과 파일을 저장하는 자소
    • 버킷명은 S3내에서 유일한 이름이어야 함. (다른 AWS 사용자가 사용하는 버킷명은 불가능)
    • 버킷은 윈도우의 드라이브와 같은 것이고 객체는 파일과 같은 것
    • 버킷 안에 버킷 만드는 것은 불가능

 

  • Amazon S3 생성
    • S3 대시보드 열고 버킷 생성
    • 사용 절차
      • S3 대시 보드 열기
      • 버킷 만들기
      • 버킷 설정하기
        • 웹 서버로 사용시 Static website hosting을 설정
        • 접근할 수 있는 사용자 설정
      • 파일 업로드
        • 관리 콘솔이나 전용 도구에서 파일 업로드
    • 버킷 생성 이후에는 이름과 리전 변경 불가

 

  • Amazon S3 버킷 정책과 사용자 정책
    • S3는 버킷 정책과 사용자 정책에 의해 버킷 접속을 제한할 수 있다.
    • 제한 설정 방법
      • 버킷 정책(버킷 단위로 설정)
        • 해당 버킷에 접속할 수 있는 사용자 지정
      • 사용자 정책(사용자 단위로 설정)
        • 접속 가능한 버킷을 지정
      • ACL(Access Control List)
        • 자신 외의 다른 AWS 계정에 읽기, 쓰기에 대해서 허가, 거부를 설정한 목록
    • 액세스 제한
      • 리소스, 작업, 효과, 보안 주체에 대해 설정 가능

 

  • Amazon S3 웹 사이트 호스팅
    • S3는 단순한 스토리지 서비스가 아니라 정적 웹 사이트를 호스팅할 수 있다.
      • 정적 웹 사이트: 서버가 스크립트를 처리하지 않는 사이트
      • HTML과 이미지 만으로 작성된 웹사이트
    • 버킷을 웹 사이트로 사용하는 방법
      • 정적 웹 호스팅 활성화
      • 공용 액세스(public access) 차단 해제
      • 버킷 정책을 모든 사용으로 설정
      • 버킷명을 사용할 도메인명으로 지정
      • 개인 도메인 소지시 DNS 서버 사용하여 설정

 

  • Amazon S3 복제
    • 교차 리전 복제(CRR, Cross-Region Replication)
      • 다른 리전의 버킷에 객체를 비동기적으로 복사하는 것
    • 복사 대상의 버킷과 원본 버킷의 소유자가 동일하지 않아도 되지만 복제 작업 수행시 IAM 역할을 부여해야 하고, 버전 관리가 활성화되어 있어야 한다.
    • 같은 리전에 존재하는 버킷은 복제 설정할 수 없다.

 

  • 데이터 분석 서비스와 연계
    • S3의 객체나 객체의 내용에 대한 데이터를 분석하는 기능이 있다.
    • S3 Select, Amazon Athena
      • CSV, JSON과 같이 구조화된 텍스트 형식의 데이터를 SQL의 SEELCT 문으로 실행하는 기능
      • 쿼리를 실행하기 위한 서버는 필요 없음

 

  • Amazon CloudFront
    • 고속 콘텐츠 전송 네트워크(CDN, Content Delivery Network) 서비스
    • 웹 콘텐츠를 빠르게 전송한다.
    • 구축한 웹 서버와 조합하여 많이 사용

 

 

가상 네트워크 서비스 Amazon VPC(Virtual Private Cloud)

  • TCP/IP 네트워크 기초
    • 네트워크의 이해
      • 인터넷- 방화벽- 라우터- 스위치- PC
    • OSI 참조 모델
      • 국제표준화기구(ISO)가 컴퓨터 통신 기능을 계층 구조로 정리한 모델
      • TCP/IP 모델
        • TCP와 IP 프로토콜을 OSI7 계층 형식에 맞추어 더 추상화(간략화)시킨 모델
        • 인터넷에서 범용적으로 사용
    • 프로토콜
      • 통신할 때 규칙 모음
      • 프로토콜의 역할
        • 캡슐화 및 캡슐 해제화
    • 이더넷(Ethernet)과 MAC 주소
      • 1, 2 계층 주요 프로토콜은 Ethernet
      • 이더넷은 MAC 주소라는 48 비트로 된 식별자를 사용하여 컴퓨터를 식별
    • IP 프로토콜과 IP 주소
      • 3 계층에서 가장 중요한 프로토콜은 IP(Internet Protocol)
      • IP 주소는 32비트로 된 식별 번호를 사용하여 컴퓨터를 식별
    • CIDR(Classless Inter-Domain Routing)
      • CIDR는 클래스 없는 도메인 간 라우팅 기법으로 IP 주소 할당 방법
    • TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)
      • TCP
        • 데이터의 신뢰성이 중요한 경우 통신할 대상끼리 확인 메시지를 보내면서 데이터를 주고 받음
        • 웹, 메일, 파일 공유 등에 사용
      • UDP
        • 데이터 신뢰성보다는 빠르게 보내고 싶은 경우, 데이터를 보내고 확인 절차를 생략할 수 있기 때문에 빠른 통신이 가능
        • VoIP(Voice over IP)나 실시간 방송 등 사용
    • 포트 번호
      • 포트 번호라는 숫자를 이용해 컴퓨터 안의 어떤 어플에게 데이터를 전달할 지 식별
      • 0~65535(2바이트)까지의 숫자
        • 0~1023: Well-known port, 웹 서버, 메일 서버 등 서버 S/W 가 클라이언트의 서비스 요청을 대기할 때 사용
        • 1024~49151: registered port로 제조 업체의 독자적인 서버 S/W 가 클라이언트의 서비스 요청을 대기할 때 사용
        • 49152~65535: dynamic port로 서버가 클라이언트를 식별하기 위해 사용

 

  • Amazon VPC(Virtual Private Cloud)
    • AWS가 제공하는 AWS 계정 전용 가상 네트워크
    • 네트워크, 서브넷 범위, 라우팅 테이블, 네트워크 게이트웨이 등 가상 네트워킹 환경 설정 가능
    • AWS 에서 제공하는 리소스만 설치 가능
    • VPC 내에 서버를 설치하면 해당 네트워크에 소속되지만 미설정시 VPC 자체는 격리된 네트워크가 되므로 외부와 통신하려면 VPC를 인터넷 혹은 회사 LAN과 연결해야함.

 

  • 기본 VPC
    • 특별한 설정 없이 바로 사용 가능, 특별한 요건이 없는 이상 기본 VPC를 사용하는 편이 좋다
    • 서브넷과 인터넷 게이트웨이가 기본적으로 구성

 

  • VPC와 서브넷
    • 서브넷
      • 커다란 네트워크를 작게 나눈 네트워크
      • 네트워크를 분할해 직접 통신할 수 있는 범위를 좁히고 방화벽을 설정해 보안 강화 목적
      • AWS는 어떤 가용 영역에 서브넷을 둘지 설정한다.
      • VPC는 사용자가 사용할 수 있는 네트워크 범위를 생성하고 그 용도에 따라서 서브넷을 생성한다.
        • VPC안에 서브넷 A, 서브넷 B

 

  • 네트워크 범위와 CIDR 표기
    • CIDR(Classes Inter-Domain Routing)
      • 네트워크와 서브넷의 범위를 나누는데 사용되는 표기법
      • IP 주소의 수를 나타낸다.
        • /20 이면 4096개

 

  • IP 주소 할당과 DHCP(Dynamic Host Configuration Protocol)
    • AWS의 VPC는 라우터나 인터넷 게이트웨이의 IP 주소로도 예약 주소를 사용할 수 있다.

 

  • 라우팅과 NAT: 공인 IP 주소와 사설 IP 주소 변환
    • 네트워크 간 데이터를 주고 받으려면 라우팅이나 NAT(Network Address Translation) 방식을 사용해야 한다.
    • 라우팅
      • 데이터를 라우터로 보내고, 라우터가 목적지로 보내는 방식을 라우팅이라 한다.
      • 라우팅 테이블: 패킷을 전달하는 경로를 설정하는 이정표 역할
    • IP 주소
      • 라우터가 각 PC에 데이터를 전달할 수 있도록 대상을 식별할 수 있는 주소
    • 라우터
      • 목적지로 가장 빠르게 전송할 수 있는 경로 정보가 설정
      • 게이트웨이 라고도 한다.
    • IP masquerade
      • 게이트웨이가 사설 IP 주소를 공인 IP 주소로 변환하는데 주소 변환을 담당하는 것이 IP 마스커레이드(NAPT, Network Address Port Translation)이다.
      • 외부에서 내부로 들어오는 것은 불가능
        • 서버만 양방향으로 통신할 수 있도록 설정 가능
      • 공인 IP 하나만 설정할 수 있기 때문에 서버가 여러 대라면 공인 IP주소를 여러개 설정할 수 있는 NAT(Network Address Translation) 사용해야 한다.
        • NAT은 다대다 속성이며 포트를 변환할 수 없다.
      • IP 마스커레이드는 일대다 속성이며 포트를 변환할 수 있다.

 

  • 인터넷 게이트 웨이와 NAT 게이트 웨이
    • AWS는 소프트웨어 적으로 라우팅 수행
    • 라우팅은 라우팅 테이블에 따라 수행된다.
    • 인터넷 게이트웨이
      • 인터넷 연결 담당
    • NAT 게이트웨이
      • 서브넷에서 인터넷으로 접속할 수 있지만 인터넷에서 서브넷으로 접속하지 못하게 한다.

 

  • Security Group과 NACL(Network Access Control List)
    • VPC는 가상 방화벽으로 보안그룹과 네트워크 ACL이 있다.
      • 방화벽: 네트워크 통신을 제어하는 방식
    • 보안그룹과 NACL은 인바운드 트래픽(데이터 유입)과 아웃바운드 트래픽(데이터 유출)을 제어한다. 반드시 양쪽 모두 설정
    • 보안 그룹(Security Group)
      • 인스턴스에 대해 설정
      • 규칙 허용만 가능
      • 모든 규칙을 확인하여 트래픽의 허가 여부 정한다.
      • 기본값: 인바운드 미허락, 아웃바운드 허락
    • NACL(Network Access Control List)
      • 서브넷에 설정(NACL 하나에 서브넷 여러 개 설정 가능, 반대는 불가능)
      • 규칙 허용과 거부 가능
      • 순서대로 규칙을 처리하면서 트래픽의 허가 여부를 정한다.
      • 기본값: 인바운드, 아웃바운드 허락

 

728x90