전체 글 794

reactjs 또는 vuejs를 nginx와 연동할 때 자주 실수하는 포인트

프론트엔드 개발에 많이 사용하는 reactjs와 vuejs는 nginx와 연동을 많이 하는데요. 많이 발견되는 실수가 try_files에서 "/"를 빼먹는 점입니다. 아래가 틀린 부분인데요. 한번 찾아보실래요?. location / { root /app; index index.html; try_files $uri $uri /index.html; } 정답은 바로 $uri/에서 "/"가 빠져있었습니다. location / { root /app; index index.html; try_files $uri $uri/ /index.html; }

jenkins pipeline sh 명령어 공백 제거

jenkins pipeline에서 sh를 여러 줄을 실행할 때, 공백이 자동으로 삽입됩니다. 단순히, 명령어를 사용할 때는 문제가 안되지만 파일을 작성하는 쉘 스크립트가 있을 경우 문제가 발생합니다. 다행히 stripIndent()함수​를 사용하면 쉽게 공백을 제거할 수 있습니다. pipeline { agent any ... stages { ... stage('change image:tag') { steps { dir("dev") { sh """ cat

Systems Manager를 이용한 EC2 원격쉘 접속

이 글에서는 System Manager를 이용한 ec2 원격 쉘 접속방법을 설명합니다. pdf: https://www.slideshare.net/sungwookchoi5/system-manager-ec2 영상: https://youtu.be/-XBkH0UIqgg 1. 베스천호스트를 이용한 원격쉘 접속 private subnet에 위치한 ec2는 외부에서 접근이 불가능하기 때문에, 클라이언트가 ec2 원격쉘 접속이 불가능합니다. 베스천호스트는 private subnet에 위치한 ec2원격 쉘접속을 위해 나온 해결방법입니다. 베스천호스트는 ec2인스턴스로서 public subnet에 위치합니다. 클라이언트는 베스천호스트로 원격쉘 접속을 한 다음, private ec2에 원격쉘 접속하여 private ec2에..

AWS profile 관리

이 글은 aws profile을 다룹니다. pdf: https://www.slideshare.net/sungwookchoi5/aws-profile-251650637 영상: https://youtu.be/IILwDQdEe9U aws profile이란? aws에서 누가 api를 호출했고 권한이 있는지 확인해야하는데요. 확인에 필요한 정보를 일컫어 프로파일이라고 부릅니다. 프로파일 종류 프로파일은 config와 credentials로 분류됩니다. config는 리전, role등 api를 요청한 주체에 대한 정보가 있습니다. credentials는 config에 설정한 주체에 대한 인증정보를 설정합니다. config 위치: $HOME/.aws/config credentials 위치: $HOME/.aws/cred..

4월 2주차 회고

4월에는 SK OOO AWS구축을 담당했습니다. 방화벽 이슈로 4주 일정을 1주에 완료해야되서 일정이 매우 ... 빠듯했습니다. AWS 아키텍처를 수정하고 주말을 포함하여 AWS 구축을 진행했습니다. 그 중 기억에 남는 것을 적으려고 합니다. 1. 교차 계정 리소스 공유 요구 사항에 A계정이 B계정 VPC에 접근 가능해야 한다가 있었습니다. 여러가지 방법이 있었지만, Trainst Gateway를 사용하고 Access Resource Manager로 Trainst Gateway를 공유했습니다. 처음 접근하는 개념이어서 하루종일 공부하면서 구축을 진행했습니다. gateway를 공유해서 VPC peering없이 공유 되는 점이 매우 신기했습니다. 2. 임시자격 증명 발급 B계정에 구축된 EKS에 접근하기 위..

회고모음 2022.04.18

kustomize설치

kustomize 공식 github페이지를 방문한 다음, Release페이지 링크를 클릭합니다. github 링크: https://github.com/kubernetes-sigs/kustomize 운영체제에 맞는 파일을 다운로드 받습니다. 저는 리눅스_amd64버전을 다운로드 받았습니다. 압축을 해제합니다. gzip -d kustomize_v4.5.4_linux_amd64.tar.gz tar xvf kustomize_v4.5.4_linux_amd64.tar 압축이 해제되면 실행파일이 생깁니다. 실행파일은 환경변수로 잡혀있는 위치로 옮깁니다. 저는 /usr/bin 디렉터리로 옮겼습니다. mv ./kustomize /usr/bin 실행파일이 잘 이동되었으면, kustomize명령어를 사용할 수 있습니다.

인공지능 개발자가 백엔드 개발할때 자주 생기는 일

3월에 있었던 2가지 일에 대해 소개해드리고 합니다. 인공지능 개발자가 API개발이 필요할 때 보통 fastapi, flask를 사용합니다. 주로, 인공지능 모델을 이용한 분석 요청 서비스를 만듭니다. 문제는 분석 기능이 몇시간 이상 소요되는 긴 작업이 많았습니다. 그러므로, 사용자가 분석을 요청하면 응답을 몇 분안에 응답을 받지 않아서 tiemout이 발생했었습니다. 이처럼, 긴 시간이 걸리는 API 작업은, 작업을 백그라운드로 실행하고 바로 응답을 날려주는 것이 좋습니다. 그리고 작업이 끝나면 webhook방식으로 사용자에게 응답을 전송하면 됩니다. 백그라운드 실행은 여러가지 방법이 있는데, 인공지능 분석 서비스에서는 worker방식을 사용합니다. 대표적으로 파이썬에서는 celery가 있습니다. 가벼..

회고모음 2022.04.06

istio keycloak 인증 연동 - 작성중단

업무로서 istio를 사용하지 않아서.. 공부를 중단합니다. ㅜ.ㅜ 목차 서비스 메시는 무엇일까?: https://malwareanalysis.tistory.com/280 Istio아키텍처: https://malwareanalysis.tistory.com/304 envoy proxy 체험: https://malwareanalysis.tistory.com/305 Istio envoy 동적설정 원리: https://malwareanalysis.tistory.com/306 istio설치: https://malwareanalysis.tistory.com/297 istio-operator: https://malwareanalysis.tistory.com/298 istion injecton: https://malw..