Nginx? 무중단 배포?
·
DevOps/nginx
무중단 배포?서비스가 중단되지 않은 상태에서 새로운 버전을 배포하는 것 무중단 배포가 필요한 이유?실제 서비스에서 한 대의 서버를 운영한다고 가정하자. 현재 사용중인 서비스의 Version은 application-V1을 배포한 서비스이다. 그런데 기능이 업데이트 되어 application-V2를 배포하려 한다. 이 새로운 버전 V2를 배포하기 위해서는 V2 버전의 빌드 파일을 서버에 배포해야 한다. V1와 V2는 서로 같은 포트를 사용하기 때문에 V2를 배포하기 위해서는 V1버전을 통해 실행하고 있는 서비스를 종료해야만 한다. 이러한 경우, V1이 종료되고 V2 버전이 실행되는 사이 유저가 서비스를 이용할 수 없는 시간이 생기는데, 이를 “다운타임” 이라고 한다.  NginxNginx란 트래픽이 많은 웹..
AWS S3 403 에러 해결하기
·
DevOps/AWS
프로젝트를 배포하고, 운영환경에서 여러가지 통합 테스트를 진행하던 과정에서 아래와 같은 에러와 마주하였다. 자세히 살펴보니 AWS S3 burket 에서 문제가 발생한 것으로 보였다. 개발도 힘들지만, 운영 환경을 유지하는 것도 참 어렵다는 것을 깨닫고 있는 요즈음이다. 그래도 좋은 팀원들과 함께 성장하고 있어서 힘들지 않다. (아니 힘들어) ERROR : java.io.IOException: Server returned HTTP response code: 403 for URL; https://{AWS S3 bucket 주소}  해결 방법AWS 로그인 - AWS S3 - 사용중인 bucket 접속 - 권한  1. 버킷 정책 설정{ "Version": "2012-10-17", "Id": "Pol..
재부팅시 docker container를 자동으로 실행되도록 설정하는 방법
·
DevOps/docker
https://freesunny.tistory.com/24 재부팅시 docker 컨테이너를 자동으로 시작되도록 설정하는 방법만들때 --restart-always 옵션을 넣어주면 되는데, 빼고 컨테이너를 실행했을 때에는 아래의 명령으로 변경할 수 있다. # docker update --restart=always # 예) # docker update --restart=always d3af8191dca8freesunny.tistory.com
aws ec2에 올린 docker container DB에 DBeaver로 접속하기
·
DevOps/AWS
DB Connect 클릭상단 탭에서 SSH 클릭host/IP : EIP 또는 public IP 입력본인 EC2 기준 : ubuntuAuthentication Method : Public KeyPrivate Key : AWS EC2 생성하면서 받은 .pem 파일 등록상단 Main 클릭Database 이름 입력해당 DB username과 password 입력 후 Test Connection 클릭연결 성공
[docker] docker 설치 후 /var/run/docker.sock의 permission denied 발생하는 경우
·
DevOps/docker
⇒ 해결방법 : https://github.com/occidere/TIL/issues/116#issue-509567575 docker 설치 후 /var/run/docker.sock의 permission denied 발생하는 경우 · Issue #116 · occidere/TILdocker 설치 후 /var/run/docker.sock의 permission denied 발생하는 경우 상황 docker 설치 후 usermod로 사용자를 docker 그룹에 추가까지 완료 후 터미널 재접속까지 했으나 permission denied 발생 (설치 참고: https://bgithub.com
[docker] 컨테이너와 도커의 이해
·
DevOps/docker
왜 도커를 리눅스에서 돌려요 ?리눅스 커널의 기능들인 chroot, namespace, cgroup을 가지고 컨테이너를 생성하기 때문.chroot : 독립된 공간 형성namespace : isolate 기능 지원cgroup : 필요한만큼 HW 지원컨테이너 기반 기술 → 리눅스 커널리눅스 커널이 없으면 컨테이너를 돌릴 수 없다.window,mac os는요 ? → hypervisor를 활성화시켜서 그 위에 컨테이너를 돌리는 것 !!!  컨테이너? 컨테이너 이미지? 컨테이너컨테이너는 하나의 Application 프로세스 → 각 컨테이너는 독립적으로 운영된다. 간단히 말해서 컨테이너는 앱의 각 구성 요소에 대해 격리(Isolation)된 프로세스이다.각 컨테이너는 호스트 시스템에 사전 설치된 종속성에 의존하지 ..
mariadb build 시 트러블 슈팅 해결하기 (포트 변경 및 vim 설치하기)
·
DevOps/docker
bash에 vim을 설치하게 된 이유는 docker에 mariadb를 설치하고 datagrip으로 접속을 시도했다. db접속을 위해 Test Connetion을 시도하였으나, 아래와 같은 오류 발생 ! Could not connect to localhost:3307 : unexpected end of stream, read 0 bytes from 4 (socket was closed by server). 이를 해결하기 위해 default로 설정된 포트를 변경해주려 한다.(접근하려는 PORT와 설정된 PORT가 불일치하므로) 그러기 위해선 my.cnf 파일수정이 필요하다. ps 명령어를 통해 연결된 포트를 확인해본다. 3306은 mysql로 되어있기 때문에(다른 걸 써도 무방하다. 본인의 취향에 맞게 설정..
IAM 유저 생성과 MFA
·
DevOps/AWS
[IAM 유저 생성 실습] 1. services → IAM 2. Account management → Create User 3. Enter User detail 4. Set permissions 5. [Optional] Tags -> Add new tag 6. created User MFA 1. User -> Security credentials -> Assign MFA device 클릭 -> name 설정, Authenticaor app 클릭 후 Next 2. www.authy.com 접속 후 OS에 맞게 download 3. 설치 후 휴대폰 or 이메일 인증 및 key 입력 (Set up device 화면에서 show secret key 클릭 후 key를 authy에 입력) 3-1. 로그인된 auth..
Github Flow & TDD 공부
·
DevOps/Git, Github
Github 정적 웹사이트(블로그) 만들기 (edior + github page)
·
DevOps/Git, Github
1. 토스트 에디터로 뷰어 만들기 with codepen - vanilla js를 이용하지 않고, toast ui edior의 viewer를 사용해 마크다운 문법 적용(개발자 친화적) - Toast ui editor viewer는 에디터를 로딩하지 않고 마크다운 콘텐츠를 보여줄 수 있도록 뷰어를 제공한다. toast ui editor kor verson document : https://github.com/nhn/tui.editor/blob/master/docs/ko/getting-started.md ) ( .. viewer : https://github.com/nhn/tui.editor/blob/master/docs/ko/viewer.md ) 컨테이너 요소 추가 ... ... 브라우저 환경에서의 nam..
github-flow 전략 연습하기
·
DevOps/Git, Github
혼자서 github-flow 연습 프로젝트 매니저 1. Github 접속 2. Repository 생성 후 README.md 파일 추가 3. Settings : Branches : Branch protection rules : Require a pull request before merging 체크, Require approvals 체크 후 저장 4. Settings : Collaborator -> add people 5. Issue 생성 -> Title & Content 작성 -> Label 및 asignees 설정 -> Submit 개발자 1. git bash terminal 접속 후 git clone "레파지토리 주소" 2. git checkout -b "Label명/이슈번호" 로 브랜치 생성 3...
merge와 rebase
·
DevOps/Git, Github
Rebase 하기 Git에서 한 브랜치에서 다른 브랜치로 합치는 방법은 두 가지가 존재한다. 하나는 Merge이고, 다른 하나는 Rebase이다. 두 방법의 차이점을 살펴본다. Merge Rebase 그림을 보면 어떤 점이 다른 것 같은가? Merge의 경우, 기존의 커밋 히스토리는 남겨두고 merge하고자 하는 브랜치를 기준으로 새로운 커밋이 생긴다. 하지만 Rebase는 기존의 커밋은 사라지고 rebase하고자 하는 브랜치를 기준으로 커밋을 재정렬한다. 개인적으로 두 방법 중에 Merge가 좋은 것 같다. Rebase를 사용하면 커밋이 재정렬되어 깔끔해보이긴 하겠지만 큰 프로젝트에서 전체적인 프로세스 과정을 이해하거나 히스토리를 살펴볼 때는 Merge를 사용하면 이전 기록이 모두 남아있어서 더 좋지 ..