
개요원래는 teleport를 도입하면서 접근제어와 감사로그를 함께 해결하려고 했다. 그러나 teleport를 쿠버네티스 외부 환경에서 구축하려면 인증 서버와 Bastion 서버, EC2 인스턴스 두 개가 필수적으로 필요했다. 비용이 엄청 크진 않지만, AWS 인프라 관리는 내가 하지만 비용을 다른 팀에서 부담하는 모순적인 구조라 인프라를 마구마구 늘릴수가 없었다. 그래서 접근제어는 SSM 기반 접근 방식을 이용하기로 했다. 조금 손이 가긴 하지만 보안적으로 가장 안전하다.어떻게 구축했는지는 이전 글에 있다.Private Subnet에 있는 AWS RDS에 접근하기 2. Bastion + SSM with. DBeaver 그렇다면 감사로그는 어떻게 찍어야할까? 다행히 PostgresSQL에서 제공하는 방식이..

2024.01.29 - [일상] - [컨퍼런스] 게으른 개발자 컨퍼런스 후기 작년에 꽤 재밌게 봤던 컨퍼런스라 올해도 지원해서 왔다. 올해 첫 컨퍼런스 참석인데, 시작으로는 나쁘지 않은 듯하다. 작년에 비해 세션이 많이 간소화 됐다. 작년에는 듣고 싶은 세션에따라 장소를 계속 옮겨야했고 참여 인원이 너무너무 많았어서 굉장히 혼란스러웠다. 올해는 5천원이지만 유료세션으로 변경되었고, 장소도 한곳에서 진행되어 듣는 입장에서 편하게 들을 수 있었다. 발표 자료 : https://github.com/lazyconf-dev/2025-lazydevconf1. 24시간 끊기지 않는 잔고 서비스 개발작년에 재밌게 봤던 거래소에서 신규 서비스를 개발하면서 발생했던 문제에 대해 발표하셨던 분이 다시한번 세션을 준비해주셨..

개요이전 글 : Private Subnet에 있는 AWS RDS에 접근하기 1. Bastion + SSH with. DBeaver bastion 점프 서버와 SSH만을 이용해서 상용 DB에 접근하게 된다면, 팀원들이 각각 로컬에 pem key를 갖고 있어야 한다는 너무나 큰 문제가 있다. 이 문제의 가장 보편적인 대안인 AWS SSM을 이용한 방식을 사용해보려고 한다. AWS SSM은 SSH만 쓰는 것 보다 어떤 측면에서는 더 쉽고 간단하며, 더 많은 관리자로서의 기능을 제공한다. 하나씩 알아보자. 1. AWS SSM 이란?https://docs.aws.amazon.com/ko_kr/systems-manager/latest/userguide/session-manager.htmlSession Manage..

개요AWS RDS DB를 public subnet에 둘 수 있다면 RDS 엔드포인트만으로 접근할 수 있기 때문에 개발하는 입장에서는 행복해질 수 있다. 그러나 당연하게 AWS에서도 보안상으로 민감한 데이터를 갖고 있는 DB의 경우 public subnet에 두는것을 권장하지 않는다. (https://aws.amazon.com/ko/blogs/database/best-practices-for-creating-a-vpc-for-amazon-rds-for-db2/ Best practices for Amazon VPC design 챕터 참고) 그렇다면 DB를 private subnet으로 옮기게 되면 어떻게 될까? 이 경우 외부에서는 RDS 엔드포인트에 직접 접근할 수 없게 된다. 때문에 private VPC에..

개요간단한 검색 기능을 넣어놨는데... iOS에서 올린 데이터가 검색이 안된다는 이슈가 올라왔다. 그래서 DB를 뒤적거려보니... 아래와 같이 저장되어 있었다. 사실 처음부터 데이터가 이렇게 저장되고 있다는건 알고 있긴했다. 그런데, 문자열 기반 검색이 아닌 단순 조회에서는 신기하게 제대로 출력되서 큰 걱정은 안하고 있었다. 그런데 문자열 기반 검색이 안되기 때문에 조치가 필요했다. 가장 쉬운 방법은 쿼리에서 데이터 마이그레이션을 하고, 클라이언트에서 NFC 방식으로 업로드하는 것을 유도하는 것이다. 그런데, 클라이언트가 바로 패치를 못하는 경우가 있다. 이 때는 서버에서 단독으로 조치를 해줘야한다. 해결 방법을 하나씩 알아보자. 1. PostgresSQL에서 NFD방식을 NFC로 마이그레이션하기특정 버..

개요기본적으로 컨텐츠 정렬은 등록일자의 역순이 일반적이다. 그런데 정책 요구사항으로 이름 순 정렬이 생겼다. 이름 순 정렬이니 별생각없이 컬럼 정렬로 order by name ASC를 한다면? 재미있는 일을 마주하게 된다. 가장 먼저 숫자 쪽에서 의도치 않은 동작을 확인하게 된다.1 5 10 20 100 1100 위와 같은 순서로 이름을 짓게 되면 아래와 같이 정렬이 된다.1 10 100 1100 20 5이건 가장 단편적으로 보이는 문제고... 그외에도 문제가 많다. 가장 먼저 떠오르는 010은 10으로 봐야하나부터 시작해서 특수문자, 이모지 등등... 정말 많은 문제가 있다. 어떻게 할지 하나씩 정리해보자. 본 포스팅은 PostgreSQL을 기준으로 작성되었다. 1. 유니코드 정렬과 언어 기준 정렬 ..

개요PO분이 급하게 도메인을 만들고 정리하시느라 AWS가 아닌 GoDaddy에서 도메인 이름을 발급받으셨다. 거기다 상용 AWS 계정이 승인이 안나서 cloudflare에 모든 서브도메인 라우팅을 설정해두셨다. 추가적으로 SSL 인증서까지 cloudflare 에서 적용하셨다. AWS 상용 계정이 승인되고나서 도메인 서버, SSL 인증서를 마이그레이션해야했다. 처음에 언뜻 듣기로는 아 이거 뭐 금방하지라는 생각으로 모든 권한을 넘겨받았다. 그리고 바로 일이 터졌는데... 별일은 아니고 좀 오래걸렸다. 차근차근 방법을 알아보자cloudflare 설정 일시중지 혹은 삭제하기가장 먼저 해야할 내용은 아니지만 반드시 알아야할 설정이 여기있어서 처음에 뒀다. cloudflare는 CDN 역할만 해주는게 아니라 네임..

개요현재 프로젝트에서 파일 저장소로 S3를 사용하고 있다. 파일을 저장하면서 몇 가지 요구 사항이 붙게 됐다. 1. 업데이트를 하면 파일이 새로 업로드됨2. 그런데 업데이트 하기 전 파일로 롤백하려는 요구 사항이 있을 수 있음3. 그럼 업데이트된 파일을 어떻게 관리할 것인가? 사용하지 않는 파일에 아이디를 일일히 부여하는게 맞는가? 그럼 로우가 계속 늘어날텐데?4. 그러면 삭제 정책이 필요한데, 얼마나 저장할 것이며 어떻게 삭제할 것인가? 스케줄러를 돌리는 것도 말이 안되지 않나? 이런식으로 계속 꼬리질문이 나오는 상황에서 S3를 뒤져보던 중 객체 버저닝이란 것을 알게 됐다.https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/versioning-w..
- Total
- Today
- Yesterday
- Log
- ChatGPT
- Elastic cloud
- Kotlin
- AWS EC2
- serverless
- S3
- java
- 스프링부트
- 오블완
- 후쿠오카
- lambda
- object
- EKS
- elasticsearch
- Spring
- openAI API
- cache
- CloudFront
- 람다
- JWT
- AOP
- AWS
- GIT
- docker
- OpenAI
- terraform
- 티스토리챌린지
- springboot
- MySQL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |