본문 바로가기
반응형

전체 글156

[elasticsearch] opensearch와 aws sso연동 opensearch에 인증을 붙이는 방법에는 크게 saml연동과 cognito 연동이 있습니다. 이번 게시글에서는 opensearch에 aws sso saml 연동하는 방법에 대해 정리합니다. 1. 세분화된 액세스 제어 활성화 saml 연동을 위해서는 세분화된 액세스 제어를 활성화 해야 합니다.(세분화된 액세스 제어를 활성화하게 되면 saml연동을 하거나 최소한 basic auth를 적용해야하며 aws에 문의해도 이전의 상태로는 돌아갈수 없으니 주의합니다.) 2. saml 인증 활성화 saml 인증 활성화를 체크해준후 서비스 공급자 엔터티 ID, idp가 시작한 SSO URL, sp가 시작한 SSO URL을 복사해서 메모해둡니다. idp는 sso 페이지에서 카드아이콘을 이용해 접근할때 필요하며, sp는 .. 2023. 4. 25.
[golang] golang reverse proxy 예제 일반적으로 proxy기능이 필요한 경우 nginx, haproxy 등 proxy용 솔루션을 통해 구축하지만 내부적으로 추가 동작이 필요한 경우 직접 proxy 서버를 개발해야 됩니다. 이번 게시글에서는 golang을 사용해 reverse proxy를 구축하는 방법에 대해 정리합니다. 저는 http request를 처리하기위해 echo framework를 사용하는것을 선호하지만, 이번 게시글에서는 따로 서드파티 라이브러리의 기능이필요하지 않으므로 standard library인 mux를 이용한 프록시 서버를 구축합니다. 1. 소스코드 소스코드는 아래 github repo에서 확인할 수 있습니다. GitHub - jaeho310/go-std-proxy Contribute to jaeho310/go-std-p.. 2023. 4. 6.
[golang] echo framework와 jwt 이번 게시글에서는 golang echo framework에 jwt 인증방식을 적용시키는 방법에 대해 정리합니다. 먼저 jwt에 대해 간단하게 알아보고 기성 인증방식인 세션방식과 비교한 후 소스코드를 정리합니다. 1. JWT란 JWT(Json Web Token)란 cliam 기반의 web token으로 토큰자체에 정보를 포함해 인증 인가를 처리하는데 사용합니다. 2. 기성 인증방식(세션)과의 차이 기성 인증방식은 서버가 한대라면 세션에 사용자 정보를 담고 보관하다가 인증이 필요한 요청에 세션정보를 확인합니다. 서버가 여러대라면 시간복잡도가 좋은 디비(redis)를 뒤져 세션정보를 찾아 인증하는 형식입니다. 그러나 jwt는 secret키를 알고있으면 어느 서버에서나 인증, 인가를 수행할 수 있는 state .. 2023. 1. 21.
[golang] gqlgen을 사용하여 golang graphql 서버 구축하기(마무리) 이번 게시글에서는 gorm을 사용하여 graphql서버의 전반적인 아키텍쳐를 구축하면 graphql 서버 구축을 마무리합니다. 소스코드는 github 링크에서 확인하실 수 있습니다(main 브랜치) GitHub - jaeho310/golang-graphql-sample: golang graphql sample with gqlgen golang graphql sample with gqlgen. Contribute to jaeho310/golang-graphql-sample development by creating an account on GitHub. github.com 1. 패키지 구조 ./ ├── generated │ └── generated.go ├── go.mod ├── go.sum ├── gq.. 2022. 12. 10.
[golang] gqlgen을 사용하여 golang graphql 서버 구축하기(3) 이번 게시글에서는 resolver 작성방법과 데이터를 질의하는 방법에 대해 정리합니다. 소스코드는 아래의 github 레포에서 확인할 수 있습니다(example-2 브랜치) GitHub - jaeho310/golang-graphql-sample Contribute to jaeho310/golang-graphql-sample development by creating an account on GitHub. github.com 1. 패키지 구조 . | go.mod | go.sum | gqlgen.yml | main.go | tools.go | +---generated | generated.go | +---graphql | user.graphql | ㄴ---resolver | resolver.go | user.. 2022. 12. 8.
[golang] gqlgen을 사용하여 golang graphql 서버 구축하기(2) 이번 게시글에서는 gqlgen 사용법에 대해서 정리합니다. 소스코드는 아래의 github 레포(example-1 branch)에서 확인하실 수 있습니다. GitHub - jaeho310/golang-graphql-sample Contribute to jaeho310/golang-graphql-sample development by creating an account on GitHub. github.com 1. 패키지 구조 . | go.mod | go.sum | gqlgen.yml | main.go | tools.go | +---generated | generated.go | +---graphql | user.graphql | ㄴ---resolver | resolver.go | user.resolvers... 2022. 12. 7.
[golang] gqlgen을 사용하여 golang graphql 서버 구축하기(1) 이번 게시글부터 graphql에 대해 정리하며 gqlgen을 사용하여 golang graphql 서버를 구축하는 예제를 만들어볼 예정입니다.(gqlgen, gorm, sqlite3 사용) 소스코드는 아래의 github 레포에서 확인하실 수 있습니다. GitHub - jaeho310/golang-graphql-sample Contribute to jaeho310/golang-graphql-sample development by creating an account on GitHub. github.com 1. graphql이란 페이스북에서 개발한 graphql은 클라이언트에서 쿼리를 통해 원하는 만큼의 데이터를 꺼내갈 수 있도록 만들어진 api로 rest api보다 유연하게 데이터를 제공할 수 있습니다. 2... 2022. 12. 7.
[terraform] resource를 여러개 생성하는 올바른 방법(count보다는 for_each) 이번 게시글에서는 resource를 여러개 생성하는 방법에 대해 정리합니다. 테라폼에 익숙하지 않다면 count를 사용하기 쉬운데 좋은 방법이 아닙니다. 잘못된 예시와 올바른 예시를 정리합니다. 복잡한 aws를 몰라도 쉽게 적용이 가능한 s3 bucket으로 예시를 만들었습니다. 전체 소스코드는 아래의 github에서 확인할 수 있습니다. prod, stag, dev등의 여러 환경을 위한 모듈구성방법도 포함되어있으니 github 레포를 참고해주세요 GitHub - jaeho310/multi-resource-terraform Contribute to jaeho310/multi-resource-terraform development by creating an account on GitHub. github.c.. 2022. 11. 3.
[golang] 맥북 m1칩에서 golang 크로스 컴파일 이슈 해결 방법 m1맥북에서 test db로 sqlite3를 사용하던도중 amd64환경(x86)으로 도커 이미지를 생성해야 되는 상황에 겪은 이슈입니다. 주로 c컴파일러가 없어서 발생하는 문제로 CGO_ENABLED를 조작할때 참고할 수 있습니다. 1. 크로스 컴파일 방법 (1). arm64 $ GOARCH=arm64 GOOS=linux go build -o main (2) amd64 맥북에서 amd64(x86)로 빌드할때 주의하여야 합니다(크로스 컴파일) $ GOARCH=amd64 GOOS=linux go build -o main 2. 에러 로그 및 해결법 Binary was compiled with 'CGO_ENABLED=0', go-sqlite3 requires cgo to work. This is a stub -.. 2022. 10. 13.
반응형