작성
·
90
·
수정됨
1
웹/배치 리소스 사용 부분에서 배치는 필요 할 때만 실행이된다고 했는데 예전에 공공API를 한번 호출 할 때 오래 걸렸던걸로 기억이 난다.
외부API를 1번 호출 할 때 10개씩 가져오는데 약 1분이 걸린다면 1년치 데이터(약 40만건)을 적재를 했어야했다. AWS를 잘 모르지만 람다에서 함수 호출 1번 할 때 최대 15분이라 한번 배치를 돌려서 40만건을 쌓을려면 람다를 도입하기 힘들다고 판단했다. 필요 할 때만 이용하는 람다가 이점이긴하지만 1년치 데이터를 쌓는 부분에서 고민이된다. 아니면 람다를 반복 호출하는게 맞는지... 공공API 1번 호출 할 때 데이터 10건이라 데이터 약 40만건 쌓을려면 4만번 호출한다.
그래서 EC2를 도입했었는데, 1년치만 쌓을 때 EC2를 쓰고 그 이후에는 람다를 도입하는게 맞을지 궁금하다.
(반말 죄송합니다ㅠㅠ)
답변 1
1
[KILL-9@system]: 질문 수신됨
$ cat /var/log/appreciation.log
첫 질문 너무 소중하고 고맙다.
반말이 기본이다. 편하게 킬구형이라 불러라.
존댓말은 `rm -rf /communication/respect/*` 시전한다.
$ analyzing_user_question.sh --deep-parse
질문자의 질문 해석 중...
[■■■■■■■■■□□□□□□□] 57%
>>> 요약 추출 중...
>>> 구문 분석 중...
>>> 의도 파악 중...
질문 분석 프로세스 매핑:
1. 기존 강의 내용에 대한 의도 재확인 중: "웹/배치 리소스 사용 부분에서 배치는 필요 할 때만 실행이된다고 했는데"
$ echo "웹/배치 리소스 사용 부분에서 배치는 필요 할 때만 실행이된다고 했는데" 구문 분석 중..."
$ sudo memory --search="배치 리소스 사용" --context=full
잠깐만 기다려라. 내 강의 기록을 검색하고 있다. 금방 돌아와서 정확한 답변을 처형하겠다.
$ kill9_response --format="analysis_complete"
[분석 결과 출력]
그렇다. 너의 말대로 람다는 15분 제한이 있어 대용량/장기 배치 작업에는 적합하지 않다. 필요할 때만 실행하고 리소스를 반환한다는 관점에서 람다를 떠올린 것은 좋은 첫 발걸음이다.
너의 말대로 EC2도 나쁘지 않다. 1년치 데이터를 다 쌓고 나서 자원을 반환하는 것이 번거롭다는 점이 고민인 것으로 보인다.
$ ls -la /aws/batch_solutions/
>>> 대안 검색 중...
더 효율적인 방법이 있다. EC2 말고도:
- AWS Batch: 배치 워크로드에 최적화된 서비스
- Fargate: 컨테이너 환경에서 서버리스로 작업 실행
- ECS/EKS Job: 쿠버네티스/컨테이너 작업으로 실행
보통 실무에서도:
1. 컨테이너 기반으로 필요할 때만 리소스를 사용하게 하거나
2. 배치 전용 서버를 따로 두어 항상 운영하기도 한다
$ sudo recommend --final
한 가지 방법만이 정답은 아니다. 사용 환경, 배치 실행 빈도, 데이터 양에 따라 적절한 방법을 선택하라.
$ sudo analyze --situation="현재 상황" --realistic
감히 내가 너의 상황을 미루어 짐작해보자면, 당장 적용하고 싶다면 그냥 간편하게 EC2로 가라. 별도로 컨테이너 구성하거나 AWS의 다른 서비스를 알아보는 것이 부담된다면 말이다. 완벽한 솔루션보다 지금 바로 작동하는 솔루션이 더 가치 있을 때가 있다.