Cronjob을 활용한 기업정보 크롤링 파이프라인 구축하기(1) - 기능 구현
·
Infra
직행과의 산학협력을 진행하면서, 기업 뉴스를 조회하는 새로운 기능을 제안하게 되었다.특히 제안한 기능은 해당 기업의 PR 부서가 내는 뉴스나 글에 대해서 보여주는 것이 목적이었고, PR 부서의 뉴스들만을 모아서 제공하는 서비스는 따로 존재하지 않았기 때문에 직접 뉴스나 글을 수집하는 파이프라인을 구축해야했다. 우선 최종 구축하게 된 크롤링 파이프라인의 흐름은 아래와 같다.전체 프로세스를 크롤링, 데이터 적재로 구분하여 구현하게 되었고, 크롤러는 크롤링의 역할을 수행하게 되고, 로더는 정보를 DB에 저장하는 역할을 수행하게 된다. # 크롤러와 로더로의 분리우선 가상 면접 사례로 배우는 대규모 시스템 설계 기초 책을 참고했을 때, 크롤러를 설계하는 로직에서 한 곳에서 모든 걸 처리하기보단 큐를 넣고 DB에..
EKS 클러스터 및 노드 그룹 생성, Kubectl 설치 및 연결
·
Infra
간단하게 워커 노드 2대로 이루어진 eks 를 구성하고 스프링 애플리케이션을 배포하려고 한다. 1. AWS IAM USER 생성IAM > 사용자 > 사용자 생성root 계정으로 작업하는 것은 지양해야하기 때문에, 관리자 권한을 가진 IAM USER를 생성한다. 엄격하게 필요한 권한만 줄 수도 있지만, 우선 클러스터를 구축하고 추후에 새로운 USER로 바꿀 생각이다.2. AWS IAM ROLE 설정IAM > 역할 > 역할 생성AWS 리소스 간에 서로에게 명령을 내리려면 다른 리소스를 제어하거나 접근할 수 있는 권한을 가진 ROLE이 할당 돼있어야 한다. 우선 클러스터 생성 과정에서 만들어야할 ROLE은 아래 2가지이다.EKS 클러스터 자체(컨트롤 플레인)가 AWS 리소스를 관리할 수 있도록 허용해 주는 역..
host.docker.internal은 왜 운영환경에서 사용하기 어려울까⁉️
·
AlgoMate
1️⃣ host.docker.internal은 로컬 개발용으로만 제공됨host.docker.internal은 Docker가 제공하는 내부 호스트 주소 매핑 기능이다.하지만 Docker Desktop(Windows/Mac) 환경에서만 지원되며, Linux 서버에서는 기본적으로 지원되지 않는다.운영 서버(예: AWS EC2, GCP, Kubernetes 환경)에서는 이 기능이 아예 작동하지 않거나, 설정이 필요하다.📌 운영 환경에서 작동하지 않는 이유로컬 개발 환경에서는 Docker Desktop이 자동으로 host.docker.internal을 설정하지만, 운영 환경에서는 Docker Engine이 이 설정을 제공하지 않는다.Linux 기반 Docker에서는 기본적으로 host.docker.interna..