DevOps 41

AWS EC2 + Docker + AWS ECS를 통한 orchestration

컨테이너의 생성과 종료, 자동 배치 및 복제, 로드밸런싱, 클러스터링, 장애 복구, 스케쥴링 등 1. AWS ECS 란? (엘라스틱 컨테이너 서비스) 아마존 ECS란 AWS 클라우드의 완전 관리형 서비스로 안정적으로 확장가능하며 배포 속도가 빠르다. ECS는 크게 두가지 호스팅 방법을 갖는다. 첫 번째는 서버를 두지 않고 클라우드 인프라에서 애플리케이션을 호스팅하는 파게이트 서버리스방식, 두 번째는 관리용이하게 하기 위해 EC2인스턴스를 서버로 구성한 도커 기반 서비스 인프라를 호스팅 하는방식이 있다. 2. AWS 기반의 이미지 저장소 ECR * 컨테이너 오케스트리에션 도구 1) 구글 쿠버네티스 2) 도커, 스웜 3) 아파치, 메소스 4) 하시코프, 노마드 5) AWS, 엘라스틱 컨테이너 서비스(ECS)..

DevOps 2023.01.23

Docker와 Vmware, Virtualbox 차이점

1. 하이퍼 바이저란 ?(VMware, VirtualBox) 하이퍼바이저는 호스트 시스템에서 다수의 게스트 OS를 구동할 수 있는 소프트웨어이다. 많이 사용하는 VM 구조는 기존 OS 위에서 하이퍼 바이저를 사용하는 방식이다. 예를 들어 윈도우 PC에서 VMware 설치한 후 거기에서 ubuntu OS를 설치하는 구조. https://devlog-wjdrbs96.tistory.com/279 [Docker] Docker와 기존 가상화 기술의 차이 알아보기 Docker와 기존의 가상화 기술과의 차이를 통한 컨테이너 이해하기 가상화 기술 나오기 전 한대의 서버를 하나의 용도로만 사용 남는 서버 공간 그대로 방치 하나의 서버에 하나의 운영체제, 하나 devlog-wjdrbs96.tistory.com 2. 가상화..

CI(Continuous Integration)/CD(Continuous Delivery)

CI : 개발자를 위한 자동화 프로세스인 지속적인 통합(Continuous Integration) ex) CI : BUILD, Jar 파일 생성 및 테스트 CD : 지속적인 서비스 제공(Continuous Delivery) 및/또는 지속적인 배포(Continuous Deployment) ex) CD : DEV, STG 등에 배포 후 Prod에 배포 https://www.infoworld.com/article/3271126/what-is-cicd-continuous-integration-and-continuous-delivery-explained.html What is CI/CD? Continuous integration and continuous delivery explained CI/CD is a be..

DevOps 2023.01.11

Jenkins, Docker, SpringBoot, React or Vue

0. Docker-compose로 구성 version: '3' services: jenkins: container_name: jenkins image: jenkins/jenkins ports: - "8080:8080" volumes: - "$PWD/jenkins_home:/var/jenkins_home" networks: - net remote_host: container_name: remote-host image: remote-host build: context: centos7 networks: - net db_host: container_name: db image: mysql:5.7 environment: - "MYSQL_ROOT_PASSWORD=1234" volumes: - "$PWD/db_data..

CentOS에 Jenkins 설정

1. CentoOS에 Docker 설치하기 # Docker 저장소 설치 $ curl -fsSL https://get.docker.com/ | sh # Docker 서비스 시작 $ sudo systemctl start docker # Docker 서비스 작동 상태 확인 $ sudo systemctl status docker # Docker 서비스를 운영체제 부팅시 자동 시작하도록 설정 $ sudo systemctl enable docker # docker 명령어를 sudo 없이 사용하기 위해 계정을 docker 그룹에 소속 (계정 재접속 필요) $ sudo usermod -aG docker ec2-user # 설치된 docker 버전 확인 $ docker --version Docker version 19...

EC2에 파일 업로드, War, Jar 배포

1. FileZilla 이용 https://joytk.tistory.com/61 [AWS EC2] 인스턴스 파일 전송 방법 (FTP, FTPS FileZilla 사용) EC2 에서 SSH 연결로 다 해결 될 때도 있지만, 필요한 파일들을 인스턴스 서버로 옮겨야할 때도 있다. 여러가지 툴이 있겠지만, 예전에 파일질라(FileZilla)를 사용한 경험이 있어서 사용해본 것으로 joytk.tistory.com 2. Scp 이용 https://dev.classmethod.jp/articles/use-scp-upload-scp/ SCP를 사용하여 로컬파일을 EC2에 업로드 해보기 | DevelopersIO 소개 안녕하세요! 클래스메소드 금상원 입니다. 이번 블로그에서는 SCP를 사용하여 로컬에서 EC2에 파일을 ..

DevOps/AWS 2022.12.26

Infra 인프라

[IT 인프라 4대장] 1대장) Hardware(HW) - 서버 장비, 데이터 저장 스토리지, 기타 장치 등 2대장) Network - 애플리케이션 사용자(Client)를 서버와 리모트로 연결 해주는 것 3대장) Operating System, 운영체제(OS) - 하드웨어와 소프트웨어를 제어하고 사용자가 컴퓨터(서버)를 사용할 수 있도록 해주는 프로그램 4대장) Middleware - 서버가 특정 목적 및 기능을 수행하는데 도움을 주는 소프트웨어 미들웨어는 OS와 비즈니스를 처리하는 애플리케이션 사이에 들어가는 각종 소프트웨어를 말한다. 웹 서버, DBMS, 시스템 모니터링 툴 등이 있다. 오픈 소스부터 상용 솔루션까지 다양하므로 꼼꼼히 검토 후 필요한 요건에 따라 선정해야 한다. 서버(Server)는 ..

DevOps 2022.11.19

Node.js, Nginx 관계

1. Node.js란? Node.js란 Chrome V8 Javascript엔진으로 빌드된 JavaScript 런타임(프로그래밍 언어가 구동되는 환경)이다. 예전에는 자바스크립트 런타임이 브라우저 밖에 존재하지 않았는데 이를 극복하기 위해 Node.js가 나온 것이다. https://perfectacle.github.io/2017/06/18/what-is-node-js/ Node.js란...? 이 글을 쓰게 된 계기는 다음과 같다. Q: Node.js는 서버인가요?A: 네, 백엔드 개발자들이 Node.js를 씁니다. ‘백엔드 개발자도 쓸 뿐, 프론트 엔드 개발자도 쓸 수 있다’가 내가 내린 결론이고,오늘 perfectacle.github.io 1) Node.js의 특성 가. 비동기 이벤트 기반(event..

DevOps 2022.11.16

AWS S3

1. S3란? = 객체 스토리지 서비스 Simple Strage Service 로 파일을 저장하는 서비스라 생각 (파일 설치는 불가) 내구성 보장 : 파일 유실될 가능성 없음 Amazon CloudFront : CDN개념 이용 사용법 : 파일 볼 수있게 업로드하거나 사용자들이 파일 다운 받을 수 있도록 무제한 용량이고, 하나의 객체는 0 byte ~ 5TB의 용량으로 제한 2. Bucket 파일 저장할 때 SSD나 HD같은 역할 하는 것 버킷 이름은 중복 불가능하다. Multipart Upload 가능해서 큰 파일을 잘게 쪼갠뒤 S3에서 합치는 것 가능 Web Hosting할 경우 도메인과 Bucket명이 같아야 한다. 버킷 안으로 파일 업로드 하면 외부에서 그 링크를 통해 파일에 접속할 수 있음 보통 ..

DevOps/AWS 2022.06.23

AccessKey 대신 IAM 역할을 활용한 EC2권한 부여

1. IAM이란? AWS Identity and Access Management(IAM)를 사용하면 AWS서비스와 리소스에 대한 액세스를 안전하게 관리할 수 있다. 또한, AWS 사용자 및 그룹을 만들고 관리하며 AWS리소스에 대한 액세스를 허용 및 거부할 수 있다. 1. AWS 어카운트 관리 및 리소스/유저/서비스의 권한 제어 : 임시 권한 부여, 서비스 사용을 위한 인증 정보 부여 2. 유저의 생성 및 관리 및 계정의 보안 : Multi-factor Authentication, 유저의 패스워드 정책 관리 3. 다른 계정과의 리소스 공유 4. Identity Federation(Facebook 로그인, 구글 로그인 등) 2. IAM의 구성 1. 유저 : 실제 AWS 서비스를 사용하는 사람 - Acces..

DevOps/AWS 2022.06.18