x86 가상화를 이해하기 위한 기초 지식 0. x86 가상화란? *x86 가상화는 x86 기반의 게스트 운영체제 (윈도우, 리눅스) 가 하이퍼바이저라고 하는 가상화 레이어 위에서 구동하는 방식이다. *x86은 80 x 86 이라는 인텔이 개발한 마이크로프로세서 계열을 통창하여 부르는 말이며, 이들과 호환되는 프로세서들에서 사용한 명령어 집합 구조를 일컫는 말이다. x86 아키텍쳐는 CISC(Complex Instrucetion Set Computer) 기반으로 되어 있는데 CISC란 소프트웨어 특히, 컴파일러 작성을 쉽게 하기 위해 하드웨어화 할 수 있는 것은 가능한 모두 하드웨어에게 맡긴다는 원칙 아래 설계된 컴퓨터이다. 이에 반해 유닉스 시스템은 RISC(Reduced Instruction Set C..
CloudFront 배포 CloudFront 배포는 CloudFront의 가장 기본적인 단위이다. 이 배포가 독립적인 도메인을 가지게 된다. 이후 DNS 서비스인 Route 53이나 별도의 DNS 서버에서 배포 도메인을 CNAME으로 설정하면 사용자가 구매한 도메인과 연결할 수 있다. 여기서 중요한 개념이 오리진(Origin)이다. CloudFront는 CDN 서비스이기 때문에 항상 원본에서 파일을 복사해서 가져와야 한다. 즉, 파일을 가져오는 원본 서버가 오리진이다. CloudFront가 지원하는 오리진은 다음과 같다. S3 버킷 : 가장 기본적인 오리진이다. S3에 버킷을 생성하고 파일을 저장하기만 하면 되기 때문에 가장 간편하다. EC2 인스턴스 : EC2 인스턴스에 웹 서버를 구축하면 오리진으로 ..
전 포스팅에서 이어서 진행한다. https://cwpack0730.tistory.com/77 [CICD] pipeline 생성 및 github/dockerhub 연동(2) 지난 시간에 jenkins를 container로 동작시키고 플러그인 설치, admin user 생성 등 초기 설정을 진행하였다. 오늘은 flask 코드가 있는 github 레포지토리와 dockerhub를 연동시켜보겠다. Github token 생성 https:/ cwpack0730.tistory.com 이전 jenkins pipeline에서 사진-8 github project란에 레포지토리 주소를 입력하였다. Dockerfile FROM python:3.8-slim COPY . /app RUN pip install flask RUN p..
지난 시간에 jenkins를 container로 동작시키고 플러그인 설치, admin user 생성 등 초기 설정을 진행하였다. 오늘은 flask 코드가 있는 github 레포지토리와 dockerhub를 연동시켜보겠다. Github token 생성 https://cwpack0730.tistory.com/35 [Git] Authentication failed for ~ user a personal access token instead 에러 문제발생 Linux에서 Github를 사용하다 아래와 같은 에러가 발생하였다. 원인 해당 오류는 2021년 8월 이후로 git pull을 진행할 때 ID/Password 방식이 아닌 token을 이용하여 로그인을 하기 때문에 발생한 cwpack0730.tistory.co..
CloudFront CloudFront는 개발자 친화적 환경에서 짧은 지연 시간과 빠른 전송 속도로 데이터, 동영상, 애플리케이션 및 API를 전세계 고객에게 안전하게 전송하는 고속 컨텐츠 전송 네트워크(CDN) 서비스이다. CloudFront는 CDN 서비스와 이외에도 기본 보안 기능(Anti-DDOS)을 제공한다. CDN이란? CDN(Content Delivery Network or Content Distribution Network, 컨텐츠 전송 네트워크)은 컨텐츠를 효율적으로 전달하기 위해 여러 노드를 가진 네트워크에 데이터를 저장하여 제공하는 시스템이다. 인터넷 서비스 제공자(ISP, Imternet Service Provider)에 직접 연결되어 데이터를 전송하므로, 컨텐츠 병목을 피할 수 있..
지금 AWS를 이용하여 3tier 인프라 환경 구축을 진행중에 있는데, 단순 배포만 하자니 재미없을 것 같아 3tier 구성 겸 CI/CD 파이프리인 배포도 추가 구성해보려 하고 있다. 유명한 CI/CD 툴로는 젠킨스, 깃랩, bamboo 등이 있고 CD에만 집중된 GitOps, FluxCD, ArgoCD 등, 환경에 따라 다수의 툴들을 연동하여 사용하기도 한다. 본인은 CI/CD 구성의 진행 경험이 없다. 그래서 일단 예전 근무지에서 자주 접한 젠킨스를 활용해서 간단한 CI/CD 테스트 구성을 진행해보도록 하겠다. jenkins란 젠킨스는 java 기반의 CI/CD 툴이다. 쉽게 빌드와 테스트, 배포를 자동화하는 오픈소스 도구라고 생각하면 된다. 주로 소프트웨어 개발 및 배포 프로세스에 사용되며, 코드..
지난번 Hyper Backup을 이용한 NAS 외장하드 데이터 백업을 진행하였다. Hyper Backup은 백업 데이터가 암호화되어 이를 복원하러면 다시 Hyper Backup을 사용해야 하는, 즉 NAS가 손상되면 NAS를 다시 구하기 전까지는 복원이 힘들다는 단점아닌 단점이 있었다. 오늘은 데이터가 암호화되지 않고 백업되는 USB Copy를 사용해보도록 하겠다. USB-Copy USB Copy - Synology 지식 센터 USB Copy - Synology 지식 센터 kb.synology.com USB copy는 시놀리지 NAS와 외부 저장소 장치 간에 파일을 복사하는데 사용한다. 해당 패키지에는 저장소의 효율적인 사용과 파일 찾기, 여러 복사 설정과 파일 정리 등의 기능이 존재한다. USB Cop..
시놀로지 NAS 백업 및 보안 이번 주 고객사 측 시놀로지 NAS 장비의 백업과 보안 솔루션을 제안하는 작업이 있었다. 이에 NAS의 여러 백업 방법에 대해 새로 알게 된 정보들을 공유하러 한다. NAS 백업 5가지 방법 Synology NAS를 어떻게 백업할 수 있습니까? - Synology 지식 센터 Synology NAS를 어떻게 백업할 수 있습니까? - Synology 지식 센터 kb.synology.com 위 링크를 토대로 NAS 백업 방법을 5가지로 정리해봤다. 동일한 시놀로지 NAS 장비 다른 시놀로지 NAS 장비 외부 디스크 클라우드 서비스 내부 파일 서버 각 방법을 현재 상황과 비용에 대해서 정리해보니 NAS 장비 사용 혹은 외부 디스크 사용으로 굳혀진것 같다. 오늘은 이 중 외부 디스크..
S3에 올려진 그림 파일을 원하는 도메인에서만 보여줄 수 있도록 설정해보겠다. S3는 데이터 전송량에 따라 요금을 책정하기 때문에 원하지 않는 도메인에서의 링크를 막는다면 그만큼 비용을 절감할 수 있다. HTTP Referer? HTTP Referer는 HTTP 헤더값으로서 웹 브라우저에서 생성하는 데이터이다. 링크를 어디서 클릭했느냐, 그림 파일을 어디서 보여줬느냐를 알 수 있다. S3에서는 이 Referer 값을 판단해서 파일을 보여주지 말지 결정할 수 있다. HTTP Referer 실습 이번에는 버킷을 2개 사용하겠다. 버킷 하나에 웹사이트를 구축하고 HTTP Referer를 설정한다면 정작 웹사이트의 HTML 파일을 볼 때는 HTTP Referer 설정에 막혀버리기 때문에 의미가 없다. 새로 생성..
S3정적 웹사이트 호스팅 사용 S3를 웹 서버 형태로 사용해보겠다. 사실 저번 실습을 진행해보면 알겠지만 정적 웹사이트 호스팅 설정을 하지 않더라도 S3에 파일을 올리면 웹 브라우저로 파일에 접근할 수 있다. 하지만 그냥 사용하는 것과 정적 웹사이트 호스팅 설정을 사용하는 것은 큰 차이점이 있다. 다음은 일반적인 S3의 URL 형태이다. http://s3-ap-northeast-1.amazonaws.com/examplebucket10/Jellyfish.jpg s3-.amazonaws.com// 다음은 정적 웹사이트 호스팅을 사용한 S3의 URL 형태이다. http://examplebucket10.s3-website-ap-northeast-1.amazonaws.com/Jellyfish.jpg .s3-web..
공유와 권한 (S3 객체 권환 관리하기) SC 버킷 권한 관리하기 이번에는 버킷에 권한을 설정하겠다. 버킷에 권한을 설정하면 버킷 안에 든 모든 객체에 적용된다. Select Type of Policy: SNS Topic Policy, IAM Policy, SQS Queue Policy, S3 Bucket Policy를 선택할 수 있다. 여기서는 S3 Bucket Policy를 선택한다. Effect: 허용(Allow), 거부(Deny)를 선택할 수 있다. 기본값 그대로 Allow를 선택한다. Principal: 권한을 적용할 사용자다. IAM 계정을 사용할 수 있다. 여기서는 인터넷에 전체 공개할 것이므로 *을 입력한다. AWS Service: 처음 Select Type of Policy를 선택하면 그..
오픈소스 애플리케이션을 linux에서 돌려보고 있는데 해당 명령어가 눈에 띄었다. jobs node ./Server/lib/Game/cluster.js 0 1 bg disown -h node Server/lib/Web/cluster.js 1 bg disown -h netstat -anlp | grep netstat -anlp | grep web과 game 서버로 나뉘어져 있는데 이를 linux 단일 서버에서 실행시키려 진행한 것이다. 위 명령은 해당 프로세스를 백그라운드로 진행시키는 명령어이다. “&”를 이용한 백그라운드 실행은 익숙하지만 bg, fg, jobs 등 명령어는 익숙치 않은것 같아, 프로세스를 백그라운드로 관리하는 명령어들에 대해 상세히 알아보고 실습해보는 시간을 가져보도록 하겠다. Back..