EC2 네 개로 API 호출하기

Alex·2024년 8월 26일

GenAI해커톤

목록 보기
4/9

내가 해커톤에서 공시정보 API로 호출해야 하는 회사는 약 10만 개.

API를 10만번 정도 돌려야 한다. 그런데, API를 한번에 계속 호출하니 DART에서 내 IP를 차단했다.

결국, API를 호출하는 시간을 조절했다. 1초에 한번씩, 그리고 100번을 호출하면 1분간 쉬어주는 방식으로 조정했다.

다만, 이렇게 하니까 API로 1만개의 회사를 호출하려니 약 5시간이 걸렸다. 이번에 새로 알게된 내용인데 내 로컬 PC로 백그라운드로 돌리더라도 노트북을 닫으면 JVM도 작동하지 않았다;;

새벽에 좀 돌려놓으려고 했더니 이 방법도 쓸 수 없는 것이었다.

해커톤이라는 특성상 더 빠른 작업이 필요했다.
그래서, AWS에서 제공하는 EC2 서버 네 개를 사용하기로 했다.

어차피 AWS t2.micro는 프리티어로 무료 사용이 가능해서 이 정도로 사용해도 과금이 되지 않을 것이다.

1) 메모리 스왑
sudo dd if=/dev/zero of=/swapfile bs=128M count=16
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo vi /etc/fstab
끝줄에 /swapfile swap swap defaults 0 0추가

2)자바 설치
sudo apt update
sudo apt install openjdk-17-jdk

3)경로 변경

(nano output1.csv -->ctrl+o +ctrl+x)

"/home/ubuntu/gen/ouput1.csv"
"/home/ubuntu/gen/ouput"

4)빌드 gradlew 권한 허용
chmod +x gradlew

이렇게 만드 EC2 네 개로 API 요청을 하고 있다... 빠르게 작업을 할 수 있게 됐다!

정말 편한 방식이고 내 로컬은 개발서버로 사용할 수 있어서 좋다.

profile
답을 찾기 위해서 노력하는 사람

0개의 댓글