반응형
- [ 공통 ][공통] 나혼자 데이터환경 구성 - 제 2부2023-12-27 14:27:21안녕하세요. 주형권입니다.제1부 - warming-up에 이어서 두 번째 이야기입니다. 두 번째 이야기는 데이터 환경을 구성하기 위해서 하는 준비 과정을 작성하였습니다. "생각보다 그냥 하면 되는 거 아니야?"라고 생각할 수 있지만 준비할 게 정말 많습니다. 저 같은 경우 사람들을 설득시키는 과정이 굉장히 힘들었고 인식을 바꾸는 과정이 가장 어려웠던 거 같습니다. 물론 사람의 입장의 차이가 모두 있고 팀의 사정이 저마다 다르기에 우리의 일을 모두 좋게 바라볼순 없습니다. 또한 여러 가지 이해관계가 엮여 있으므로 당연히 풀어야 하는 문제입니다. 무조건 우리 쪽의 입장만 들어주고 데이터를 만들어준다면 정말 편하겠지만 상대방의 입장과 상대방의 팀의 입장이 있고 변경하기 어려운 점이 분명히 존재하므로 여러 가..
- [ GCP/운영관련 개발 ]GCP - all open 방화벽 체크2021-01-04 16:02:24지난 포스트에서 GCP의 방화벽을 만드는 법을 작성하였습니다. ( GCP방화벽 만들기 ) 방화벽을 이용해서 최소한의 보안을 할 수 있습니다. 그런데 방화벽을 만들기 전에 0.0.0.0/0으로 All open으로 열려 있는 부분을 하나씩 보면서 체크 하긴 매우 어렵습니다. 지난 포스트에도 언급 하였지만 클라우드의 경우 불특정 다수의 사용자가 사용하다 보니 많은 부분에서 관리가 안 되는 경우가 있습니다. 그래서 운영을 할 때 만들때 전자결재를 받거나 매일 수동으로 체크하는 것은 매우 어렵다고 생각합니다. 기존의 인프라의 경우 이러한 작업을 할 경우 전자결재를 올리고 검토 이후에 서버에 추가하는 경우가 일반적이었습니다. 하지만 클라우드 환경에서는 다수의 사용자가 그렇게 할 경우 매우 불편하고 (만약 규모가 크..
- [ GCP/운영관련 개발 ]GCP 방화벽(firewall) 설정2020-12-31 13:20:26GCP / AWS 등의 클라우드 환경을 사용하면 보안에 매우 민감합니다. 사용자들이 불특정 다수이며, 비 IT 직군도 많다 보니 이러한 보안에 취약할 수밖에 없습니다. 물론 규모가 큰 회사의 경우 보안 담당부서가 따로 있어서 이를 모두 관리하고 권한 부분도 관리하는 경우가 많지만 작은 회사의 경우는 그렇지 못한 경우가 많습니다. 만약에 GCE (Google Compute Engine) 를 만들고 방화벽을 연결하지 않고 바로 접속이 될 경우 0.0.0.0/0으로 모두 ALL 오픈된 상태이므로, 이는 매우 심각한 상황입니다. 그 누구의 집에서도 접속이 가능하다는 뜻입니다. 예를 들면 철수 집에서도 가능하고 영희 집에서도 접속이 가능하다는 뜻입니다. 보안에 매우 취약하므로, 즉시 0.0.0.0/0으로 열려 있..
- [ GCP/운영관련 개발 ]How to save big query cost2020-09-29 14:27:14Hello. Many people seem to know the part of optimizing cost and performance by fetching data without reading unnecessary parts in big queries using partition columns. There are many advantages to using partitioned columns as above, but there may be cases where you cannot. If there are several date columns in the table, the case where the date column to be used is not partitioned is as follows. B..
- [ GCP/GCS ]python google cloud storage download error - Request failed with status code 4042020-09-04 15:38:10python을 이용하여 google cloud storage에서 파일을 다운로드 받을때 다음과 같이 오류가 발생하는 경우가 있습니다. python의 코드를 이용하여 실행하였는데, Google 공식 사이트에 안내된 스크립트를 이용하였는데, 오류가 발생합니다. URL : cloud.google.com/storage/docs/downloading-objects?hl=ko#code-samples 객체 다운로드 | Cloud Storage | Google Cloud 이 페이지에서는 Cloud Storage 버킷에서 객체를 다운로드하는 방법을 설명합니다. 객체에 대한 개요는 핵심 용어를 참조하세요. 참고: 객체에 고객 제공 암호화 키를 사용하는 경우 고객 제공 암호 cloud.google.com 아래의 코드를 그대..
- [ GCP/운영관련 개발 ]GCP-stackdriver python api 사용하기(list_time_series)2020-03-27 17:26:39안녕하세요. google compute engine(이하 GCE)을 모니터링해야 해서 stackdriver를 적극적으로 활용하려고 하였는데요. 너무 UI도 별로고 제가 하고싶은데로 변형해서 사용하기에 너무 불편해서 직접 python api를 이용해서 데이터를 읽고 이를 mysql에 넣어서 datastudio로 만드는 방법을 선택하였습니다. (여기서는 API 사용법만 설명합니다..) 그런데 이 python api가 너무 설명도 많이 없고 불친절해서 하면서 겪은 이슈에 대해서 정리하였습니다. 우선 제가 참고한 api는 list_time_series라는 google에서 제공하는 phyton api입니다. 아래의 url을 들어가 보면 python뿐만 아니라 다양한 언어를 지원하는 듯합니다. https://clo..
- [ GCP/BigQuery ]big query 비용을 줄이기 위한 전략2020-03-04 16:28:39안녕하세요. big query에서 파티션 컬럼을 사용하여 불필요한 부분을 읽지 않고 데이터를 가져옴으로써 비용과 성능을 최적화하는 부분은 많은 분들이 알고 계실 듯합니다. 위와 같이 파티션 컬럼을 이용할 경우 많은 이점을 가질 수 있지만 그렇게 하지 못하는 경우가 존재할 수 있습니다. 만약에 테이블에 날짜 컬럼이 여러 가지인데, 사용하고자 하는 날짜 컬럼이 파티션 되지 않은 경우가 다음과 같은 경우입니다. big query에서는 일반 RDB처럼 여러 개의 인덱스(파티션 칼럼)를 제공하지 않습니다. 그렇기 때문에 1개의 파티션 칼럼을 통해서 성능을 향상해야 하는데요. 이 경우 매우 난감한 상황이 발생합니다. 기준으로 하는 날짜 컬럼으로 값을 가져올 경우 데이터가 맞지 않는데 성능, 비용 때문에 이를 써야 ..
- [ GCP/Dataproc ]GCP - dataproc 메모리 이슈2020-01-13 16:29:48안녕하세요. GCP의 dataproc을 처음으로 사용하면서 겪은 이슈에 대해서 글 올려 봅니다. 혼자서 바보같이 3일 동안 찾아봤으나 완전히 방향을 잘못 잡아서 혹시 저와 같은 이슈가 있는 분들이 계실 것 같아서 글 올립니다. 우선 dataproc을 국내에서는 잘 사용하지 않는 듯 하여 한글 자료는 거의 없다고 보는게 맞을 듯 합니다. 다시 본론으로 들어가서 오류의 내용은 다음과 같습니다. Bit Server VM warning: INFO: os::commit_memory(0x00000000bac00000, 155713536, 0) failed; error='Cannot allocate memory' (errno=12) # # There is insufficient memory for the Java R..
- [ GCP/Dataproc ]Dataproc 사용하기2020-01-13 16:10:57안녕하세요. 이번에 회사에서 Google Cloud Platform에 있는 dataproc을 사용 하였습니다. 이런 저런 글을 보고 pyspark를 이용하여 실행하였지만 여러가지 문제가 많았으며 혼자서 많은 시행착오를 겪고 이러한 것을 조금이나마 줄이고자 글을 올립니다. 기준은 pyspark 입니다. 제가 개발자가 아니라서 코딩에 익숙하지 않고 python 또한 잘 하는 편이 아니므로, 코드는 매우 단순합니다. 우선 처음에 만드는 과정부터 순서데로 진행 하겠습니다. 1. Dataproc 생성 Google Cloud Platform( 이하 GCP)에서 Dataproc 메뉴를 선택 합니다. 처음에 동의 또는 시작하기 같은 안내 말이 나옵니다. (가장 초기에) 동의 또는 시작하기를 눌러서 시작한 뒤에 클러스터..
반응형