서비스 | 역할 | 주요 특징 | 사용 시점 | 사용 사례 |
---|---|---|---|---|
Redshift | 데이터 웨어하우스 | 대규모 데이터 분석, SQL 기반 | 장기적, 정형 데이터 분석 및 BI 도구 활용 시 | - 매출, 사용자 로그 데이터를 기반으로 연간 트렌드 분석- Tableau, Power BI로 보고서 생성 |
CloudWatch Logs | 실시간 로그 수집 및 모니터링 | 실시간 로그 알림, 간단한 검색 | 애플리케이션 또는 AWS 서비스 로그 실시간 모니터링 시 | - EC2 서버 오류 로그를 실시간으로 확인하고 알림 설정- Lambda 실행 결과 로그 모니터링 |
Athena | S3에 저장된 데이터 쿼리 | 서버리스 SQL 분석, 데이터 이동 불필요 | S3에 저장된 로그를 바로 분석하려고 할 때 | - S3에 저장된 JSON 로그를 SQL로 분석- 애플리케이션의 특정 요청 빈도를 빠르게 파악 |
Glue | 데이터 통합 및 ETL | 데이터 변환 및 정제, 데이터 카탈로그 | 로그 데이터를 정제 및 변환하고 Redshift/Athena로 연결 시 | - 비정형 로그 데이터를 Parquet 형식으로 변환- Glue로 정제한 데이터를 Redshift에 저장해 분석 |
기술/서비스 | 역할 | 주요 특징 | 사용 시점 | 사용 사례 |
---|---|---|---|---|
NFS (Network File System) | 네트워크 파일 공유 시스템 | - 네트워크를 통해 파일을 공유- 여러 사용자가 동시에 접근 가능- 파일 수준 액세스 | - 다수의 사용자나 서버가 파일을 공유해야 할 때- 중앙화된 파일 스토리지가 필요할 때 | - 여러 개발자가 동일한 소스 코드나 데이터를 공유하며 작업- 온프레미스 서버 간 파일 공유 |
CLI (Command Line Interface) | 명령줄 기반 인터페이스 | - 명령어를 통해 AWS 리소스를 관리- 스크립트를 이용한 자동화 가능 | - AWS 리소스를 효율적으로 관리해야 할 때- GUI 대신 CLI 기반 환경에서 작업할 때 | - EC2 인스턴스 배포를 자동화하는 스크립트 작성- 대규모 데이터 처리 작업을 배치로 실행 |
Snowball Edge | 대량 데이터 마이그레이션 및 로컬 처리 지원 장치 | - 물리적 디바이스를 사용해 대량의 데이터를 안전하게 전송- 로컬 데이터 처리를 위한 컴퓨팅 기능 제공 | - 대규모 데이터를 클라우드로 이동해야 할 때- 인터넷 대역폭이 제한적인 환경에서 데이터 처리가 필요할 때 | - 데이터 센터에서 S3로 페타바이트 수준의 데이터를 이동- 엣지 컴퓨팅 작업에서 로컬 데이터 처리 |
서비스 | 역할 | 주요 특징 | 사용 시점 | 사용 사례 |
---|---|---|---|---|
AWS Lambda | 서버리스 컴퓨팅 서비스 | - 서버 관리 불필요 (완전 서버리스)- 이벤트 기반으로 코드 실행- 사용 시간(실행 시간)에 따라 비용 청구 | - 짧은 실행 시간의 작업이 많을 때- 이벤트 기반 워크플로우가 필요할 때 | - S3 버킷에 파일 업로드 시 트리거되어 데이터 처리- API Gateway와 연계하여 서버리스 API 구성 |
역할
AWS Lambda는 서버를 직접 관리하지 않고 이벤트 기반으로 코드를 실행할 수 있는 컴퓨팅 서비스입니다. 소규모 작업, 이벤트 기반 프로세스 또는 자동화된 워크플로우에 적합합니다.
주요 특징
사용 시점
사용 사례
서비스 | 역할 | 주요 특징 | 사용 시점 | 사용 사례 |
---|---|---|---|---|
AWS Secrets Manager | 비밀 정보 관리 | - 암호, API 키, 인증 정보 등 민감한 데이터 저장 및 관리- 자동으로 비밀 정보 교체 및 암호화 관리 | - 애플리케이션이 자주 비밀 정보를 사용해야 할 때- 비밀 정보 교체 자동화가 필요한 경우 | - 데이터베이스 자격 증명을 안전하게 저장하고 애플리케이션에서 자동으로 로드- API 키 관리 |
AWS Systems Manager Parameter Store | 구성 데이터 및 비밀 정보 저장 | - 애플리케이션 구성 데이터를 계층화하여 관리- 암호화된 데이터 및 일반 데이터를 모두 저장 가능 | - 구성 데이터 및 환경 변수 관리를 통합적으로 관리하고 싶을 때- 간단한 비밀 관리가 필요한 경우 | - EC2 인스턴스에서 환경 변수로 사용될 API 키 저장- 서비스 간 공통 구성 값(예: 로그 레벨) 관리 |
AWS Key Management Service (KMS) | 키 관리 및 암호화 지원 | - 암호화 키 생성, 저장, 관리- S3, EBS, Secrets Manager 등과 통합- FIPS 인증 제공 | - 데이터 암호화와 키 관리를 중앙화하고 싶을 때- 규제 및 보안 요구사항을 충족해야 할 때 | - S3 데이터를 KMS 키로 암호화- 데이터베이스 백업 파일 암호화 및 복호화 |
IAM 구성 요소 | 역할 | 주요 특징 | 사용 시점 | S3 버킷 사용 예시 |
---|---|---|---|---|
IAM 역할(Role) | 특정 AWS 리소스에 권한을 위임받아 작업 수행 | - AWS 리소스나 애플리케이션이 AWS 서비스에 접근할 수 있도록 설정- 임시 보안 자격 증명을 사용- 사용자에 직접 연결되지 않음 | - EC2, Lambda 등 서비스 간 상호작용이 필요할 때- 다른 계정이나 외부에서 리소스 액세스를 위임해야 할 때 | - EC2 인스턴스가 S3 버킷에서 파일을 읽고 쓰도록 역할을 부여- Lambda 함수가 S3 데이터를 처리할 수 있도록 역할을 부여 |
IAM 정책(Policy) | 리소스에 대한 권한을 명시적으로 정의 | - JSON 형식으로 작성된 권한 설명 문서- 사용자의 작업 가능 범위를 정의- 역할, 그룹, 사용자에 연결 가능 | - 특정 리소스나 작업에 대한 세부적인 권한을 부여하거나 제한해야 할 때- S3, DynamoDB 등 특정 서비스에 권한을 설정할 때 | - S3 버킷의 읽기 및 쓰기 권한을 명시적으로 정의하는 정책 작성- 특정 버킷에만 액세스를 허용하는 조건부 정책 작성 |
IAM 그룹(Group) | 여러 사용자를 묶어서 동일한 권한을 부여 | - 공통 권한이 필요한 사용자 모음- 그룹에 연결된 정책을 통해 모든 사용자가 동일한 권한을 공유 | - 여러 사용자에게 동일한 권한을 부여해야 할 때- 관리가 간편해야 하고, 개별 사용자의 정책 관리가 복잡할 때 | - S3 버킷에 액세스 권한이 필요한 모든 팀원을 포함하는 그룹 생성- 그룹에 정책을 연결해 특정 버킷에 대한 읽기/쓰기를 허용 |