스파크 작업의 병렬 처리

세상에 너무나 많은 데이터가 생성됨으로 인해서 빅데이터 시대가 열렸고, 이 시대에 스파크 (Spark)와 하둡 (Hadoop)은 각각 분산 처리와 분산 파일 시스템의 대명사 격으로 자리잡았습니다. 이들이 있었기에 대용량의 데이터를 수평적인 확장을 통해서 다룰 수 있게 되었습니다. OpsNow에서도 내부적으로 AWS 등의 빌링 데이터를 일괄 처리하기 위해서 스파크를 사용하고 있었습니다. 하지만 스파크를 전문적으로 다룰 수 있는 개발자가 없어서…

Continue reading 스파크 작업의 병렬 처리

OpsNow의 AWS 빌링 데이터 처리 시스템 개발기

제가 처음 OpsNow에 합류하고 받은 업무 중에 하나는 데이터 레이크 구축이었습니다. 모든 데이터를 한 곳에 모아놓고 분석할 수 있는 시스템과 그 데이터들을 종합하여 다양한 서비스를 제공하고자 하는 원대한 포부가 있었습니다. 물론 해당 프로젝트는 여전히 진행중이지만, 순차적으로 내부 시스템 개편을 위해 진행했던 세부 프로젝트중에 하나가 바로 AWS의 빌링 데이터 처리 시스템 개편이었습니다. 머나먼 과거에는… 모든 프로젝트는…

Continue reading OpsNow의 AWS 빌링 데이터 처리 시스템 개발기

Windows에서 Mac, Linux처럼 CLI 사용하기

윈도우 (Windows)는 태생부터 리눅스 (Linux)와 다르다보니, CLI 환경도 리눅스 기반의 OS와는 너무나 다른 환경을 가지고 있습니다. 윈도우에서는 CMD를 사용하고 리눅스에서는 배쉬를 사용하다 보면 여간 헷갈리는게 아닙니다. 그래서 어떻게 하면 좀 더 일관된 환경에서 개발이 가능할까 고민을 해보았습니다. 제가 찾은 해답은 바로 윈도우에서도 배쉬를 이용하는 것이었습니다. 그리고 가장 흔하게 접할 수 있는 배쉬는 깃 (Git)에서 제공하는…

Continue reading Windows에서 Mac, Linux처럼 CLI 사용하기

AWS SAM으로 개발하기

클라우드 컴퓨팅 서비스가 점차 다양한 형태로 발전하면서 단순히 공유 인프라를 제공하던 IaaS (Infrastructure as a Service)를 뛰어넘어 인프라 관리를 신경 쓸 필요가 없는 PaaS (Platform as a Service) 형태의 서비스가 널리 퍼져나가고 있습니다. 개발자가 컴퓨팅 자원, 즉 서버에 대한 관리를 할 필요가 없기 때문에 흔히 Serverless라고 불립니다. 이처럼 애플리케이션을 개발/운영하는데 인프라의 경계가 사라지고 Serverless가 등장함으로써…

Continue reading AWS SAM으로 개발하기

AWS EC2에 IAM으로 SSH 연결하기

AWS에서는 IAM (Identity & Access Manager) 이라는 서비스가 존재합니다. 이 서비스는 사용자와 롤에 대한 정책 관리를 제공합니다. 그러면 관리자는 세밀한 서비스 접근 제어를 구현할 수 있습니다. 이와 더불어 AWS Systems Manager에서는 세션 관리자 (Session Manager)라는 기능을 제공하는데, 사전에 SSM-Agent가 설치된 EC2에 대한 웹 SSH를 연결할 수 있는 기능을 제공하고 있습니다. 본 글에서 소개할 SSH 연결…

Continue reading AWS EC2에 IAM으로 SSH 연결하기

AWS EC2에 개인 키로 SSH 연결하기

AWS를 처음 시작하면 일반적으로 EC2를 가장 먼저 배포하게 되고, 그 위에서 작업을 시작하게 됩니다. On Premise에서는 개인 키 (Private Key)를 사용하든지 사용자 이름과 암호를 사용하여 로그인을 할 수 있었습니다. 그러나 AWS에서는 기본적으로 개인 키를 사용하도록 설정되어 있습니다. 이런 상황에서 VPC와 서브넷 구성, 그리고 보안 그룹에 따라서 EC2에 바로 연결이 될 수도, 안될 수도 있습니다. 이번…

Continue reading AWS EC2에 개인 키로 SSH 연결하기

AWS에서 워드프레스 블로그에 CDN 구축하기

앞에서 이미 워드프레스 블로그를 구축하였는데, 굳이 S3와 CloudFront를 이용해야 하는 이유가 무엇일까요? S3를 사용하는 이유는 블로그에 업로드하는 모든 컨텐츠를 분리 보관하여 추후 재해 복구 상황을 대비하기 위함과 동시에 정적 콘텐츠를 제공하는 것에 대한 리소스 부담을 덜어내기 위함입니다. CloudFront를 사용하는 이유는 이러한 정적 콘텐츠를 CDN으로 서비스하여 보다 빠르게 콘텐츠를 전달하고 CFRC (CloudFront Reserved Capacity)를 이용하여 비용을…

Continue reading AWS에서 워드프레스 블로그에 CDN 구축하기

AWS에서 워드프레스 블로그 구축하기

OpsNow에서는 워드프레스 블로그를 어떻게 구축했을까요? 워드프레스는 웹사이트의 규모에 따라서 백엔드 아키텍처가 달라집니다. 같은 구조에서 수직 확장도 물론 가능하지만, 언제나 수평 확장이 유리하기 때문입니다. 저희 블로그는 이제 구축한 단계이므로 보통 난이도의 수평 확장을 염두에 둔 구조로 이루어져 있습니다. 핵심 키워드는 다음과 같습니다. ALB (Application Load Balancer)와 ACM (AWS Certificate Manager)을 이용한 SSL S3 (Amazon Simple Storage…

Continue reading AWS에서 워드프레스 블로그 구축하기