[천재교육] 프로젝트 기반 빅데이터 서비스 개발자 양성 과정 9기
학습일 : 2024.10.21
📕 학습 목록
- 클라우드와 서버
- 네트워크
- 온프레미스/클라우드
- AWS 기초
📗 기억할 내용
1. 클라우드와 서버
1) 클라우드 환경 이해
① 클라이언트 - 서버
- 클라이언트 : 서비스를 요청하는 주체
- 서버 : 클라이언트 요청을 처리하고 응답하는 주체
클라이언트 (프론트엔드) | 서버 (백엔드) |
사용자 | 제공자 |
고객 | 관리자 |
사용하고 있는 기기 | 실행되고 있는 PC |
프로그램 | 프로그램 |
- 요청 (Request) : 클라이언트가 서버에 특정 작업을 요청할 때 보내는 메세지
작업의 종류 | HTTP 메서드 |
Create | POST |
Read | GET |
Update | PUT |
Delete | DELETE |
- 응답 (Response) : 서버가 클라이언트의 요청에 대해 처리 결과를 보내는 메세지
요청 성공/오류 | HTTP 상태 코드 |
성공 | 2xx |
오류 | 4xx(클라이언트 오류), 5xx(서버 오류) |
- 서버의 종류
- 서버 : "요청 받은 컨텐츠를 반환해주는 것(데이터를 저장하는 곳x)"
- 서버 성능 개선 방법 : Scale up, Scale out
웹 서버 (Web Server) |
애플리케이션 서버 (Application Server) |
데이터베이스 서버 (Database Server) |
|
역할 | 클라이언트에서 보낸 HTTP 요청을 받아 웹 페이지 전송 | 클라이언트의 요청에 따라 데이터베이스에 필요한 데이터를 요청하고, 그 데이터를 받아서 처리 | 데이터를 저장, 조회, 수정, 삭제 처리 |
주로 처리 |
정적인 콘텐츠 (HTML, CSS, 이미지 등) |
동적인 콘텐츠, 비즈니스 로직 처리(서버 요청의 실질적인 목적을 수행) | 데이터베이스 관리 및 쿼리 처리(SQL 명령어 사용) |
예시 | Apache, Nginx, IIS | Tomcat, JBoss, Django, Spring Boot | MySQL, PostgreSQL, Oracle, MongoDB |
동작 방식 |
클라이언트가 요청한 정적 파일을 반환 | 비즈니스 로직 수행 후 웹 서버나 클라이언트에 결과 전달 | SQL 쿼리로 데이터를 처리하고 반환 |
ex) 사용자가 날씨 정보를 요청하는 흐름
1. 사용자가 날씨 정보를 요청 → 웹 서버로 HTTP 요청 전달
2. 웹 서버는 동적인 요청을 애플리케이션 서버로 전달
3. 애플리케이션 서버는 날씨 데이터를 데이터베이스 서버에 요청
4. 데이터베이스 서버는 필요한 데이터를 조회하여 애플리케이션 서버에 반환
5. 애플리케이션 서버는 데이터를 처리하고 웹 서버에 전달
6. 웹 서버는 최종 응답을 사용자에게 반환
2. 네트워크
1) 신호
- 아날로그 신호 vs 디지털 신호
아날로그 신호 (Analog Signal) | 디지털 신호 (Digital Signal) | |
정의 | 연속적인 값을 가지며, 시간에 따라 신호의 크기가 끊임없이 변하는 신호 |
불연속적인 값(이산적)을 가지며, 주로 0과 1로 표현되는 신호 |
파형 | 부드러운 곡선 형태 (예: 사인파) | 계단형으로 변화하는 사각파 |
예시 | 라디오 방송 신호, 아날로그 온도계, 오래된 레코드 플레이어에서 재생되는 음악 |
컴퓨터에서 처리되는 데이터, CD에 저장된 음악, 디지털 카메라로 찍은 사진 |
특징 | - 연속적으로 변화 - 노이즈에 민감 |
- 이산적으로 변화 - 노이즈에 강함 - 정확한 계산 및 처리 가능 |
사용 사례 | 온도, 소리, 빛의 세기 같은 자연 현상 | 컴퓨터 및 전자기기에서 사용 |
노이즈 민감성 |
노이즈에 취약하고, 신호 손상이 발생할 수 있음 | 노이즈에 강하며, 손상된 신호도 복구 가능 |
2) 네트워크
① 네트워크 (Network)
- 여러 장치(컴퓨터, 스마트폰, 서버 등)가 서로 연결되어 통신할 수 있는 구조
- 즉, 네트워크는 장치들이 데이터를 주고받고, 자원을 공유할 수 있게 만드는 시스템
② LAN vs WAN
LAN (Local Area Network) | WAN (Wide Area Network) | |
정의 | 한정된 지역 내에서 장치들을 연결하는 근거리 통신망 (내부 네트워크) |
도시, 국가, 또는 전 세계에 걸쳐 연결된 광역 통신망 (외부 네트워크) |
사용 범위 | 집, 학교, 회사 등 소규모 지역 | 도시, 국가, 대륙 또는 전 세계 |
속도 | 빠른 속도 (몇 Mbps에서 Gbps까지) | 상대적으로 느린 속도 (보통 Mbps 단위) |
구축 비용 | 저렴 (짧은 거리 내에서 네트워크 구축) | 상대적으로 고비용 (넓은 범위를 연결하는 인프라 필요) |
구성 요소 | 스위치, 라우터, 이더넷 케이블, Wi-Fi | 라우터, 광케이블, 위성, 대규모 네트워크 인프라 |
예시 | 가정 내 네트워크, 회사 네트워크 | 인터넷, 글로벌 기업 네트워크 |
네트워크 유형 | 사설 네트워크 (내부 자원 공유, 파일 공유) | 공공 네트워크 또는 여러 네트워크의 연결 (인터넷 사용) |
지연 시간 | 짧음 (근거리에서 연결되기 때문에) | 비교적 김 (넓은 거리와 여러 장비를 거치기 때문에) |
③ 네트워크 구성 요소
- 스위치 (Switch) : 네트워크 내에서 데이터가 정확한 목적지로 이동할 수 있도록 도와주는 장치
- 게이트웨이 (Gateway) : 서로 다른 네트워크 간에 데이터를 주고받을 수 있도록 중계/변환해주는 장치
- 게이트웨이 ⊃ 라우터
- 라우터 : LAN 이 WAN(인터넷)와 통신하기 위해 필요
- 라우터 (Router) : LAN - WAN(인터넷)를 연결하는 장치. 데이터를 목적지로 보내기 위한 최적의 경로를 안내 ex : 유선 인터넷 선, Wi-Fi 송수신기
게이트웨이 (Gateway) | 라우터 (Router) | |
역할 | - 서로 다른 네트워크나 프로토콜 간에 데이터를 변환하고 중계 (이 과정에서 라우터의 기능 이 포함될 수 있음) - 요청을 처리하고 응답하는 주체 |
단순히 데이터의 경로를 결정하여 어디로 보낼지 안내하는 역할 (데이터 처리나 변환X) |
사용 목적 |
다른 프로토콜을 사용하는 네트워크 간의 데이터 통신 지원 |
같은 프로토콜을 사용하는 네트워크 간 데이터 전달 |
예시 | 내부 네트워크와 인터넷, 또는 서로 다른 네트워크 구조 간의 연결 |
가정∙회사에서 내부 네트워크(LAN) - 외부 네트워크(WAN) 연결 |
기능 | 데이터를 중계하고 필요시 변환 (라우터의 기능 포함 가능) |
데이터를 라우팅하여 목적지로 보내는 경로 결정 |
트래픽 관리 |
네트워크 간 데이터를 변환, 중계, 라우팅 (필요 시 보안 기능 포함) |
네트워크 간 데이터 패킷의 경로를관리 |
3) 통신
- 트래픽 (Traffic)
- 네트워크에서 데이터를 주고받는 양∙흐름
- 즉, 네트워크에서 데이터가 이동하는 과정에 발생하는 모든 데이터 전송을 트래픽이라고 함
- 트래픽이 많아지면 네트워크가 느려질 수 있음
인바운드 트래픽 (Inbound Traffic) |
아웃바운드 트래픽 (Outbound Traffic) |
|
정의 | 외부에서 네트워크로들어오는 데이터 | 네트워크에서 외부로 나가는 데이터 |
예시 | 사용자가 웹사이트에서 이미지를 다운로드하거나, 이메일을 받을 때 발생하는 데이터 흐름 | 사용자가 이메일 을 보내거나, 서버에 데이터를 업로드할 때 발생하는 데이터 흐름 |
- 라우팅 (Routing) : 데이터가 네트워크를 통해 올바른 경로로 이동하는 과정
ex) 외부 네트워크와 통신하는 흐름
1. 내 호스트(컴퓨터)가 외부 네트워크(인터넷)와 통신하기 위해 데이터를 보냄
2. 이 데이터는 트래픽으로 발생 : 네트워크 상에서 데이터가 흐르는 과정
3. 라우터가 최적의 경로 설정 : 트래픽이 목적지까지 도달할 수 있도록 길잡이 역할
4. 게이트웨이 : 트래픽이 내부 네트워크에서 외부 네트워크로 나가거나∙들어올 때 통로 역할
5. 트래픽이 외부 서버(ex: 웹 서버)로 도달
6. 서버에서 응답 데이터를 트래픽으로 다시 내 호스트에 전달
4) 인터넷 vs 이더넷
인터넷 (Internet) | 이더넷 (Ethernet) |
전 세계적으로 연결된 네트워크의 집합으로, WAN의 형태 | 근거리 통신망(LAN)에서 사용하는 유선 네트워크 기술 |
인터넷 프로토콜(TCP/IP)을 사용하여 장치 간 통신을 가능하게 함 |
이더넷 표준(IEEE 802.3)에 기반하여 LAN 내 장치 간 데이터 전송 |
전 세계와 연결된 네트워크를 의미하며, 인터넷 서비스를 통해 접근 가능 |
유선 케이블을 통해 연결된 장치들끼리 데이터를 주고받는 네트워크 방식 |
웹 브라우저를 통한 웹사이트 접속, 이메일, 스트리밍 같은 인터넷 서비스를 이용할 수 있음 |
PC, 프린터 같은 장치들이 LAN 내에서 유선으로 통신하는 데 사용됨 |
5) 주소 체계 (Address System)
① Global Network : 인터넷과같은 글로벌 네트워크는 물리적 연결(해저 케이블)을 통해 세계 각국이 연결되어 있음
② IP 주소 (Internet Protocol Address) : 네트워크에서 장치를 식별하기 위해 사용되는 숫자로 이루어진 주소
- DNS (Domain Name System) : 인터넷에서 사용하는 도메인 이름(예: www.example.com)을 IP 주소(예: 192.168.1.1)로 변환해주는 시스템
- IPv4 : 3자리 숫자(십진수)가 4마디(Octet, 옥탯)로 표기됨
- IPv4 주소: 192.168.0.1
- 4개의 옥탯: 192, 168, 0, 1
- 각 옥탯은 0에서 255까지의 숫자
- 옥탯(Octet) 당 비트 수:
- 각 옥탯은 8비트로 표현되며, 0과 1로 이루어진 8자리의 이진수 *bit = 0 or 1
- 각 옥탯은 256개의 값을 가질 수 있음
- 전체 비트 수:
- IPv4 주소는 4개의 옥탯으로 이루어져 있어, 총 32비트(8비트 * 4 = 32비트)로 구성
- IPv4 주소: 192.168.0.1
- IP 주소 각 자리의 의미
- 네트워크 영역 : 네트워크를 식별
- 호스트 영역 : 네트워크 내에서 특정 장치(컴퓨터, 스마트폰 등)를 식별
- 네트워크 영역/호스트영역 구분법
- IP Class
Class | 네트워크 규모 | 네트워크 영역 / 호스트 영역 | 예시 |
A | 대규모 네트워크 | 첫 번째 옥탯(8비트) / 나머지 세 개의 옥텟(24비트) | 10.0.0.1 - 네트워크 영역: 10 - 호스트 영역: 0.0.1 |
B | 중규모 네트워크 | 첫~두 번째 옥탯(16비트) / 나머지 두 개의 옥텟(16비트) | 172.16.0.1 - 네트워크 영역: 172.16 - 호스트 영역: 0.1 |
C | 소규모 네트워크 | 첫~세 번째 옥탯(24비트) / 마지막 옥텟(8비트) | 192.168.1.1 - 네트워크 영역: 192.168.1 - 호스트 영역: 1 |
D/E | 멀티캐스트/연구∙개발용 | N/A | N/A |
- CIDR (Classless Inter Domain Routing)
- 고정된 IP 클래스 대신, 가변 길이 서브넷 마스크를 사용; IP 주소 뒤에 슬래시(/)와 함께 네트워크 영역의 비트 수를 표시
- CIDR에서는 IP 주소를 블록 단위로 관리
[tip]
* 서브넷 : 큰 네트워크를 더 작은 네트워크로 나눈 부분
* 서브넷 마스크(Subnet Mask) : CIDR에서 네트워크/호스트 영역을 구분하는 숫자. 서브넷을 정의하는 도구
ex) 192.168.1.0/24
- 서브넷 마스크 : 255.255.255.0
- 255 : 이진수로 11111111. 네트워크 영역
- 0 : 이진수로 00000000. 호스트 영역
- 즉, 이 서브넷 마스크는 첫 24비트가 네트워크 영역이고, 나머지 8비트가 호스트 영역이라는 의미
* 블록(Block) : CIDR에서 네트워크에 할당된 IP 주소 범위
ex) 192.168.1.0/24
- 블록 범위 : 192.168.1.0 ~ 192.168.1.255
- /24 : 네트워크 영역이 24비트라는 의미
- 따라서, 남은 8비트는 호스트 영역에 할당 됨. 2^8 = 256개의 IP 주소가 이 블록에 포함됨
③ 사설 IP
- 내부적으로만 사용하는 네트워크. 외부 네트워크(인터넷)와는 직접적으로 통신할 수 X
④ NAT (Network Address Translation)
- 사설 IP가 인터넷과 통신하려면 NAT을 통해 공용 IP로 변한되어야 함
3. 온프레미스/클라우드
1) 온프레미스 vs 클라우드
온프레미스 (On-Premise) | 클라우드 (Cloud) | |
정의 | 외부 제공자가 관리하는 가상 인프라를 인터넷을 통해 사용하는 방식 | IT 인프라를 자체적으로 설치∙소유하고 관리하는 방식 |
설치 위치 | 회사 내 물리적 서버 | 가상 서버, 외부 클라우드 제공자의 데이터 센터 |
초기 비용 | 높음 (서버 구매 및 설치 비용) | 낮음 (사용한 만큼 지불) |
관리 | 기업이 직접 관리 | 클라우드 제공자가 하드웨어 및 인프라 관리 |
확장성 | 자원 확장을 위해 추가 하드웨어 구매 필요 | 필요에 따라 쉽게 자원 확장 가능 |
접근성 | 내부 네트워크에서만 접근 가능 (외부 접근 시 VPN 등 필요) | 언제 어디서나 인터넷을 통해 접근 가능 |
보안 통제 | 기업이 직접 보안 통제 | 클라우드 제공자가 보안 관리 (추가 설정 가능) |
2) 클라우드 서비스의 종류
① IaaS (Infrastructure as a Service, 인프라 서비스)
- IaaS는 가상 서버, 네트워크, 스토리지 같은 기본 인프라 자원을 제공하는 서비스
- 사용자는 가상 서버를 통해 자신만의 운영체제와 애플리케이션을 설치하고 관리할 수 있음
- 예시: AWS(아마존 웹 서비스) EC2, Microsoft Azure, Google Cloud의 Compute Engine
② PaaS (Platform as a Service, 플랫폼 서비스)
- PaaS는 개발자들이 애플리케이션을 개발하고 배포할 수 있는 플랫폼 환경을 제공
- PaaS에서는 개발자가 인프라(서버, 네트워크, 스토리지)를 직접 관리하지 않아도 되고, 애플리케이션 개발에만 집중할 수 있음
- 예시: Heroku, Google App Engine, Microsoft Azure App Services
③ SaaS (Software as a Service, 소프트웨어 서비스)
- SaaS는 사용자가 소프트웨어를 직접 설치할 필요 없이 인터넷을 통해 애플리케이션에 접근하고 사용할 수 있는 서비스
- 사용자는 클라우드에 있는 애플리케이션을 통해 작업을 수행하며, 애플리케이션과 데이터는 모두 클라우드에 저장됨
- 예시: Google Drive, Microsoft Office 365, Dropbox, Slack
4. AWS
1) IAM (Identity and Access Management)
① Root vs IAM
루트 계정 (Root Account) | IAM 계정 (IAM User Account) | |
기본 권한 | 최초 생성된 계정. AWS의 모든 리소스 및 서비스에 대한 최고 관리자 권한을 가짐 | 루트 계정이 부여한 지정된 권한만 가짐 |
역할 | - AWS 계정 생성 시 기본적으로 생성되는 소유자 계정 - 모든 리소스와 서비스에 접근할 수 있음 |
특정 작업 및 서비스에 대한 접근 권한을 가지며, 루트 계정이 할당한 권한 내에서만 작업이 가능 |
사용 목적 | 보안상 가능한 한 사용을 최소화하고, 필요한 경우에만 사용해야 함 | - 일반적인 일상 작업을 처리하기 위한 계정 - 다양한 사용자에 대해 개별적으로 관리됨 |
삭제 가능 여부 |
삭제 불가능한 기본 계정 | IAM 사용자 및 그룹은 필요에 따라 생성 및 삭제할 수 있음 |
비밀번호 관리 |
루트 계정 비밀번호는 매우 중요하며, 강력한 보안을 유지해야 함 | 각 IAM 사용자는 고유한 비밀번호를 설정하고, 별도의 보안 정책을 적용할 수 있음 |
다중 사용자 사용 | 한 명의 소유자만 사용해야 함 | IAM 사용자는 여러 명이 각각 다른 계정을 가질 수 있음 |
보안 권장 사항 |
다중 요소 인증(MFA)을 설정하여 보안을 강화하고, 가능한 한 사용을 최소화 | 각 사용자에게 필요한 최소한의 권한만 부여하고, 필요에 따라 MFA를 설정할 수 있음 |
② 최소 권한의 원칙(Principle of Least Privilege, PoLP)
- 필요 최소한의 권한만 부여: 사용자는 업무를 수행하는 데 필요한 최소한의 권한만 가져야 하며, 그 이상의 권한은 부여하지 않음
- 불필요한 접근 차단: 만약 사용자가 불필요한 권한을 가지고 있다면, 보안 사고나 데이터 유출의 위험이 증가할 수 있음. 최소 권한 원칙은 이러한 리스크를 최소화하는 데 목적이 있음
③ Policy vs Roles
Policy(정책) | Roles(역할) | |
권한 부여 대상 |
개별 사용자 또는 그룹에게 지속적인 권한을 부여 | 사용자 또는 서비스가 임시로 권한을 부여받음 "임시로 역할 모자를 씀" |
권한의 지속성 |
항상 적용되는 권한 (변경 전까지 지속) | 임시 권한 (작업이 완료되면 권한 해제) |
적용 대상 | 개인별, 그룹별로 적용하여 특정 리소스에 대한 접근 권한을 부여 | 특정 작업이나 서비스에 대해 임시로 적용 |
사용 시점 | 사용자나 그룹이 항상 권한을 가지고 있음 | 필요할 때 역할을 전환(Assume Role) 하여 권한 사용 |
예시 | 특정 사용자에게 S3 버킷 읽기/쓰기 권한을 부여 | Lambda 함수가 일시적으로 S3에 접근하여 파일 업로드 |
보안 관점 | 지속적인 권한이므로 최소 권한 원칙을 엄격히 적용해야 함 | 임시 권한이므로 필요한 시점에만 사용, 더 높은 보안 |
구성 방식 | JSON 형식으로 허용(Allow) 또는 거부(Deny) 설정 | 임시 역할을 맡을 수 있는 주체를 지정하는 신뢰 정책 필요 |
주요 사용 예시 |
일상적인 작업 처리: IAM 사용자나 그룹이 항상 필요한 권한을 보유 | AWS 서비스 간 상호 작용이나 외부 사용자가 리소스에 접근할 때 |
📘AWS 실습
[Root 계정]
① IAM 검색 → 대시보드 확인
② 계정 ID를 대신할 별칭 생성 → 로그인 URL도 별칭으로 바뀜
③ 그룹 생성 : 사용자 그룹 → 그룹 생성 → 해당 그룹을 관리자로 만듦
- AWS 관리형 : AWS에서 만들어준 권한
- 사용자 관리형 : 사용자가 임의로 생성한 권한
[tip] AWS 리소스 : AWS에서 제공하는 다양한 서비스와 그에 대한 객체
카테고리 | 리소스 | 설명 |
컴퓨팅 (Compute) |
EC2 (Elastic Compute Cloud) | 가상 서버를 제공하는 서비스 |
Lambda | 서버리스 코드 실행 서비스 | |
ECS (Elastic Container Service) | Docker 컨테이너 관리 서비스 | |
EKS (Elastic Kubernetes Service) | Kubernetes 기반 컨테이너 관리 서비스 | |
스토리지 (Storage) |
S3 (Simple Storage Service) | 객체 기반 스토리지, 파일 저장 서비스 |
EBS (Elastic Block Store) | EC2 인스턴스에 연결되는 블록 스토리지 | |
Glacier | 저비용 데이터 아카이빙 서비스 | |
EFS (Elastic File System) | EC2 간의 파일 스토리지 서비스 | |
데이터베이스 (Database) |
RDS (Relational Database Service) | 관리형 관계형 데이터베이스 서비스 |
DynamoDB | NoSQL 데이터베이스 서비스 | |
Aurora | 고성능 관계형 데이터베이스 서비스 (MySQL, PostgreSQL 호환) | |
Redshift | 대규모 데이터 분석용 데이터 웨어하우스 서비스 | |
네트워킹 (Networking) |
VPC (Virtual Private Cloud) | 사용자 정의 가상 네트워크 |
Route 53 | DNS 관리 및 트래픽 라우팅 서비스 | |
Elastic Load Balancer (ELB) | 여러 인스턴스 간 트래픽 분산 서비스 | |
CloudFront | 글로벌 CDN(Content Delivery Network) 서비스 | |
보안 및 관리 (Security & Management) |
IAM (Identity and Access Management) | AWS 리소스에 대한 접근 제어 서비스 |
KMS (Key Management Service) | 데이터 암호화를 위한 키 관리 서비스 | |
CloudWatch | 리소스 모니터링 및 로그 관리 서비스 | |
CloudTrail | AWS API 호출 기록 서비스 | |
데이터 분석 (Analytics) |
EMR (Elastic MapReduce) | Hadoop/Spark 기반 대규모 데이터 분석 서비스 |
Kinesis | 실시간 데이터 스트리밍 및 처리 서비스 | |
Athena | S3 데이터를 SQL로 쿼리하는 분석 서비스 | |
Glue | 데이터 ETL(추출, 변환, 로드) 서비스 | |
AI 및 머신러닝 (AI & ML) |
SageMaker | 머신러닝 모델 구축, 학습, 배포 서비스 |
Rekognition | 이미지 및 비디오 분석 서비스 | |
Polly | 텍스트를 음성으로 변환하는 서비스 | |
Lex | 대화형 인터페이스를 구축하는 자연어 처리 서비스 | |
메시징 및 통합 (Messaging & Integration) |
SQS (Simple Queue Service) | 메시지 큐를 이용한 비동기 통신 서비스 |
SNS (Simple Notification Service) | 메시지 전송 및 푸시 알림 서비스 | |
Step Functions | 워크플로우 자동화 서비스 | |
API Gateway | API 생성 및 관리 서비스 |
[tip] ARN(Amazon Resource Name) : AWS에서 리소스를 고유하게 식별하기 위한 식별자
④ 사용자 생성 → 그룹에 추가 → 그룹 단위로 권한 부여
- 권한 부여 방식 : 사용자에게 직접 부여 / 그룹 단위로 부여 / 역할 모자 씌워서 부여
⑤ MFA 생성
- MFA(Multi-Factor Authentication, 다중 인증) : 사용자 인증을 위해 두 가지 이상의 서로 다른 인증 요소를 설정하는 보안 방식
- Root 계정 & IAM 계정 모두 MFA 설정 가능
- 핸드폰 앱스토어에 MFA 검색 후, Google Authenticator 다운 → 디바이스 이름 임의 설정 → MFA 설정
- Root 계정 로그아웃 → IAM 계정으로 로그인 → IAM 계정도 MFA 설정
⑥ Root 계정 접속 화면
⑦ IAM 접속 화면
[IAM 계정]
① 그룹 단위로 권한 부여 : 새로운 그룹∙사용자 생성하여 권한 부여
- 그룹 권한 설정 : 새로운 그룹 생성 → 사용자 그룹 → 그룹 생성 → 권한 정책 연결 : EC2 검색 → AmazonEC2FullAccess 체크
- 사용자 권한 설정 : 새로운 사용자 생성(이 때 '콘솔로 로그인' 항목에 체크 안하면 이 사용자 계정은 콘솔로 로그인할 수 없음) → 그룹 연결
- 새 tag 추가 : 특정 사용자 선택 → 새 태그 추가
[tip] Tag
- 태그 : AWS 리소스(사용자, EC2 인스턴스, S3 버킷 등)에 키-값 쌍 형태로 메타데이터를 추가하는 기능
- 태그를 추가하는 이유 : 리소스 관리와 조직화를 더 쉽게 하기 위함
ex) Tag : Department=Finance
→ 사용자가 재무 부서에 속해 있다는의미
→ 이 태그를 이용해 재무부서 소속 사용자들만 필터링하거나 비용을 추적할 수 있음
- Last Accessed : 사용자의 엑세스 로그 (사용자가 AWS 리소스에 접근한 내역)
② 사용자 단위로 직접 권한 부여 : 특정 사용자 선택하여 권한 부여
- 권한 추가 → 권한 옵션 (직접 정책 연결) → rdsfull 검색 → AmazonRDSFullAccess 선택
- 권한 커스텀 하기
- 정책 → 정책 생성 → 정책 편집기 : Sid, Effect, Action, Resource 등에 대해 편집 가능 → 정책 이름 설정 → 추후 정책에서 정책 이름 검색시 조회 가능
- Sid(Statement ID) : 각 정책에 고유한 이름을 붙이는 역할 (식별자)
- Effect : 해당 정책이 허용(Allow)될지, 금지(Deny)될지를 결정
- Action : 어떤 작업을 허용하거나 금지할지를 정의
- Resource : 정책이 적용될 AWS 리소스를 지정
- Action, Resource는 직접 타이핑 어려움. 원하는 서비스 검색하여 선택
- Action 에서 ["s3:*"] : S3 서비스에 대한 전체 권한 허용 *는 와일트 카드
- Resource 에서 ["*"] : 전 Resource에 대한 권한 허용
- 정책 → 정책 생성 → 정책 편집기 : Sid, Effect, Action, Resource 등에 대해 편집 가능 → 정책 이름 설정 → 추후 정책에서 정책 이름 검색시 조회 가능
③ 역할(Role) 단위로 임시 권한 부여
- 역할 → "Principal": {"Service":"support.amazonaws.com"}
- 역할(Role)은 IAM에서 특정 권한을 부여받아 AWS 리소스에 접근할 수 있는 자격을 의미. 사용자는 AWS 계정에 속해 있는 자가 아니더라도 역할(Role)을 이용해 AWS 리소스에 접근할 수 있음
- 역할을 사용하면 AWS 리소스 간의 보안 인증을 설정할 수 있음. 예를 들어, 웹 서버와 데이터베이스(DB) 사이의 접근 인증을 역할을 통해 관리할 수 있음
- 역할을 부여받은 주체는 그 역할에 정의된 권한에 따라 특정 AWS 리소스에 접근할 수 있음
- ex : EC2 인스턴스가 S3 버킷에 접근하려면, 해당 EC2 인스턴스에 역할(Role)을 부여하여 S3 버킷에 접근할 수 있는 권한을 부여함
- Principal(주체) : AWS 리소스에 접근하려고 시도하는 주체. 어떤 사용자∙서비스가 해당 역할(Role)에 접근할 수 있는지를 지정
📙 내일 일정
- aws 실습
'TIL _Today I Learned > 2024.10' 카테고리의 다른 글
[DAY 66] AWS 클라우드 환경 이해 및 실습 (0) | 2024.10.23 |
---|---|
[DAY 65] AWS, Linux 란? (2) | 2024.10.22 |
[DAY 63] AWS 특강 (0) | 2024.10.18 |
[DAY 62] 자연어 처리 (NLP) 복습 (4) | 2024.10.17 |
[DAY 61] NLP 실습???????? (0) | 2024.10.16 |