더보기
80일 차 회고.
주말에 벽에 손목을 부딪힌 곳이 아직도 아파서 자꾸 신경 쓰여서 집에 가면 파스를 붙여야겠다.
1. AWS
1-1. Slack
Slack
- 클라우드 기반의 팀 협업 도구
- 실시간 메시지 전송
- 파일 공유
- 작업 관리
- 조직이 통합된 환경에서 효율적으로 커뮤니케이션할 수 있도록 지원한다.
1-2. Slack Bot
Slack Bot
- Slack 내에서 동작하는 자동화된 도우미
- 메시지 전송
- 알림 수신
1-3. Python
가상환경 생성
uv venv .venv -p 3.13
.\.venv\Scripts\activate
uv pip install -r requirements.txt
# requirements.txt
slack_sdk
python-dotenv
boto3
파일 구조
slackbot/
├─ .venv/
├─ lambda/
│ ├─ alarm/
│ │ ├─ app.py
│ │ └─ requirements.txt
│ ├─ test/
│ │ ├─ app.ipynb
│ │ ├─ app.py
│ │ └─ requirements.txt
├─ layer/
│ ├─ common/
│ │ ├─ constant.py
│ │ ├─ sns_slack.py
│ │ └─ utils.py
│ └─ requirements.txt
├─ .env
├─ .gitignore
├─ alarm.py
├─ buildspec-eventbridge.yml
├─ buildspec-lambda.yml
├─ buildspec-sns.yml
├─ event.py
├─ requirements.txt
├─ template-eventbridge.yml
├─ template-lambda.yml
└─ template-sns.yml
1-4. AWS CloudFormation
SAM(Serverless Application Model)
- IaC(Infrastructure as Code) 기반의 서버리스 애플리케이션 구축 프레임워크
- SAM 템플릿으로 인프라를 정의하고, CloudFormation을 통해 배포 및 관리한다.
CloudFormation
- AWS 리소스를 선언적으로 모델링하고 설정한다.
- 리소스 관리 시간을 절약하고 효율적인 운영이 가능하다.
Role 생성
- AWS CloudFormation Role을 생성한다.

- 권한을 추가한다.
- AmazonEventBridgeFullAccess
- AmazonS3FullAccess
- AWSCloudFormationFullAccess
- AWSLambda_FullAccess
- AWSLambda_FullAccess
- CloudWatchEventsFullAccess
- CloudWatchFullAccess
- Role 이름을 지정한다.

1-5. AWS Lambda
Lambda
- 서버리스 FaaS(Function-as-a-Service) 솔루션
- 인프라 관리 없이 이벤트 기반 함수를 실행할 수 있다.
Connection 생성
- Connection을 생성한다.

Project 생성
- 프로젝트 이름을 지정한다.

- GitHub Repository를 연결한다.

- Buildspec 파일 이름을 설정한다.

Role 권한 추가
- AmazonS3FullAccess 권한을 추가한다.

Build 실행
- Build가 성공하면 S3에 데이터가 생성된다.
Pipeline 생성
- 생성 옵션을 지정한다.

- pipeline 이름을 지정한다.

- GitHub 레퍼지토리와 연결한다.

- 빌드를 설정한다.

- 배포를 설정한다.


- Pipeline을 생성한 후 Build 단계에 들어가면, CloudFormation에 Stack이 생성되고 Events를 실시간으로 확인할 수 있다.
삭제
- CloudFormation - Stack
- Lambda - Layer
- CloudWatch - Log group
1-6. AWS SNS
SNS(Simple Notification Service)
- Publisher가 메시지를 전송하면 Subscriber에게 전달한다.
- 비동기 메시징을 위한 완전관리형 서비스
- 구성 요소
- Topic
- Publisher
- Subscriber
Project 수정

Pipeline Release Change
- Pipeline을 실행한 후, SNS 리소스가 생성되었는지 확인한다.
1-7. AWS EventBridge
EventBridge
- AWS 리소스의 상태 변화나 예약 이벤트에 따라 작업을 실행한다.
- 다양한 소스(AWS 서비스, 애플리케이션 등)에서 이벤트를 수집하고, 특정 AWS 서비스로 전달한다.
1-8. 리소스 정리(삭제)
- CloudFormation - Stack
- Lambda - Layer
- CloudWatch - Log group
- CodeBuild
- Pipeline
- Project
- History
- Connection
- Role
'SK네트웍스 Family AI캠프 10기 > Daily 회고' 카테고리의 다른 글
| 81-82일차. 단위 프로젝트(AI활용 애플리케이션 개발) (0) | 2025.05.13 |
|---|---|
| 79일차. AWS - CodePipeline (0) | 2025.05.07 |
| 78일차. AWS - EC2 (1) | 2025.05.02 |
| 77일차. AWS - IAM & EC2 (0) | 2025.04.30 |
| 76일차. Django (0) | 2025.04.29 |