요약



0. 내가 이해한 바.

  1. 인스턴스로 가상환경을 생성
  2. 이때 해당 가상환경에 접속하기 위한 방법으로 ssh키 쌍을 발급
    1. public, private
    2. private는 내 로컬에서 해당 public IP에 접근하기 위함
  3. public IP를 고정시키기 위해 해당 인스턴스에 고정 IP 로 변경

현재 설정한 가상 서버 접속

ssh oracle-dev
 
ssh -i ~/.ssh/ssh-key-stock.key ubuntu@152.67.220.93
Host oracle-dev
  HostName 152.67.220.93
  User ubuntu
  IdentityFile ~/.ssh/ssh-key-stock.key

1. 설치

Ubuntu

  • Linux 가 아닌 Canonical Ubuntu 로 설치!!

1. 인스턴스 생성

  1. ssh key 발급

2. 인스턴스 접속

  • ssh [사용자이름]@[공용IP]
ssh ubuntu@

3. 고정 IP

현재 인스턴스 고정 ip IP 고정 방법

  1. 고정 IP 발급
  2. 인스턴스 내 ip 변경
    1. 인스턴스
      1. 위 탭 네트워킹 클릭
    2. 연결된 VNIC
      1. 해당 VNIC 클릭
    3. IP 관리 탭
      1. 편집
      2. 퍼블랙 IP 없음 기존 퍼블릭 ip 내리고 고정 ip 설정

public 거절 시 chmod 700 ssh-key-stock.key

4. 패키지 설치

1. 패키지 업데이트

sudo apt update && sudo apt upgrade -y

2. python 및 가상환경 도구 설치

sudo apt install -y python3 python3-pip python3-venv

3. Dock 및 Docker Compose 설치

1) docker 설

  1. Docker 설치
sudo apt install -y \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
 
  1. Docker에 GPG 키 추가
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
  sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
 
  1. 저장소 설정
echo \
  "deb [arch=$(dpkg --print-architecture) \
  signed-by=/etc/apt/keyrings/docker.gpg] \
  https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
 
  1. 설치
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
 
  1. 권한설정
sudo usermod -aG docker $USER
newgrp docker
 
2) docker-compose 설치
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" \
  -o /usr/local/bin/docker-compose
 
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
 
3) Docker 기반 Airflow 설치

프로젝트 ㄷ렉토리 생성

mkdir ~/airflow-docker && cd ~/airflow-docker

공식 docker 설정 파일 다운로드

curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.7.3/docker-compose.yaml'
 

환경파일생성

curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.7.3/docker-compose.yaml'
 

초기화

docker-compose up airflow-init

실행

docker-compose up airflow-init

airflow CPU 사용량 제한

오라클 클라우드는 사양이 좋지 않음 따라서, airflow 사용시, CPU 100% 잡아먹는 문제 발생 따라서, docker-compose.yaml 에서 아래 수정

  1. 예시 DAGS 비활성화
  2. CPU 사용 제한
    1. cpu 1개 기준 30% 활용
environment:
	AIRFLOW__CORE__LOAD_EXAMPLES: 'false'
 
airflow-webserver:
	# CPU 제한 추가
	cpu_period: 100000
	cpu_quota: 30000

CPu 사용량 실시간 확인

docker-compose stats airflow-webserver

참고사이트