[AWS] Lambda 1. AWS Lambda? 서버를 프로비저닝하거나 관리하지 않고도 코드를 실행할 수 있게 해주는 컴퓨팅 서비스 고가용성 컴퓨팅 인프라에서 코드를 실행한다. Lamba는 서버와 운영 체제 유지 관리, 용량 프로비저닝 및 자동 조정, 코드 및 보안 패치 배포, 로깅 등의 모든 컴퓨터 리소스를 관리를 수행한다. Lambda는 사용한 컴퓨팅 시간 만큼만 비용을 지불, 코드가 실행되지 않을 때는 요금이 부과되지 않는다. 2. Lambda 특징 이벤트 기반 실행 ex) S3, DynamoDB, API Gateway 서버리스 아키텍처 다양한 프로그래밍 언어 지원 ex) Python, Node.js, Java, Go 자동 확장 간단한 배포 및 관리 AWS 서비스 간 통합 3. Lambda 사용 ..
[AWS] EKS(Elastic Kubenetes Service) EKS 클라우드와 온프레미스 데이터센터에서 쿠버네티스를 실행하는 데 사용되는 관리형 쿠버네티스 서비스 AWS 네트워킹 및 보안 서비스와의 통합뿐만 아니라, AWS 인프라의 모든 성능, 규모, 신뢰성 및 가용성을 활용 EKS Architecture EKS VPC와 Customer VPC가 나뉘어져 있다. Worker node들은 모두 EC2로 구성되어, Customer VPC에 위치한다. 노드는 퍼블릭/프라이빗 엔드포인트를 통해 컨트롤 플레인(Master)에 API access 한다. 컨트롤 플레인은 AWS Managed VPC 내에 구성된다. Customer VPC에 ENI를 생성하며, 이 구간을 통해 Worker node에 접근한다. 워..
[Redis] Ubuntu에 Redis 설치 레디스 설치 sudo apt-get update -y sudo apt-get install redis-server redis-server --version 외부에서 접근이 가능하도록 허용 sudo vi /etc/redis/redis.conf ~ #bind 127.0.0.1 :: 1 bind 0.0.0.0 ~ 레디스 재시작 후 상태 확인 sudo systemctl restart redis sudo systemctl status redis 연결 확인 redis-cli
[Airflow] Celery executor, Flower https://heywantodo.tistory.com/68 [Airflow] 멀티 클러스터 환경 구성 (Celery Executer) [Airflow] 멀티 클러스터 환경 구성 [구성] 1. airflow-ec2-1 (Master) metadata database(rds-mysql) airflow webserver airflow worker 2. airflow-ec2-2 (Worker) airflow worker 1. Master, Worker 인스턴스 생성 후 airflow 설치 : airflow 설치 heywantodo.tistory.com 이전 포스팅에서 Docker composer를 통해 Celery executor를 구성하는 방법을 ..
[Docker] 컨테이너 리소스 도커 컨테이너를 생성할 때, 리소스 제한이 가능하다. CPU, Memory 등의 리소스를 제한하는 방법을 알아보자 테스트용으로 컨테이너를 하나 띄워놓고 진행을 해보자 docker run --name nginx -d nginx:latest 컨테이너의 리소스는 cgroup의 리소스를 이용해서 할당한다. 💡cgroups (control groups) 프로세스들의 자원의 사용 (CPU, 메모리, 입출력, 네트워크 등)을 제한하고 격리시키는리눅스 커널 기능 단일 또는 태스크 단위의 프로세스 그룹에 대한 자원 할당을 제어한다. Memory 1. 메모리 할당 먼저 메모리의 limit을 확인해보자 docker stats nginx 아무런 설정을 하지 않고, 컨테이너를 생성했을 시 메모리..
[Linux] Symbolic Link Symbolic Link? 링크를 연결하여 원본 파일을 대신해 다른 이름으로 파일을 지정 윈도우의 바로가기 심볼릭 링크 설정은 간단하다 ln -s [원본 파일|디렉토리][연결 할 파일명|디렉토리명] 설정을 하고 확인을 할 수 있다. 화살표 기준 오른쪽에 있는게 원본 파일이고 왼쪽에 있는게 바로가기 파일이다. 디렉토리도 물론 설정이 가능하다. 삭제도 간단하다. rm [바로가기로 설정한 파일|폴더 명]
[Linux] 리눅스 권한 1. 특정 유저에게 특정 command 권한 아래 파일을 통해서 command 권한을 줄 수 있음 vi /etc/sudoers 특정 유저&그룹의 멤버들에게 sudo 권한을 부여 #User privileage specification : sudo 권한을 부여 할 사용자 명 추가 #Allow members of group sudo to execute any command : sudo 권한을 부여 할 그룹 추가 ALL이 아닌 NOPASSWD 로 두고 뒤에 command를 주면 특정 커맨드만 사용이 가능하다 %username ALL={ALL}NOPASSWD:/usr/sbin/useradd 2. 파일, 디렉터리의 소유권과 허가권 2-1. 파일 유형 파일이 어떤 종류인지 나타낸다. 디렉터..
[Linux] 리눅스 계정 리눅스 계정과 권한에 대한 개념이 헷갈려서 정리 리눅스 계정 리눅스 계정은 ID가 아닌 UID로 관리한다. 계정 uid/gid 설명 root 0 시스템 관리자 계정 디바이스 추가/삭제, 계정 생성/삭제, 프로그램 설치 등 system account 1 - 499 애플리케이션들이 사용하는 계정 /sbin/nologin local user 500 - 60000 리눅스 사용자 계정 유저의 홈 디렉토리는 /home/ $ 계정 관리 데이터베이스 파일들 /etc/passwd 로그인 계정 정보 root:x:0:0:root:/root:/bin/bash ubuntu:x:1000:1000:Ubuntu:/home/ubuntu:/bin/bash /etc/group 로그인 그룹 정보 root:x:0:..
[AWS] EFS(Elastic File System) EFS AWS EFS는 클라우드 서비스와 온프레미스 리소스 모두에서 사용가능한 확장 가능하고 탄력적인 파일 스토리지다. 기존 온프레미스에서 사용하던 NFS, NAS와 비슷한 서비스라고 생각하면 된다. 즉, 다수의 인스턴스에서 파일에 접근할 수 있는 네트워크 파일 스토리지 서비스다. EFS 특징 EFS는 파일을 추가하고 제거할 때 자동으로 확장되고 축소된다. 여러 가용 영역에서 액세스가 가능하다 (EBS와 달리 Multi AZ를 지원한다) S3와 같이 스토리지 클래스가 존재한다. (lifecycle을 통해 수명 주기 관리가 가능하다) EFS 생성 0. 서버 생성 테스트를 위한 서버 2대를 생성해준다. 하나는 ubuntu 하나는 amazon linux ..
(1) configure & Jenkinsfile (2) Pytest & Docker Image Build [Jenkins] Pipeline 구성 (2) Pipeline & lint 1. 파이프라인 생성 빌드를 하기 위해선 파이프라인을 먼저 생성해줘야한다. 대시보드에서에서 새로운 Item을 클릭한 후 이름을 입력 하고 Pipeline을 선택 빌드유발은 Github webhook을 통해서 push 이벤트가 발생했을 시 트리거되도록 설정한다. 아래 사진과 같이 파이프라인을 스크립트로 작성을 해도 되지만 나는 Git에 있는 Jenkinsfile을 불러오도록 구성을 했다. Pipeline script from SCM을 선택해준 후 저장소 URL을 입력하고 인증 정보를 선택한다. 빌드를 할 소스코드가 있는 bra..