구름톤 쿠버네티스 과정 시작 후 드디어 프로젝트 기간이 시작되었다. 늦더라고 하루하루 있었던 일을 velog에 기록하려 한다 😁
프로젝트 2일차 기록을 작성한다 🔥 머신 러닝을 위해 필요한 데이터 수집이 필요하다. 그럼 어떤 데이터를 저장해야 할까?
요금 납부를 위해 1개의 AWS 계정 사용이 필요했고 수아님의 계정을 사용하기로 결정했다. 수아님은 루트 계정을 그대로 사용하기로 했고 🤔나는 IAM 사용자 계정을 발급 받아 사용하기로 했다.
'자막 수집 서비스'를 만들고 데이터를 요청하니까 이런 에러가 발생했다 😢
원하는 결과를 얻기 위해 검색을 하곤 한다. 이번 포스팅은 잘못된 검색에 대한 고찰을 짧게 적어본다 🔥
'자막 수집 서비스'는 python 3.12 버전의 환경이 필요했다. 이때 AWS Red Hat Linux 환경의 EC2를 사용했는데 파이썬을 설치하면서 고찰을 적어본다 🔥
'자막 수집 서비스'에서 각 문제별 수집된 데이터 수 현황을 보여주는 기능을 만들었다. 이때 DynamoDB 조회가 필요했는데 이것에 관한 고찰을 적어본다 🔥
AWS EC2 linux 환경에 있는 파일을 내PC(윈도우)로 가져오고 싶었다. FileZilla로 이동한 경험은 있었지만 이런 프로그램에 의존하지 않고 명령어로 가져오고 싶어 다른 방법을 찾게 되었다 🔥
현재 K8S팀에서 백엔드 서비스 구현까지 담당하고 있다. 회의를 통해 streamlit을 이용하면 간편하게 웹 앱 구현이 가능하다고 하여 현재 진행중인데 소셜 로그인 구현 과정을 적어본다 🔥
aws ec2에서 실행되는 서비스가 aws dynamoDB와 연동되게 하는 것은 쉽다. 그러나 로컬에 올린 서비스가 aws dynamoDB와 연동되려면 한 가지 주의사항이 있다 🔥
메모리가 부족 현상으로 항상 인스턴스 중지, 유형 변경, 시작을 반복하게 된다. 내가 구현하는 서비스가 어느 정도의 리소스를 필요로 하는지 알 수 없을까? 🤔
AWS 환경에서 쿠버네티스를 사용하고 싶었다👀 EKS라는 단어는 많이 들어 보았지만 구축은 처음이었다. 그 과정을 공유한다 🔥🔥🔥
docker hub를 사용해도 좋지만 AWS로 모든 환경을 구성하고 싶었다. AWS에도 이미지 저장소 역할을 하는 ECR이 있었고 사용한 과정을 공유한다 🔥🔥🔥
생성하려는 pod가 많은 리소스를 요구할 때 현재 운영되는 노드에 정상적으로 배포되지 않을 때가 있다 😢 이럴 때는 용량이 더 큰 새로운 노드 그룹을 만들어야 한다. 그 과정을 공유한다 🔥🔥🔥
eks cluster 내 서비스를 pod로 띄웠다면 외부에서 접속을 허용해야 한다. 오늘은 AWS EKS Clster에서 NodePort로 접속하는 과정을 공유한다 🔥🔥🔥
NLP 팀에서 학습한 모델을 좋은 퍼포먼스로 실행시키기 위해 SageMaker로 배포했다. 아니 배포 시도를 했다. 결과는 실패지만 배포하기 위해 노력했던 과정을 고찰한다 🔥
프로젝트의 운영 환경은 EKS cluster 다. 해당 환경에 서비스를 pod로 띄우기 전 난 항상 로컬에서 테스트 후 운영 환경에 올린다. 로컬에서 테스트를 하며 사용했던 docker network에 대해 적어본다 🔥
클러스터 내에 배포하고 싶은 앱의 deployment을 만들고 네트워크에 노출시키기 위해 service까지 만들었다면 외부에 노출하기 전 클러스터 내에서 접속 테스트를 해보는 것이 좋다. 이때 port-forward를 통해 확인했던 과정을 적어본다 🔥
이전에는 NodePort로 외부에 서비스를 노출했었다. 이번엔 EKS cluster 내에서 LoadBalancer로 서비스한 과정을 적어본다 🔥
백엔드 전반에 대한 구축과 EKS 클러스터 환경에 대한 관리를 하다 프로젝트가 끝이 났다. 프로젝트 중 궁금했던 것에 대한 질의 응답과 회고에 대해 짧게 적어본다 🔥