Canned Policy / Custom Policy 를 사용한 Signed URL 생성 https://cwpack0730.tistory.com/88 [AWS] CloudFront Signed URL 사용 설정Signed URL 사용 설정하기 먼저 Signed URL을 사용하러면 CloudFront 배포에서 Behavior(동작, 행동) 설정이 필요하다. 본인은 실습을 위해 새로 웹 서버를 생성하고 CloudFront로 배포중인 상태이다. CloudFrontcwpack0730.tistory.com 지난 포스팅에서 CloudFront 키 페어 생성을 완료했다. 이제 본격적으로 Signed URL을 직접 생성해보겠다.Signed URL은 보통 애플리케이션에서 자체적으로 생성하여 사용한다. 따라서 Java,..
Signed URL 사용 설정하기 먼저 Signed URL을 사용하러면 CloudFront 배포에서 Behavior(동작, 행동) 설정이 필요하다. 본인은 실습을 위해 새로 웹 서버를 생성하고 CloudFront로 배포중인 상태이다. CloudFront 배포 목록에서 EC2와 연동한 CloudFront 배포를 선택한다. 선택한 CloudFront 배포에서 동작 탭으로 이동하여 defult 동작을 편집하였다. ! CloudFront Restrict Viewer Access 설정 ! 뷰어 엑세스 제한을 Yes로 변경하여 Signed URL을 사용했다. 신뢰할 수 있는 인증 유형으로 키 그룹을 선택할 수 있는 Trusted Key groups, 서명자(사용자)를 직접 선택할 수 있는 Trusted signer..
예전 사내에서 ansible을 처음 사용했던 때가 기억이 난다. 모든 RHEL OS 서비스(서버) 호스트들의 패스워드 만료일을 파악해달라는 요청이였는데, 서버 수가 상당했고 수작업으로 하나하나 진행하고 있었다..만, 5분의 1도 못해서 포기하고 ansible로 일괄 작업 및 자동화를 시키기로 결심했다. chage명령어를 사용해 나타나는 계정의 정보들중에서 패스워드 만기일을 나타내는 password expires 부분의 데이터만 grep 해와서 보면될듯싶은데.. ansible이 playbook 형식으로도 사용할 수 있지만, 이미 기능들이 생성되어있는 모듈들로도 충분히 진행가능한 기능인듯 싶어 모듈로 진행하였다. Inventory를 작성하여 host ec2를 명시하였다. 기능 테스트만 진행할하므로 간단히 1..
Signed URL은 CloudFront로 배포되는 파일의 사용을 제한하는 기능이다. Signed URL은 특정 날짜가 지나면 파일을 받지 못하게 하고 싶을 때, 특정 날짜 이후에 파일을 받게 하고 싶을 때, 특정 IP에서만 파일을 받을 수 있도록 할 때 사용된다. Signed URL은 크게 2가지가 있다. Canned Policy를 사용한 Signed URL : 파일 1개의 사용을 제한한다. 또한, 특정 날짜가 지나면 파일을 받지 못하게 하는 기능만 사용할 수 있다. 정책(Policy)의 내용이 URL에 포함되어 있지 않아 URL의 길이가 짧다. Custom Policy를 사용한 Signed URL : 파일 여러 개의 사용을 제한한다. 날짜가 지나면 파일 못받게 하는 기능, 날짜 이후에 받게 하는 기능..
https://cwpack0730.tistory.com/79 [AWS] CloudFront 실전 구축 세팅 (EC2와 연동하기) CloudFront 배포 CloudFront 배포는 CloudFront의 가장 기본적인 단위이다. 이 배포가 독립적인 도메인을 가지게 된다. 이후 DNS 서비스인 Route 53이나 별도의 DNS 서버에서 배포 도메인을 CNAME으로 설정하면 cwpack0730.tistory.com 이전 포스팅에서 이어서 진행하겠다. CloudFront 캐싱 확인하기 배포까지 완료되었고 CloudFront에서 캐싱이 되는지 확인하겠다. cd /var/log/apache2 $ tail -f access_log 로그를 띄우고 이제 EC2 DNS로 접속해보고 CloudFront DNS로 접속하여 비..
VMware vSphere 란? VMware 가 vSphere라는 이름을 붙이기 시작한 것은 버전 4부터이다. vSphere로 이름을 바꾸면서 vSphere를 클라우드 기반으로 만드는 클라우드 OS라고 정의했다. 기존 VI3의 하이퍼바이저 + 관리 툴 만으로 VMware가 생각하는 비전을 이루기에 부족하다고 생각했는지 이를 지원하는 패키지 여러가지 제품을 묶어서 패키지 형식으로 만든 것이 바로 vSphere 이라고 생각하면 된다. vSphere 6에 이르면서 호스트에서 지원하는 스펙 및 성능은 나날히 증가하여 현재는 vSphere의 핵심 하이퍼바이저인 ESXi 호스트의 메모리는 12TB까지 지원하며 CPU는 480개, 클러스터 구성 시 호스트는 64개까지 지원한다. 또한, 하나의 VM에서 지원하는 vCP..
하이퍼바이저를 이해하기 위해서는 운영체제의 유저 모드와 커널 모드를 이해해야한다. 그리고 가상화와 연관된 유저 모드와 커널 모드를 이해하기 위해서는 x86 CPU의 Protection Ring 모드를 이해해야 한다. 이는 유저모드와 커널모드가 RIng 모드의 전환과 밀접한 관계가 있기 때문이다. 베이메탈에 윈도우 OS, 리눅스 OS를 설치하면 하드웨어 - 운영체제 라는 2개의 층이 형성된다. OS가 설치되면 하드웨어의 주소를 직접 다루는 부분과 어플리케이션을 다루는 부분이 분리된다. OS에서 하드웨어를 직접 핸들링할 경우에 다루는 모드를 커널모드라고 부른다. 일반적 사용자 측면인 어플리케이션 측면에서 핸들링 하는 부분을 유저모드라고 한다. 가상화를 도입하게 되면 이 부분에서 문제가 발생하게 된다. 물리 ..
CPU의 인스트럭션 실행 (링(RIng) 구조) 전가상화와 반가상화를 이해하기 위해서는 링 구조에 대한 이해가 필요하다. 필요한 분량의 하드웨어 자원을 할당하기 위해 x86서버는 4개 (RIng 0-3)의 특권 명령을 운영체제와 어플리케이션 제공한다. 링 번호가 낮을수록 높은 권한을 가진 명령을 실행할 수 있다. 현재 가상화는 대부분 x86 서버에서 이루어지고 있다. x86 서버는 가상머신 hosted 방식과 다르게 하드웨어 위에서 곧바로 가상머신을 운영할 수 있게 디자인 되었기 때문에, 가상머신들은 그들 스스로가 컴퓨팅 하드웨어를 통제하고 있다고 여긴다. 응용프로그램은 Ring 3에서 실행되고, 운영체제는 Ring 0 에서 특권 명령 (privleged mode)을 사용하여 필요한 컴퓨팅 자원에 접근이..
하이퍼 바이저를 직역하면 ‘ 무언가를 뛰어넘는 가리개 막 ‘ 위키백과에서의 하이퍼바이저의 정의: 하이퍼바이저는 **호스트 컴퓨터에서 다수의 운영체제를 동시에 실행하기 위한 논리적 플랫폼**을 말한다. 가상화 머신 모니터 (Vurtual Machine Monitor, VMM) 라고 부른다. 헬멧 등에서 바이저 : 여닫을 수 있는 부분 베어메탈(bare-metal)은 말 그대로 헐 벗은 금속이라는 의미이다.(의역하면 빈 깡통) 빈 깡통이니 OS가 설치되기 전의 서버라고 생각하면 된다. 옛날에는 이 서버에 OS를 직접 설치했으나 x86 서버 자체가 유닉스 서버 대비 중요도가 덜한 서비스에 사용되다 보니 OS 사용률이 평균 10%를 넘어서는 일이 많지 않았다. x86 가상화를 구현하는 핵심이 바로 하이퍼바이저고..
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..