[천재교육] 프로젝트 기반 빅데이터 서비스 개발자 양성 과정 9기
학습일 : 2025.01.10
📕 프로젝트 작업 내역
- ECR 이란
- API 란
📗 수행 결과
1. ECR 이란
1) Amazon ECR (Elastic Container Registry)
- Docker 이미지를 저장하고 관리할 수 있는 AWS의 컨테이너 이미지 저장
역할 | 설명 |
Docker 이미지 | 애플리케이션 실행 환경을 패키징한 파일 (예: 코드 + 라이브러리 + 설정 포함) |
ECR | Docker 이미지를 저장하는 리모트 저장소 GitHub Actions 또는 Airflow 등에서 이 이미지를 가져와 실행함 |
CI 단계 | GitHub에서 코드를 푸시하면, Docker 이미지로 빌드 → ECR에 자동 푸시 |
CD 단계 | Airflow 또는 Lambda가 ECR에서 최신 이미지를 Pull하여 실행 (자동화됨) |
[코드 변경 (GitHub)]
↓ (CI: 자동 빌드)
[Docker 이미지 생성]
↓ (CI: 자동 푸시)
[ECR 저장소에 업로드]
↓ (CD: Airflow DAG 실행 시)
[최신 이미지 Pull → 모델 학습 또는 라벨링 자동 실행]
2. API 란
1) API (Application Programming Interface)
- 서로 다른 프로그램끼리 대화할 수 있게 해주는 약속
- 예시
- 사람 : "이 문제 라벨링 해줘"
- 서버 : "이 문제는 분수 덧셈이야" 라고 알려줌
- → 이걸 사람이 아니라 코드끼리 주고받게 만든 것이 API
2) REST API (Representational State Transfer)
- API의 종류 중 하나로, 웹 기반 시스템에서 가장 널리 쓰이는 방식
요소 | 조건 |
요청 방식 (Method) | HTTP 기반 : POST, GET, PUT, DELETE 중 하나 |
엔드포인트 (URL) | 의미 있는 리소스 이름 사용 |
데이터 포맷 | JSON 등의 표준 형식으로 데이터를 주고 받음 |
3) FastAPI
- 파이썬으로 REST API 를 쉽게 만들 수 있게 해주는 프레임워크
- 자동 문서화됨 : Swagger UI 자동 생성됨
4) Swagger UI
- API 생성 프레임 워크(FastAPI, Flask 등)에서 REST API 를 웹 화면으로 문서화해서 보여주는 도구
특징 | 설명 |
자동 생성 | FastAPI로 코드를 짜면 Swagger 화면이 자동 나옴 |
API 테스트 가능 | 웹에서 API 요청도 직접 눌러볼 수 있음 |
문서화 용도 | “어떤 API가 있고, 어떤 요청을 받아야 하는지”를 자동으로 보여줌 |
4) 용어 정리
API | 프로그램끼리 통신하는 약속 (넓은 개념) |
REST API | 웹에서 자주 쓰는 API의 규칙 있는 버전 |
FastAPI | 파이썬으로 REST API를 쉽게 만들 수 있게 해주는 도구 |
Swagger UI | FastAPI로 만든 API를 웹에서 문서 + 테스트까지 해볼 수 있는 인터페이스 |
📙 내일 일정
- 최종 프로젝트 발표
'TIL _Today I Learned > 2025.01' 카테고리의 다른 글
[DAY 122] 최종 프로젝트_ 결과 도출 (0) | 2025.01.13 |
---|---|
[DAY 120] 최종 프로젝트_ MLflow 수행 결과 (0) | 2025.01.09 |
[DAY 119] 최종 프로젝트_ TrOCR 모델 추가 학습 (0) | 2025.01.08 |
[DAY 118] 최종 프로젝트_ Airflow 수행 결과 (0) | 2025.01.07 |
[DAY 117] 최종 프로젝트_ Airflow + MLflow 연동 (0) | 2025.01.06 |