반응형

인프라 | CICD 5

letsencrypt 무료 SSL 인증서 생성하기 (AWS/Route53)

개요 사이드 프로젝트를 진행하다 https 환경이 아닌 탓에 테스크 진행이 지연되거나 복잡해지는 경우가 생겼다. 인스타그램 API 연동을 해야하는데 callback uri에 https prefix가 강제된다거나 (ngrok로 해결), url 클립보드 복사 테스트를 진행하지 못하는 등 불편한 점들이 자꾸 생기길래 이를 해결하기위해 인증서 발급 과정을 진행했다. 그냥 사서 하면 되는거 아닌가요? -> 와일드 카드 인증서 기준 년 60 ~ 80 만원을 사용할 용기가 나지 않았다. AWS Certificate manager는 무료지 않나요? -> 추가적인 elb, ec2 구축이 강제되기에 이또한 비용이었다. Step 1. Certbot 설치 brew install certbot ( mac으로 진행했기에 brew..

[AWS/Lambda] 외부 라이브러리 import (python/paramiko)

개요 S3에 파일이 업로드 되면 해당 객체의 Key 정보를 활용해 AI 학습서버의 스크립트를 실행시키는 부분을 담당했다. Python의 paramiko 라이브러리를 사용하여 스크립트를 실행, 이 과정에서 필요한 외부 라이브러리를 Lambda에 추가하는 과정을 작성해보았다. 1. 외부 라이브러리 다운로드 AWS Lambda 런타임에서 외부 라이브러리를 사용하려면 로컬에서 코드/라이브러리 파일을 zip으로 압축하여 업로드해 사용한다. (처음에는 받아드리지 못했다. 진짜..? 너가 안해줘...? 이런 반응이었다.) 먼저 zip 파일로 코드/라이브러리를 압축할 때 최상위 폴더 경로는 다음 표를 참고하자 로컬에 python 폴더를 생성한 뒤, paramiko 라이브러리를 다운로드 받아주자. 다운로드 받을 코드/라..

Dockerfile 명령어 정리

Docker file FROM 베이스 도커 이미지 지정(흔히 OS, 프로그래밍 언어환경의 이미지를 선택) 반드시 한 번 이상 입력해야하며 Dockerfile 최상단에 위치합니다. FROM openjdk:8 FROM FROM : 공식 이미지는 Docker Hub 참조 RUN 쉘 커맨드를 도커 이미지에서 실행. 이미지 빌드 과정에서 필요한 cmd를 실행하기 위해 사용 RUN mkdir volume RUN npm install --silent RUN apk add binutils RUN ["executable", "param1", "param2"] RUN LABEL 도커 이미지에 메타데이터를 추가할 수 있습니다. key-value pair 형태입니다. docker inspect 명령어로 생성한 LABEL을 확..

쿠버네티스 - 도커와 쿠버네티스

들어가기 앞서.. 해당 포스트는 "쿠버네티스 인 액션"을 공부하며 중요하다고 생각되는 내용을 정리한 것입니다. 학습 목표 도커 컨테이너 플랫폼의 이해와 쿠버네티스의 아키텍처에 대해 학습한다. 도커 컨테이너 플랫폼 도커는 컨테이너를 여러 시스템에 쉽게 이식 가능하게 하는 최초의 컨테이너 시스템이다. 애플리케이션뿐만 아니라 라이브러리, 종속성, 심지어 운영체제 파일시스템까지도 도커를 실행하는 다른 컴퓨터에 애플리케이션을 프로비저닝하는 데 사용할 수 있다. 도커로 패키징된 애플리케이션을 실행하면 함께 제공된 파일시스템 내용을 정확하게 볼 수 있다. 어떤 환경이라도 같이 패키징된 파일시스템만 사용할 수 있다.(호스트 파일시스템을 못본다는 말은 아님.) 도커는 컨테이너 이미지가 여러 이미지에 공유되고 재사용될 수..

쿠버네티스 - 컨테이너/가상머신 차이

들어가기 앞서.. 해당 포스트는 "쿠버네티스 인 액션"을 공부하며 중요하다고 생각되는 내용을 정리한 것입니다. 학습 목표 쿠버네티스는 애플리케이션을 격리하는 기능을 제공하기 위해 리눅스 컨테이너 기술을 사용한다. 쿠버네티스를 공부하기 전 컨테이너 기본 개념과 가상머신과의 차이를 이해한다. 컨테이너 구글 클라우드의 설명을 빌려 컨테이너를 정의하자면 아래와 같다. 컨테이너는 소프트웨어 서비스를 실행하는 데 필요한 특정 버전의 프로그래밍 언어 런타임 및 라이브러리와 같은 종속 항목과 애플리케이션 코드를 함께 포함하는 경량 패키지입니다. - 컨테이너에서 실행되는 프로세스는 다른 모든 프로세스와 마찬가지로 호스트 운영체제 내에서 실행된다. (프로세스가 별도의 운영체제에서 실행되는 가상머신과 다르다.) - 그러나 ..

반응형