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 서버 사용하여 설정
- S3는 단순한 스토리지 서비스가 아니라 정적 웹 사이트를 호스팅할 수 있다.
- Amazon S3 복제
- 교차 리전 복제(CRR, Cross-Region Replication)
- 다른 리전의 버킷에 객체를 비동기적으로 복사하는 것
- 복사 대상의 버킷과 원본 버킷의 소유자가 동일하지 않아도 되지만 복제 작업 수행시 IAM 역할을 부여해야 하고, 버전 관리가 활성화되어 있어야 한다.
- 같은 리전에 존재하는 버킷은 복제 설정할 수 없다.
- 교차 리전 복제(CRR, Cross-Region Replication)
- 데이터 분석 서비스와 연계
- 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)나 실시간 방송 등 사용
- TCP
- 포트 번호
- 포트 번호라는 숫자를 이용해 컴퓨터 안의 어떤 어플에게 데이터를 전달할 지 식별
- 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개
- CIDR(Classes Inter-Domain Routing)
- 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 하나에 서브넷 여러 개 설정 가능, 반대는 불가능)
- 규칙 허용과 거부 가능
- 순서대로 규칙을 처리하면서 트래픽의 허가 여부를 정한다.
- 기본값: 인바운드, 아웃바운드 허락
- VPC는 가상 방화벽으로 보안그룹과 네트워크 ACL이 있다.
728x90
'교육 (Today I Learned) > SeSAC' 카테고리의 다른 글
SeSAC 60일차 / 클라우드 컴퓨팅 2 (0) | 2023.10.24 |
---|---|
SeSAC 59일차 / 클라우드 컴퓨팅 2 (0) | 2023.10.16 |
SeSAC 57일차 / 클라우드 컴퓨팅 1 (0) | 2023.10.14 |
SeSAC 56일차 / 클라우드 컴퓨팅 1 (0) | 2023.10.14 |
SeSAC 55일차 / 미니 프로젝트 (0) | 2023.10.14 |