📌 1. Slack Bot이란?
오늘은 Slack Bot의 기본 개념부터 살펴봤다.
Slack Bot은 Slack 내부에서 자동으로 동작하는 프로그램으로, 주로 알림, 자동응답, 업무 자동화 등에 활용된다.
Slack Bot의 활용 예
- 키워드에 따른 자동 응답
- 캘린더 연동 알림
- 특정 이벤트 발생 시 슬랙 채널 알림 전송
📌 2. AWS EC2 vs Lambda vs CloudFormation 차이점 정리
EC2
- 가상 서버를 직접 띄워서 사용하는 방식
- 운영 체제, 보안 설정 등 직접 관리 필요
- 장기적으로 돌아가는 서비스에 적합
Lambda
- 이벤트 기반의 함수 실행 서비스
- 서버 관리 불필요 (서버리스)
- 짧은 실행 시간, API 응답 등에 유리
CloudFormation
- 인프라를 코드로 관리 (IaC)
- EC2, Lambda 등 AWS 리소스를 템플릿으로 정의하고 배포 자동화
📌 요약:
EC2는 자가용, Lambda는 택시, CloudFormation은 자동차 조립 공장 설계도
📌 3. buildspec.yml 분석
CodeBuild의 빌드 과정을 정의하는 buildspec.yml 파일을 분석했다.
주요 단계 설명
- install: Python 3.11 설치
- build: SAM으로 코드 빌드
- post_build: 빌드된 결과물을 S3에 업로드
- artifacts: outputtemplate.yml 파일을 최종 산출물로 사용
📌 4. CodeBuild 에러 해결기: S3 권한 문제
An error occurred (AccessDenied) when calling the PutObject operation
🔎 원인: CodeBuild 역할에 S3 업로드 권한(s3:PutObject)이 없음
해결 방법
IAM 역할에 아래 정책을 추가:
{
"Effect": "Allow",
"Action": ["s3:PutObject", "s3:GetObject", "s3:ListBucket"],
"Resource": ["arn:aws:s3:::course-jenny", "arn:aws:s3:::course-jenny/*"]
}
💡 /* 경로까지 포함해야 업로드가 제대로 작동한다.
📌 5. AWS 리전이 자꾸 바뀌는 이유
AWS 콘솔이나 CLI에서 리전이 바뀌는 이유는 다음과 같다:
- 콘솔은 최근 사용한 리전을 자동 기억
- CLI는 ~/.aws/config, 환경변수, --region 플래그 순으로 결정
- CodeBuild/CloudFormation은 생성 시 리전 고정 → 리전 다르면 문제 발생
📌 6. Slack 알림 아키텍처 구조 분석
Lambda + SNS + CloudWatch를 이용한 Slack 알림 자동화 시스템을 분석했다.
흐름 요약
- CodePipeline 실행
- 실패 시 → Lambda가 CloudWatch에 에러 기록
- Alarm → SNS → Slack 전송용 Lambda 호출
- Slack 채널에 즉시 알림 도착
🔚 마무리
오늘은 AWS에서 자주 겪을 수 있는 권한 문제, 배포 자동화, 슬랙 연동 시스템 등 다양한 주제를 실습과 함께 정리해봤다.
단순히 서비스 사용법이 아니라 실전 문제 해결 능력을 키우는 데 의미 있는 하루였다.
'SK Networks Family AI bootcamp 강의노트' 카테고리의 다른 글
AI 특강 (6) | 2025.06.15 |
---|---|
73일차 [ 🚀 Django 개발 일지: WAS 개념부터 프로젝트 구조까지 한눈에 정리 ] (0) | 2025.05.08 |
71일차 [ EC2, Xshell ] (1) | 2025.04.30 |
65일차 [ docker & linux ] (0) | 2025.04.22 |
64일차 [ docker & nginx , network ] (0) | 2025.04.17 |