목록Devops/TIL (24)
코딩과로그

위와 같이 실습을 구성하였다. 목표 - AWS 배포 파이프라인을 생성하여 깃허브에 올린 소스코드 (프론트, 백엔드) 들이 자동으로 배포되도록 설정 제작 순서는 다음과 같다. 제작 순서: 깃허브 코드 생성 생성 파일 (프론트엔드, 백엔드, 빌드 관련 yml, build script) S3 생성 정적 사이트 접근 권한 허용 추가 IAM 역할 생성 권한 부여: S3 접근, SSM 접근, CodeDeploy 접근 EC2 셋업 EC2 생성 및 태그 달기 (빌드 시 태그 참조를 하기 위함) Node.js 설치 RDS 생성 SSM에 RDS 환경변수 입력 CodeDeploy, CodeBuild 에 깃 연결하고 파이브라인 생성 이하는 실습 가이드입니다. 대시보드로 이동 후, 인스턴스로 이동 EC2 대시보드로 이동 후, ..

Fagate ECS 배포를 해보았다. 위의 그림과 같이 ECS를 사용하여 Fargate 를 만들고 로드밸런서를 연결해주어 배포를 진행했다. 만든 순서는 다음과 같다. 타겟 그룹 생성 로드 밸런서 생성 타겟 그룹 연결 ECS 작업 정의 생성 컨테이너 이미지 지정 ECS 클러스터 생성 클러스터 내 서비스 생성 최종 결과: 로드 밸런서를 통해 Fargate 접근이 됨을 확인했다. 1. 타겟 그룹 생성 2. 로드 밸런서 생성 2. ECS 에서 작업정의 (task)를 만든다. 2.1 파게이트 선택 2.2 다음처럼 진행 3. 클러스터 생성 4. 서비스 생성 서비스의 서브넷 작성 시, 로드밸런서가 지원하는 서브넷 안에 있어야 된다. -보안 그룹을 수정한다. 이후 다음을 누르고 완료를 진행한다. 여기까지 했으면 완료가..

나는 heroku 라는 클라우드 기업에 매달 6000원씩 지불하면서 개인 블로그를 배포, 운영중에 있었다. 이용자가 이제는 거의 없고 나도 새로운 블로그 사이트를 만듦으로써 더 이상 사용을 하지 않아서 매달 6000원이 매우 아까워졌다. 아예 없앨까 싶었지만 지우기는 아쉬워 나의 개인서버로 이전하기로 하였고 컴퓨터가 켜질 때마다 실행되도록 하였다. 아래는 현재 이전된 서버 URL이다. (노트북을 켰을 때만 운용되지만 항시 켜두려 하고 있음) http://www.enttolog.xyz:5000/ 내 서버용 컴퓨터가 켜질 때마다 서버를 실행하기 위해서 systemd 를 사용했다. # 서비스 실행 파일 생성 $ sudo nano /etc/systemd/system/touch-world.service # 아래와..

이전 실습 (https://sororiri.tistory.com/101) 에서 가볍게 3 Tier 아키텍처를 만들어보았다. 여기서 더 나아가 HTTPS 인증 및 로드밸런서, Forward Proxy 를 추가로 적용해보았다. 이하는 실습 진행 내용이다. 도메인 연결과 CDN 및 HTTPS 적용 1. Certificate Manager를 통한 도메인 인증서 발급 구매한 도메인을 기준으로 인증서를 발급 받습니다. 인증서는 프론트엔드 Cloudfront 사용 리전인 us-east-1과 백엔드 Load Balancer 사용리전인 ap-northeast-2에서 발급 받아야 합니다. 발급 시, DNS 검증 가이드로 레퍼런스를 참고하세요. 이후에 DNS 공급자로 Route53을 이용합니다. Route53에 레코드 생성..

데브옵스 부트 캠프에서 실습한 내용을 정리한 글입니다. 실습내용은 S3, EC2, RDS를 생성, 연결하여 3 tier 아키텍쳐를 구성하여 배포해보는 것이었습니다. 실습했던 내용 기록용이므로 참고 부탁드립니다. 적용 대상 깃허브: https://github.com/SangYunLeee/sprint-aws 전반적인 진행 순서입니다. 프론트 초기 세팅 리액트를 빌드한다. S3 에 버킷을 생성 빌드 결과물을 버킷에 넣는다. 액세스 전부 허용, 정적 호스팅을 허용 정책을 설정하여 객체에 GET 이 가능하도록 한다. 프론트 사이트가 보여지는 지 확인한다. 백엔드 초기 세팅 보안 그룹을 생성한다. EC2를 생성한다. EC2에 노드 서버를 넣고 실행한다. 백엔드 서버에 접속이 되는 지 확인한다. 프론트엔드를 백엔드 ..

소켓과 포트의 특징과 차이점 - 소켓 : 프로세스간에 소통을 하기 위한 통구이다. 한 프로세스가 다른 프로세스에 연결을 하려면 포트를 거쳐서 소켓으로 연결이 되어야 한다. - 포트 : 소켓을 연결하기 위한 통로이다. 하나의 프로세스는 하나 이상의 고유한 포트 번호를 가질 수 있어 이를 통해 프로세스를 식별할 수 있고 따라서 통신이 가능해진다. 이해한 내용을 다이어그램을 한번 만들어보았다. 기본적으로 내부 네트워크망을 통했다고 가정했고 라우터는 배제하고 그렸다 node.js 프로세스 - IP : 192.168.100 - PORT : 80 - socket 1 - 192.168.200 / 3000 / socket 1 과 연결됨 - socket 2 - 192.168.300 / 3000 / socket 1 과 연..

제가 공부한 것을 단순히 기록(보여주기)하기 위해 작성하였습니다!!!!!!!!! 아래의 요구사항에 대해서 Swagger 의 yaml 형식으로 OpenAPI 명세서를 작성하였습니다. - 조회 블로그 글 전체 조회 특정 블로그 글 조회 모든 댓글 조회 특정 댓글 조회 - 생성 새 블로그 글 생성 새 댓글 생성 - 삭제 특정 블로그 글 삭제 특정 댓글 삭제 - 수정 특정 블로그 글 수정 특정 댓글 수정 작성한 git 레포지토리: https://github.com/SangYunLeee/sprint-open-api-doc/blob/main/openapi.yaml 데이터 모델링과 url-path, statusCode등을 포함하여 작성하였습니다. 스웨거 작성 결과: 이하 작성한 Swagger YAML 입니다. ope..

REST API : 자원(Resource)을 HTTP URI로 표현하고, HTTP 프로토콜을 통해 요청과 응답을 정의하는 방식 구글에서 지향하는 API Method 방법 중에 익숙치 않았던 부분에 대해서 정리하였습니다. POST : 생성된 자원에 대한 Location response header 를 응답 헤더에 추가하여 자원에 대한 정보를 얻을 수 있도록 하는 것을 권장한다. POST http://api.contoso.com/account1/servers 응답 헤더 201 Created Location: http://api.contoso.com/account1/servers/server321 PATCH : UPSERT semantics 을 지향한다. 즉 없다면 생성하고 있다면 요청값에 대해 변경하는 것인..