카테고리

올 여름 초입에 시작한 글또가 약 5개월만에 마무리되었다. 글또를 한 번 하니 한 해가 다 가는 느낌이 든다. 길고도 짧은 시간이었지만 글또 활동을 통해 변화된 점이 무엇인지 돌아보고자 한다. 글또? 글쓰는 또라이들가 세상을 바꾼다 특정 기간동안 집중하여 2주에 한 번 글을 쓰는 개발자들의 모임이다. 글또 지원 목적 내가 글또에 지원했던 지원서를 부끄럽지만 그대로 가져와보자면.. 개발자에게 기술블로그란 "다가서고 싶은데 헤매이고 있는" 존재 같다고 생각합니다. 저도 글을 더 잘 쓰고 제 글을 더 많이 노출시키기 위해 블로그 유목민 생활을 전전했습니다. 하지만 글을 주기적으로 발행하는 것은 생각보다 쉽지 않고, 퀄리티가 만족스럽지 못한 적이 많았습니다. 이런 고민들을 하는 사람들과 함께 글을 쓴다면 조금이..
· 개발
Airflow 설치 $ pip install apache-airflow Airflow 세팅 1. AIRFLOW_HOME 환경 변수 세팅 기본으로는 ~/airflow에 환경 세팅이 되기 때문에, 나의 경우에는 현재 경로에 AIRFLOW_HOME 환경 변수를 별도로 지정했다. 경로를 잘 지정하지않으면, airflow의 유저 권한이 없기 때문에 정상적으로 작동하지 않는다. export AIRFLOW_HOME=`pwd` # Airflow 현재 경로에 환경 변수를 설정한다. 2. airflow db 세팅 기본적으로 mysqllite로 세팅이 된다. airflow db init을 여러번 해도 괜찮다고한다.(참고 자료) $ airflow db init 3. 유저 생성하기 airflow users create \\ -..
· 개발
AWS Cloud watch에서는 인스턴스나 기타 서비스에 대한 성능 지표들을 확인할 수 있다. 하지만 인스턴스 내부 시스템 지표는 수집할 수가 없다. 따라서 이러한 지표를 확인하기 위해 외부 솔루션(datadog, newrelic)이나 AWS에서 제공하는 Cloud watch Agent를 설치하여 확인할 수 있다. 나는 단순히 메모리 지표 확인을 위해, 가장 설치하기 쉬운 Cloud watch Agent를 선택하였다. Cloud watch Agent에서 수집할 수 있는 지표 세부 정보 수준 포함된 지표 기본 Mem: mem_used_percent Disk: disk_used_percent disk와 같은 disk_used_percent 지표에는 Partition의 측정기준이 있는데, 이는 생성된 사용자..
· 개발
AWS OpenSearch로 document를 쌓다보면 mapper_parsing_exception 에러를 마주할 수 있다. mapper_parsing_exception 에러는 지정한 index에 document를 쌓을 때, 지정된 document의 data type에 새로 넣으려는 data의 type이 parsing되지 않아 발생하는 에러이다. 이 글에서는mapper_parsing_exception 에 어떻게 대처했는지 STAR 기법에 적용하여 작성하고자 한다. Situation (주어진 상황) 현재 개발서버에서 API 통신을 주고 받는 로그를 전부 AWS OpenSearch로 쌓고 있다. 하나의 통신이 끝난 뒤 가장 마지막 과정에서 OpenSearch로 로그를 전송하는 형태이다. 그런데 특정 API를..
· 개발
OpenSearch란? OpenSearch는 ElasticSearch 기반 오픈 소스 검색 및 분석 제품군이다. 주로 어플리케이션 모니터링, 로그 분석 및 시각화와 같은 곳에서 쓰이고 있다. AWS Opensearch 설치 OpenSearch를 사용하려면, domain을 먼저 세팅해야한다. 여기서 domain은 OpenSearch의 클러스터이다. 콘솔을 활용한 domain 생성 1. AWS 콘솔에 로그인한 후, Amazon OpenSearch Service로 진입한다. 2. Create domain을 클릭한다. 3. domain 세팅에 필요한 정보들을 입력한다.여기서는 테스트용 domain이기 때문에 t3.small.search의 인스턴스 유형을 세팅하고, 퍼블릭 엑세스에 마스터 계정을 생성하였다. 만약..
· 개발
우선 Airflow에 BigQuery 같은 3rd Party tool을 연동하려면, Airflow의 Providers packages를 설치해야한다. 아래는 지원하고 있는 Provider list이다. 그런데 애초에 Airflow를 설치할 때, 이런 Providers를 같이 설치하는 명령어가 있다. 진작 이걸 쓸 걸 그랬다..... 너무 queck start만 보지말고, 공식 문서를 꼼꼼히 보자 AIRFLOW_VERSION=2.1.2 PYTHON_VERSION="$(python --version | cut -d " " -f 2 | cut -d "." -f 1-2)" CONSTRAINT_URL="" pip install "apache-airflow[async,postgres,google]==${AIRFLO..
· 개발
AWS EC2 인스턴스에서 이메일 발송 기능을 구현하기 위해 AWS SES를 사용하기로 했다. Django-SES라는 패키지가 있었지만, Django-SES가 boto3에 이미 의존성이 있는 패키지이고, boto3 라이브러리에서도 충분히 사용가능하기 때문에 Django-SES는 사용하지 않았다. SES 설정 이메일 발송을 위해 SES 콘솔에서 Create identity를 눌러 발송에 사용할 이메일 주소나 메일 도메인을 생성한다. 나는 이메일 주소를 선택하였는데, 생성한 이메일 주소로 인증 메일이 수신된다. 그리고 그 메일을 확인하여 인증을 마친다. 인증을 마치고 SES 콘솔에서 Verified Identies를 선택하면 제대로 인증이 되었는지 확인할 수 있다. boto3 라이브러리 설치 SES를 사용하..
· 개발
Zappa란? Zappa는 서버리스를 아주 손쉽게 구축할 수 있는 라이브러리이다. Zappa를 사용하면 Django나 Flask같은 프레임워크를 AWS S3+AWS Lambda + API GateWay로 어플리케이션을 구축 및 배포할 수 있다. 준비물 Zappa를 세팅하기 위해선 아래 세가지가 필요하다. pipenv AWS accesskey, secret key Python 3.6 ^ 설치 가상환경에 Zappa를 설치한다. $ pip install zappa Zappa를 초기화한다. $ zappa init Zappa initialize zappa 스테이지 이름 기본값은 dev이다. zappa s3 버킷 이름 설정 S3버킷이 없을 경우 새로 생성하며, 임의의 이름을 지정한다. S3버킷이 이미 있을 경우 새..
다시 티스토리로 notion으로 블로그를 운영했다. 나름 블로그처럼 꾸미기 위해 oopy를 감싸 사용했는데, 한 달에 약 만원 가량 나가는 지출도 부담이지만, 그만큼의 효용성을 잘 못느낀다는 생각이 들었다. 그래서 티스토리 블로그를 다시 만들었다. 큰 뜻을 품고 블로그를 만든 것은 아니다. 다만 양질의 글을 적기 위해 적절한 플랫폼을 찾아나서는 여정을 당분간은 멈추고 컨텐츠에 집중해야하는 시기가 왔다고 생각한다. 하지만 마음속 한구석에는 내가 만든 블로그를 직접 운영하고 싶다는 생각이 들지만, 이건 컨텐츠가 좀 쌓이고 나서 해도 늦지 않을 것 같다. 어떤 컨텐츠를 쓰고 싶냐면.. 이전에 썼던 글들을 살펴보면, 철저히 '나' 중심적의 소비였다. 공부한 것을 소화하기 위한 목적으로 재해석 없이 쓴 글이 태반..
amber-go
'분류 전체보기' 카테고리의 글 목록 (2 Page)