본문 바로가기

DevOps

(22)
깃헙 액션(Github Actions) 사용하기 (2/2) 목차 1. push 이벤트로 깃헙 액션 실행 2. input 값으로 깃헙 액션 실행 3. 깃헙 액션 스케줄 실행 이번에는 여러 이벤트를 기반으로 깃헙 액션을 실행시켜 보겠습니다. 사용 소스는 깃허브에 있습니다. 1. push 이벤트로 깃헙 액션 실행 push 이벤트가 발생하면 hello-github-actions라는 job을 실행시키는 github actions입니다. hello-github-actions 잡은 "chmod +x gradlew"와 "./gradlew clean build test" 명령어를 실행시키는 스텝을 가지고 있습니다. name: hello-github-actions run-name: ${{ github.actor }}의 헬로 깃허브 on: [push] jobs: hello-spri..
깃헙 액션(Github Actions) 사용하기 (1/2) 목차 1. 깃헙 액션이란? 2. 깃헙 액션의 구성요소 3. 깃헙 액션 만들기 4. 깃헙 액션 이벤트 5. 깃헙 액션 표현식 6. 깃허브 액션 템플릿 7. 깃헙 액션 스케줄 8. 컨텍스트 1. 깃헙 액션이란? GitHub Actions는 빌드, 테스트 및 배포 파이프라인을 자동화할 수 있는 지속적 통합 및 지속적 배포(CI/CD) 플랫폼입니다. 리포지토리에 대한 모든 Pull Request가 발생할 때마다 빌드 및 테스트하는 워크플로를 생성하거나, 병합된 Pull Request들을 프로덕션에 배포할 수 있습니다. GitHub는 Linux, Windows 및 macOS 가상 머신을 제공하여 워크플로를 실행하거나 자체 데이터 센터 또는 클라우드 인프라에서 자체 호스팅 러너를 호스팅 할 수 있습니다. 2. 깃헙..
AWS Lambda와 MediaConverter를 사용해 Vod 스트리밍 서비스 개발하기 AWS Lambda와 MediaConverter를 사용해 HLS Vod Steaming을 서비스를 개발해보겠습니다. 목차는 다음과 같습니다. 전체적인 구조 Adaptive Bitrate Streaming에 대해서 1. IAM 역할 만들기 2. S3 설정하기 3. Lambda 만들기 영상 업로드 및 변환 테스트 크롬에서 m3u8 파일 실행하기 전체적인 구조 클라이언트가 S3에 비디오 파일을 업로드합니다. 비디오가 입력 버킷에 업로드되는 즉시 Lambda 함수를 트리거합니다. 람다 함수는 인풋 파일, 설정, HLS 아웃풋 그룹 등의 설정을 토대로 Job을 생성하고 MediaConverter를 실행합니다. MediaConverter는 전달받은 Job을 토대로 HLS 파일로 트랜스 코딩을 진행합니다. 변환된 파..
[AWS] Spring Boot 와 멀티파트 업로드를 사용해 S3에 대용량 파일 업로드하기 이전 글에서 SpringBoot에서 S3로 파일(이미지, 동영상) 업로드하는 기능을 개발했습니다. [AWS] Springboot에 AWS S3 연동 (이미지, 동영상 업로드) 안녕하세요? 이번 시간엔 SpringBoot & AWS S3 연동하기를 진행해보려고 합니다. 따라 하시기만 해도 로컬에서 이미지, 동영상 파일 업로드가 가능하고, EC2에 배포한 환경에서도 파일 업로드가 가능 develop-writing.tistory.com 하지만 위 방식은 크게 두 가지 문제가 있습니다. 1. 대용량 파일을 업로드할 때 시간이 많이 걸립니다. 필자가 EC2 t2.small에서 S3로 업로드 테스트할 시 1.3GB 동영상은 무려 90초가 걸렸습니다. 동일 환경에서 멀티파트 업로드 방식을 테스트 시 해당 시간을 50..
[AWS] Springboot에 AWS S3 연동 (이미지, 동영상 업로드) 안녕하세요? 이번 시간엔 SpringBoot & AWS S3 연동하기를 진행해보려고 합니다. 따라 하시기만 해도 로컬에서 이미지, 동영상 파일 업로드가 가능하고, EC2에 배포한 환경에서도 파일 업로드가 가능합니다. 코드는 Github에 있고, 함께 보시면 더 이해하기 쉬우실 것 같습니다. 목차 1. AWS S3 버킷 설정 2. AWS IAM User 생성 3. 로컬 환경 개발 4. 이미지, 동영상 업로드 결과 확인 5. 배포 환경에서 업로드 확인 1. AWS S3 버킷 생성 S3 버킷을 생성할 때 원하는 이름을 기입합니다. 첫 번째새 ACL(액세스 제어 목록)을 통해 부여된 버킷 및 객체에 대한 퍼블릭 액세스 차단 을 해제해서 객체를(이미지 파일) 업로드할 수 있게 합니다. 두 번째 의의 ACL(액세스..
[AWS] AWS 인증서로(ACM) HTTPS 적용해보기 ACM이란 무엇일까요?? AWS Certificate Manager(ACM)은 SSL/TLS 인증서와 키를 만들고, 저장하고, 갱신하는 복잡성을 처리합니다. 비용은 무료이고 연마다 갱신할 필요가 없다는 게 가장 큰 장점입니다. AWS에서 제공하는 인증서를 적용하기 위해서는 몇 가지 조건이 있습니다. EC2 인스턴스를 1개 이상 구동 중이다. Route53을 이용 중이다. ELB(Elastic Load Balancer) 또는 CloudFront를 이용 중이다. 만약 도메인 주소가 없다면 이전 글에서 먼저 만들고 와야 합니다. 목차 ACM을 이용해 인증서 발급 로드밸런서 생성 Route53에서 생성한 도메인에 로드밸런서 등록 HTTPS 적용 확인 1. ACM을 이용해 인증서 발급 ACM 서비스 페이지에서 ’..
[AWS] Route 53으로 DNS 구매 및 도메인을 IP 주소 연결하는 법 목차 Route 53으로 도메인 구입하기 도메인 이름과 IP 주소 연결하기 Route 53으로 도메인 구입하기 AWS Route 53으로 접속한 후에 도메인 등록 버튼을 누르겠습니다. 위와 같이 원하는 도메인 이름을 적은 후에 장바구니 추가하고 도메인 기간, 가격을 확인한 후에 계속을 누르겠습니다. 그리고 아래 개인정보 보호 활성화도 체크되어 있는 대로 해놓고 계속을 누르겠습니다. 만약 도메인이 1년마다 자동갱신되는 것을 원치 않다면 비활성화를 클릭해야 합니다. 주문 완료를 클릭해 도메인을 주문합니다. 어느 정도 시간이 지나면 도메인이 등록됩니다. 등록된 이후에 호스팅 영역을 들어가면 Route 53에 의해서 도메인 이름이 자동으로 생긴 것을 볼 수 있습니다. 도메인 이름과 IP 주소 연결하기 호스팅 영..
[AWS] Jmeter를 사용해 서버 부하 테스트하기 JMeter를 설치해 EC2에 부하를 주도록 해보겠습니다. 서버에는 AWS EC2에 Apache 웹서버와 php가 설치되어 있습니다. Mac JMeter 설치하기 mac 환경을 기준으로 설치 방법입니다.. brew install jmeter 설치가 되었으면 아래 같이 터미널에서 입력하면 JMeter가 실행됩니다. jmeter JMeter 사용하는 법 Test plan을 클릭하고 오른쪽 마우스를 누른 후에 Add -> Threads -> Thread Group을 선택해서 들어가겠습니다. 그러면 아래와 같이 몇 명이 동시 접속할 것이며, 각각의 유저들이 몇 번 반복해서 접속할 것인가를 정할 수 있습니다. 제가 설정한 스레드 그룹은 다음과 같습니다. 그리고 이제 어떤 서버에 부하를 줄 것인지를 설정하기 위해서..