본문 바로가기
728x90
반응형

Back Side47

사용자 권한 설정(=접근 제어)에도 전략이 있다 - ACL vs RBAC vs ABAC 권한 설정 그거 어떻게 하는건데 드디어 회사 서비스에 사용자들을 받을 준비를 하게 되었다. 입사하고 1년 6개월은 이미 지났는데 인제서야 유저 관리를 하다니 🙃 그만큼 큰 서비스를 개발하고 있다고 생각한다. 유저가 서비스에 추가되다 보니 새롭게 떠오른 이슈가 있었다. 그건 바로 사용자 권한 설정! 개발자들에게 가장 익숙한 Github로 예시를 들자면 프로젝트를 같이 할 멤버를 추가해 권한을 주는것이다. 위 캡쳐를 보면 알겠지만 프로젝트를 먼저 생성한 사람은 Owner로 되어 있다. Owner의 경우 아래와 같은 권한이 생긴다. 1. 프로젝트 설정 변경 2. 프로젝트 접근 권한 관리 3. 코드 관리(푸시, 머지 등) 4. 이슈 및 프로젝트 관리 . . . 이처럼 Github에서는 Owner는 최상위 권한을.. 2023. 10. 4.
MSA 서비스 시리즈 1탄 : 서버간 오류 어떻게 해야할까 🤔 MSA 알고 이 글을 읽는거겠죠..? 아주 간단하게 설명하면 여러개의 컴퓨터를 사용하는거다. 예를 들어 네이버를 뇌피셜로 설명해보자. 우리가 자주 사용하는 검색창은 A 컴퓨터에서, 페이는 B 컴퓨터에서, 메일은 C 컴퓨터에서 실행된다. 컴퓨터의 수는 무수히 많을 수 있다. (사스가 네이버라면 어쩌면 세자리를 수일수도 😙) 컴퓨터는 무슨 기준으로 나누나요?! 라고 물어볼 수도 있다. 현재 1년 6개월 차 밖에 되지 않은 햇병아리 백엔드 개발가인 내가 감히 생각해보면... 그건 회사마다 이끄는 사람마다 다르다. 실은 MSA를 하냐 아니면 Monolithic를 하냐부터 생각도 말도 많아진다. 그래도 진짜 그래도 나만의 서비스 선택 기준을 말하자면 아래와 같다. 1. 구상한 서비스가 작다 -> 3번으로 이동 2.. 2023. 9. 15.
Error response from daemon: failed to create task for container: failed to initialize logging driver: dial tcp [::1]:24224: connect: connection refused 그만 도망치자 로그를 만지니 별별 오류를 다 만나고 있는 요즘... 사실 지금까지 미루고 있었던 오류가 있었다. Error response from daemon: failed to create task for container: failed to initialize logging driver: dial tcp [::1]:24224: connect: connection refused docker-compose로 fluentd와 다른 컨테이너들을 함께 키면 fluentd가 로깅하는 컨테이너들만 켜지지 않는 상황이다. 오류 코드를 보면 현재 fluentd가 실행되지 않았다면서 멈춘 것이다. docker 데스크탑을 보면 fluentd는 켜져있다. 그런데 저 주황색으로 된 로깅이 필요한 컨테이너들은 Created.. 2023. 9. 1.
fluentd가 windows에서 안된다면? docker volume 권한 오류 정말 극혐한다 windows 사용자 로그를 온디멘드 환경(=자체구축)에선 볼륨을 이용해 로그 파일을 읽거나 삭제하고 있다. 나의 경우 아이맥을 사용하고 있는데 분명 잘 되었던 fleutnd가 프론트엔드 개발자 분 컴퓨터에 안된다는 말을 듣고 가보니 정말 로그 파일이 생성되지 않았다 😱 황급히 옆 자리에 앉으신 다른 분 자리에서 해보니 거긴 또 됐다. 차이점은 프론트엔드 개발자 분 컴퓨터 환경은 윈도우였고 옆 자리 분은 나와 같은 맥이었다. 다른 윈도우 환경에서 해보니 역시나 되지 않았다. 이번 이슈의 원인이 윈도우로 판명된 순간이었다. windows에선 volume 권한 오류가 있다고? 윈도우 환경에서만 그러는거 오케이 근데 원인은 뭘까 하고 fluentd 로그를 뒤지니 failed to flush th.. 2023. 8. 31.
Fluentd를 이용해 로그 내용에 따라 동적으로 파일명 바꾸기 with.rewrite_tag_filter 플러그인 동적으로 파일명으로 바꾸라고요? 현재 우리 회사 서비스에선 시스템 로그와 사용자 로그 두개를 생성, 관리를 해야한다. 시스템 로그와 우리들이 필요하다고 하지만 사용자 로그의 경우 우리 회사 서비스를 사용하는 사용자들에게 제공할거라 고민이 많았다. 가장 큰 고민은 그 많은 로그를 사용자 id를 따라서 다르게 보여주는 거였다. 그때 나온 의견은 사용자 id가 파일명이 해결할 수 있다는 거였다. 흐음 일리가 있어서 바로 fluentd의 파일명으로 동적으로 바꾸기를 시작했다. 아래는 그에 따른 개발 일대기다. 첫번째 시도 - 태그로 해결해보자 우선 다른 플러그인을 사용하기 전에 기본적인 fluentd로 해결할 수 있나 고민해봤다 🤔 그때 든 생각은 javascript의 템플릿 리터럴이다. 대체로 백틱에 달러를 .. 2023. 8. 5.
Unknown filter plugin 'rewrite_tag_filter'. Run 'gem search -rd fluent-plugin' to find plugins 해결하기 현재 원하는대로 로그를 뽑던 중 동적으로 이름을 로그 파일 제목을 바꾸면 좋겠다고 생각해 개발하고 있었다. 태그를 이용하면 된다는 것을 알고 fluentd의 rewrite_tag_filter 플러그인을 사용하고자 했다. 공식문서에 있어 fluentd 이미지에 내저되어져 있는 줄 알았는데 없었다. k8s에서는 Docker와 달리 이미지를 가져오는 것이 로컬이 아닌 Docker Hub와 같은 레지스트리이기 때문에 테스트용으로 하나 올려뒀다. FROM fluent/fluentd:v1.16.2-1.0 USER root RUN gem install fluent-plugin-rewrite-tag-filter USER fluent 아주 간단해서 공용으로 해두었는데 혹시 필요한 사람은 참고하길. 아무튼 k8s 매니페스.. 2023. 8. 3.
모니터링 시스템 구축하기 (1) prometheus 모니터링 시스템의 필요성 서비스를 운영하는 사람이라면 모니터링 시스템을 구축해야 한다. 작은 서비스일 경우 '굳이'라는 말을 할 수 있고 그럴 수 있다. 하지만 성능을 모니터하고 장애 대응의 중요성을 알고 있는 사람이라면 '당연히'라고 말할 것이다. Prometheus 왜 모니터링 시스템을 구축해야하는지 알아봤다. 그렇다면 어떻게 구축해야 할까? prometheus를 이용하면 손쉽게 모니터링 할 수 있는 메트릭을 수집할 수 있다. 실습 1) docker-compose에 prometheus prometheus: image: prom/prometheus:v2.29.1 ports: - 9090:9090 volumes: - ./prometheus/prometheus.yml:/etc/prometheus/prome.. 2023. 7. 6.
눈물겨운도커 이미지 사이즈 줄이기 🥹 #1 Azure CLI 사용하기 자동으로 AKS 생성 어떻게 하는건데 자동으로 AKS가 생성되는 서비스를 만들어야 했다. 기존엔 터미널에서 Azure 명령어를 사용하면 인제는 자동으로 명령어가 수행하게 만들어야 했다. 어떻게 해야할까 🤔 간단하게 Azure 명령어를 코드에 넣고 실행하도록 하면 되겠다는 생각을 했다. 그렇기 위해서는 외부 명령어를 실행해주는 shelljs 라이브러리를 사용하면 된다. shelljs 이용하기 이 라이브러리를 사용하기 매우 간단하다. 터미널에 작성했던 Azure 명령어를 작성하고 shelle.exec에 command를 넣으면 된다. /** * az aks create next */ createAKSCommand(name: string) { console.log('create AKS Start!'); cons.. 2023. 5. 9.
[AI] PPT 제작이 고민이라면 gamma 이용해보세요! PPT 제작 들어는 봤는데 🤔 요즘 AI의 가장 화제는 ChatGPT가 아닐까 생각해봅니다. 저도 검색 도구로 애용하고 있는데 이번에는 PPT를 기똥차게 만들어주는 곳이 있다는 글을 봤어요. 인간이 제목만 넣어주면 인공지능이 알아서 PPT를 만들어준다? PPT 업무 주이신 분들과 대학생 분들에게 희소식이 아닐까 생각합니다. Gamma App https://gamma.app/ Gamma App A new medium for presenting ideas, powered by AI. Create beautiful, engaging content with none of the formatting and design work. gamma.app 오늘 소개해드릴 앱은 바로 Gamma App입니다. PPT 뿐만 아.. 2023. 5. 9.
728x90
반응형