Jenkins 로 github에 있는 Spring 프로젝트 자동 배포 (feat. application.yml 처리)
·
Infra
이 글은 알파코에서 진행되는 [신한투자증권] 프로디지털아카데미 과정 중, 김송아 강사님과 함께하는 '파이널 프로젝트'를 기반으로 작성되었습니다 이번 프로젝트에서 어쩌다보니 인프라 파트를 담당하게 돼서 msa 구조 설계 그리고 CI/CD까지 하게 되었다 이 과정에서 Jenkins로 깃허브에서 push가 되면 자동으로 배포가 되도록 설계 하였는데 이 부분에서 애를 먹었던 부분들이 많아서 내용을 정리해서 공유하고자 한다 일단 우리의 아키텍처 구조는 이 그림과 같다 여기서 처음에 실수한 부분이 게이트웨이 포트번호를 8087로 줬는데 이 부분은 80번으로 줘야 나중에 url 입력할때 포트번호 추가 안해줘 도 된다. (80이 기본포트이기 때문에) 일단 jenkins 를 퍼블릭 서브넷에 있는 ec2에 ..
private subnet에 있는 EC2에 접속하는 방법 (feat. Bastion Host)
·
AWS
이번 프로젝트를 진행하면서 퍼블릭 서브넷에 들어가도 되는 부분들은 퍼블릭서브넷에서 EC2를 생성하였고데이터를 다루는 등 민감한 정보가 담긴 부분은 프라이빗 서브넷에서 EC2를 생성하였다. 여기서 문제는 퍼블릭 서브넷에 연결하는 방법은 AWS의 EC2를 선택해서 연결을 누르고 주소를 복사 붙여넣기 하면되지만 프라이빗 서브넷에서 이와같이 하려고 하면 에러가 나며 접속이 안될 것이다. 이를 위해서는 bastion host 라는게 필요하다 Bastoin Host란?Bastion Host란, 외부에서 내부 네트워크에 접근할 수 있는 유일한 방법인 접근점이다. 보안성이 높은 인프라와 외부 인터넷을 연결하는 중계 서버로 작동하며, 모든 인바운드 트래픽은 Bastion Host를 통과해야 내부 네트워크로 들어갈..
AWS EC2 인스턴스 유형에 따른 부하테스트(feat. hey)
·
프로디지털아카데미/클라우드
수업시간 실습으로 AWS EC2의 인스턴스 종류에 따른 성능 테스트를 하고자 한다.이때 인스턴스 유형은 t2nano, t2xlarge, t4nano, t4xlarge, c5large, m5large, c5xlarge, m5xlarge이렇게 8가지 종류로 변경해보며 성능테스트를 진행하려고 한다. 그리고 이를 통해 어떤 인스턴스 유형을 사용하는 것이 어떤 업무에 적합한 지 알아가고자 한다. 인스턴스 유형 이름의 의미 테스트는 HTTP 부하테스트 도구인 hey 를 사용해주었다. hey 다운 받는 법sudo apt updatesudo apt install hey 부하테스트 코드from flask import Flaskapp = Flask(__name__)@app.route("/api/calc")def..