no image
48~52일차) 2025-03-10 ~ 2025-03-14 [1. AWS 팀 프로젝트]
🚀주제: AWS 서비스 + 테라폼 + CI / CD에 초점을 맞춘 3-tier 토이프로젝트아키텍처 구성도 CI/CD 파이프라인을 통해 프론트엔드와 백엔드를 배포 자동 배포 및 스케일링 기능을 포함한 웹 애플리케이션 인프라를 구축1️⃣ 배포 프로세스 (CI/CD 자동화)GitHub Actions: 개발자가 GitHub에 코드를 푸시하면 GitHub Actions가 이를 감지하고 빌드 파이프라인을 실행S3 업로드: 빌드된 애플리케이션이 S3 버킷으로 업로드됨AWS CodeDeploy: S3에서 빌드된 파일을 가져와 배포를 진행EC2 Auto Scaling Group: EC2 인스턴스에서 애플리케이션이 실행되며, 필요에 따라 Auto Scaling을 통해 서버 수를 조절2️⃣ 네트워크 및 인프라 구성✅ VP..
2025.03.25
no image
59일차) 2025-03-25(docker swarm)
docker swarm docker - 단일 호스트, 단일 컨테이너docker compose - 단일 호스트, 여러종류의 컨테이너docker swarm - 다수의 호스트(manger, worker), 여러종류의 컨테이너- 컨테이너 오케스트레이션 툴(k8s도 컨테이너오케스트레이션 툴)* 오케스트레이션? - 지휘자 + 다수의 연주자를 떠올리면 좋다.- 여러개의 컨테이너를 관리하는 기술(스케일링, 헬스체크, 트래픽제어=배포)ubun-tem을 3개 복제해서 각각 호스트네임, IP, 변경 후 docker 설치 manager - 211.183.3.210/24worker1 - 211.183.3.220/24worker2 - 211.183.3.230/24 curl -fsSL https://get.docker.com -o..
2025.03.25
no image
60~62일차) 2025-03-26 ~ 2025-03-28 [2. 도커 개인 프로젝트]
https://github.com/GBSB2023/GBSB GitHub - GBSB2023/GBSB: It is an app that provides a load map of the Department of Engineering.It is an app that provides a load map of the Department of Engineering. - GBSB2023/GBSBgithub.comDocker 기반 Kotlin 앱 빌드Git에 있는 Kotlin Android 프로젝트를 활용하여, Docker 기반 빌드 환경을 구축하는 실습을 진행🔥 목표Docker를 활용하여 Kotlin Android 앱 빌드 환경 구축Docker 컨테이너에서 앱을 빌드하고, APK 파일을 생성안드로이드 디바이스에 A..
2025.03.24
no image
58일차) 2025-03-24(docker-compose)
docker0 인터페이스 자동재시작 스크립트sudo tee /root/check_ip_and_restart_docker.sh#!/bin/bash if ! ip add | grep -q 172.17; thensystemctl restart dockerfiEOFroot@host:~# chmod 777 /root/check_ip_and_restart_docker.sh스케쥴 관리. 2번 기본 vim 편집기 root@host:~# crontab -e* * * * * /root/check_ip_and_restart_docker.sh♨ 나는 왜 vim으로 열리지 않는가...nano 편집기로 열려서 일반 vim 편집기로 바꾸려면 crontab -e 실행 시 사용하는 기본 편집기를 변경vi ~/.bashrcexport ..
2025.03.24
no image
57일차) 2025-03-21(앱배포-python, nginx)
파이썬 플라스크 앱 배포git clone https://github.com/oolralra/smart실습) 이 앱을 컨테이너화하고 사설저장소에 push해서 테스트 해보세요!- 파이썬 버전 3.9- pip install -r requirements.txt: 패키지 설치- gunicorn -b 0.0.0.0:8080 main:app: 앱을 실행하는 명령어. 모든 대역에 오픈 (-b 0.0.0.0:8080)flask → gunicornfastAPI → unicornroot@ubun-tem:~/smart# apt update -y && apt install -y python3-pip root@ubun-tem:~/smart# pip install -r requirements.txtroot@ubun-tem:~/sm..
2025.03.21
no image
56일차) 2025-03-20(앱 배포-java/js, 컨테이너화, dockerignore)
무중단 고가용성 앱 배포, 서비스를 끊기지 않게 제공다양한 앱 배포웹어플리케이션웹에서 동작하는 어플리케이션웹어플리케이션 프레임워크앱 제작 가이드 또는 툴자바 - spring(java + tomcat 서버 필요), springboot(버전이 맞는 java 필요, tomcat 내장)openjdk + tomcat파이썬 -  fastapi, flask, djangopython 및 의존성 파일 설치자바스크립트 - nodejs(명확히 따지면 프레임워크가 아님)nodejs 및 npm, 의존성 파일 설치소스코드를 앱으로 만들려면?# java 웹프레임워크인 springboot로 짜여진 소스코드가 있다면, maven이나 gradle같은 빌드툴과 자바가 설치된 상태에서 'build'를 통해 war이나 jar같은 압축 파일을..
2025.03.20
no image
55일차) 2025-03-19(우분투 용량 추가, was-db, 사설저장소)
우분투에서 용량 늘리기 50GB 추가 root@host:~# fdisk /dev/sdbn 후 엔터 4번root@host:~# pvcreate /dev/sdb1 root@host:~# vgextend ubuntu-vg /dev/sdb1root@host:~# lvextend -l +100%FREE -n /dev/mapper/ubuntu--vg-ubuntu--lvroot@host:~# resize2fs /dev/ubuntu-vg/ubuntu-lvmysql 컨테이너 생성컨테이너 접근 방법# 1번 방법컨테이너 IP를 알아야 함 (내부에서 내부라면 추천)# 2번 방법호스트의 포트로 접속-p로 호스트포트를 정했다면 제일 편한방법 (돌아가는 방법)# 2번 방법으로 진행일단 띄워보면 안되는 것을 확인root@host:~..
2025.03.19
no image
54일차) 2025-03-18(도커 이미지, Dockerfile, DockerRegistry)
도커 이미지★★★★★Dockerfile도커이미지를 만들기 위한 명세표(주문자의 바람이 담김), IaC의 일종root@host:~# mkdir /docker root@host:~# cd /dockerFROM베이스이미지를 지정, 맨 위에 표시Dockerfile 생성root@host:/docker# vi DockerfileFROM nginx:latest#베이스 이미지root@host:/docker# docker build -t mynginx:1 .# -t(tag) : 이미지의 이름, 옵션 싹다 지정 # 이미지의 이름은 다르지만 모든레이어가 동일하기때문에 동일한 이미지를 참조하고 있다.기존꺼 삭제root@host:/docker# docker rm -f $(docker ps -qa)root@host:/docker..
2025.03.18
no image
53일차) 2025-03-17(컨테이너 가상화)
컨테이너 가상화(Docker)하나의 호스트 위에 여러 컨테이너를 적재서버(하이퍼바이저) 가상화보안 수준 유리컨테이너 가상화자원의 오버헤드 측면, 프로비저닝이 필요없음, 자원/속도 유리 하이퍼바이저 가상화컨테이너 가상화격리수준하드웨어 수준프로세스 수준자원오버헤드 높음오버헤드 낮음보안컨테이너 가상화보다 높음하이퍼바이저보다 낮음프로비저닝 속도상대적으로 느림guest VM부터 구성상대적으로 빠름호스트 H/W와 커널까지 공유하기 때문따로 Guest VM과  Quest 커널을 구성할 필요없음호환성원하는 OS 설치 가능호스트에 종속된다.리눅스 기반의 컨테이너만 가능 컨테이너 가상화에 필요한 리눅스 기반 기술1. ch root컨테이너의 최상위 디렉토리 변경컨테이너 내부에서 접근 가능한 디렉토리(공간)를 제한2. Cgr..
2025.03.17