분류 전체보기 98

S3란 무엇인가?

이 글을 읽기 전에 앞서 안녕하세요. mayleaf입니다. 이번 글은 S3가 무엇인지, 왜 사용하는지, 사용하는 방법은 무엇인지에 대해서 간략하게 설명한 글입니다. 글의 순서는 S3의 정의, 사용하는 이유, 사용하는 방법 순으로 적혀있습니다. 감사합니다. S3란? S3는 Simple Storage Service 의 약자로 첫 글자에 S가 세 번 나타나기 때문에 S3라고 부릅니다. S3 는 인터넷용 저장소 서비스입니다. 각종 정적 파일들과 스크립트들을 저장하고 제공하는 용도로 사용합니다. 예를 들어서 이미지, 음원, 바이너리 패키지 같은 것들을 관리하는 데 사용합니다. 이 서비스는 웹 스케일에서 컴퓨팅을 쉽게 해주기 위해서 설계되었습니다. 예를 들어서 이미지 업로드가 가능한 서비스를 운영한다면, 이미지 저..

AWS series/S3 2020.11.28

S3 관리 방법

이 글은 S3 관리 방법을 다룬 글입니다. S3는 데이터 저장소입니다. 여러 정적 데이터를 저장하고 사용자들에게 제공하기 위해서 사용됩니다. 저는 s3 버킷 생성, 버킷정책 관리, 버킷 마이그레이션, CloudFront 연동 등 S3와 관련된 기능을 써봤습니다. 그러면서 느낀 점이 두 가지가 있습니다. 첫 번째는 버킷 생성과 파일 업로드, 다운로드를 하는 것은 어렵지 않다는 점이었습니다. 두 번째는 자원을 효율적으로 관리하는 것이 중요하는 점이었습니다. 여러분은 자원을 어떻게 관리해야한다고 생각하십니까? 저는 정책을 통해서 관리해야한다고 생각합니다. S3자원을 관리하려면 생성할때 다음 세 가지 정책을 고려해야 합니다. 바로 명명 정책, 접근 정책, 비용 정책입니다. 명명 정책 버킷 이름은 명명 정책을 따..

AWS series/S3 2020.05.23

이 세상을 만들면서

이 글은 저의 꿈을 적은 글입니다. 이 세상을 만들면서 세상은 그 안에 있는 존재들이 만듭니다. 저도 이 세상을 만들고 있습니다. 이 세상을 만들며, 다른 사람들에게 좋은 영향을 미치고 싶습니다. 좋은 영향에는 많은 가짓수가 있습니다. 제가 주고 싶은 영향은 편리함입니다. 저는 아주 자그마한 편리함을 통해서도 인생과 이 세상에 거대한 전환을 일으킬 수 있다고 믿습니다. 잡생각 항상 이런 생각을 합니다. 아침에 안경을 못 찾아 면접에 지각한 사람이 있다고 생각해봅시다. 안경에 삑삑거리는 기능이 있었으면 손쉽게 찾을 수 있지 않았을까요? 안경을 찾아 제 시간에 도착했다면 그 사람에게 기회가 하나 더 주어졌을 것입니다. 이런 생각이 들때면 자그마한 편리함이 인생에 전환점을 찾아줄 수 있다는 것을 느낍니다. 편..

나의 생각 2020.05.04

Nginx 로드밸런싱 설정

이 글은 Nginx 로드밸런싱 방법을 적은 글입니다. 이 글에서 다루고자 하는 내용은 크게 두 가지로 첫 번째는 로드밸런서의 정체와 사용하는 이유이고, 두 번째는 Nginx를 로드밸런서로 운용하는 방법입니다. 로드밸런서의 정체 로드밸런서는 번역하면 부하 분산기입니다. 말 그대로 부하 분산을 위한 프로그램 혹은 하드웨어입니다. 로드밸런서의 역할은 가상의 주소를 향한 요청을 여러 서버에 분배하는 것입니다. 로드밸런서를 사용하는 이유 로드밸런서가 사용되는 이유를 크게 분류하면 두 가지가 있습니다. 첫 번째는 부하를 분산하여 하나의 서버의 부하를 조절할 수 있다는 점, 두 번째는 고가용성으로 두 개 이상의 서버를 운영하여 한쪽 서버가 장애가 생길 시 다른 쪽에서 해당 서비스를 운영할 수 있는 구성을 통해 운영 ..

Nginx 시리즈 2020.04.14

Nginx 프록시 서버

이 글은 Nginx를 프록시 서버로 사용하는 방법을 적은 글입니다. 이 글에서 다루고자 하는 내용은 크게 두 가지로 첫 번째는 Nginx를 리버스 프록시 서버로 운용할 때의 장점이고 두 번째는 Nginx를 리버스 프록시 서버로 운용하는 방법 입니다. 리버스 프록시 서버를 운용하는 장점 첫 번째는 어플리케이션 서버의 정보를 외부에 노출하지 않고 운영할 수 있다는 점이고, 두 번째는 하나의 포트만으로 여러 서버에 접근 할 수 있는 아키텍쳐를 만들 수 있다는 점입니다. Nginx를 리버스 프록시 서버로 운용하기 우리는 두가지 실습을 진행할 것입니다. 첫 번째는 간단한 Nginx 리버스 프록시 서버를 세팅하는 것이고 두 번째는 Nginx 리버스 프록시 서버에 어플리케이션 서버를 연결하는 것입니다. Beginne..

Nginx 시리즈 2020.04.04

Nginx 란?

Nginx에 대한 글입니다. 1.Nginx의 정체과 구조 2.Nginx의 장점 3.Nginx의 사용 예시 다루는 내용은 크게 세 가지로 위 세가지 내용을 다룹니다. Nginx의 정체와 구조 Nginx는 서버 프로그램으로 웹 서버, 프록시 서버, 메일 프록시 서버, TCP/UDP 프록시 서버로 사용할 수 있습니다. Nginx를 가장 보편적으로 쓰는 예시는 웹 서버입니다. 예전에는 Apache httpd가 점유율이 높았지만 이제는 Nginx가 가장 대중적인 웹서버입니다. Nginx의 내부 구조는 Event-Driven 방식으로 동작합니다. Event-Driven이란 주기적으로 이벤트가 발생했는지 확인하고 이벤트가 감지되었을때에 이벤트를 처리하는 방식입니다. 마찬가지로 Nginx는 주기적으로 이벤트가 발생했는..

Nginx 시리즈 2020.04.02

Nginx 설치

Nginx를 설치하는 방법에 대한 글입니다. 설치하는 방법은 다음과 같습니다. 1. 선행 요구 프로그램 설치 2.Nginx 레포지토리를 소스리스트에 추가 3.Nginx 레포지토리의 인증키를 패키지 인증용 키 리스트에 추가 4.사용가능한 패키지의 버전을 업데이트 한 후 설치한다. ※설치에 필요한 명령줄 모음은 포스트 하단에 따로 모아놓았습니다. 선행 요구 프로그램 설치 아래의 명령어는 프로그램을 설치하기 위해서 먼저 깔아야하는 프로그램들을 설치하는 명령줄입니다. sudo apt update sudo apt install curl gnupg2 ca-certificates lsb-release Nginx 레포지토리를 소스리스트에 추가한다. nginx 레포지토리의 종류는 대략 안정된 버전과 최신 메인 버전이 있..

Nginx 시리즈 2020.04.01

JWT, Json Web Token

JWT, Json Web Token에 대한 글입니다. 1. JWT의 정의와 구조 2. 장점이 무엇인지 3. 언제 사용하면 좋은지 다루는 내용은 크게 세 가지로 위 세가지 내용을 다룹니다. JWT의 정의와 구조 JWT는 RFC 7519으로 토큰기반 인증 시스템을 구현한 것입니다. 이름에서 알 수 있듯이 JWT는 토큰 내부의 정보를 Json으로 저장하고 있습니다. 하지만 이 정보는 암호화 되어있고, URL에 공개되지 않기 때문에 적은 비용으로 안전하게 데이터를 전송할 수 있습니다. JWT의 내부 구조는 HEADER, Payload, Signature로 구성되어있으며 이 정보들은 .(dot)을 통해서 구분됩니다. 좌측에는 JWT, 그리고 우측에는 JWT 내부의 정보가 담겨있습니다. 헤더: JWT를 복호화하는데..

Web 2020.03.30

해커를 위한 디자인 레슨

안녕하세요. 메이리프입니다. 오늘부터 독서록도 적어보려고 합니다. 오늘 정리할 책은 '해커를 위한 디자인 레슨 - 데이비드 카다비' 입니다. 디자인을 좀 이해해보고 싶어서, 다르게 말하면 제가 디자인을 몰라서 진입점을 찾아보고자 읽기 시작했습니다. 목차는 아래와 같이 구성되어있습니다. 디자인의 이해 재료와 형태 구도 색 부록 디자인이란 새로운 종류의 리터러시 능력이라고 필자는 말합니다. 책에서는 리터러시를 '특정한 기술을 사회적 맥락에서 자유롭게 운용할 수 있는 능력' 이라고 합니다. 그리고 디자인 리터러시를 해커를 위해 표현한다면 아래와 같을 것입니다. ∴ 디자인 리터러시 = 디자인을 통해서 사용자와 의사소통하는 능력 책에서 디자인 리터러시를 길러주는 과정을 3장. 재료와 형태의 예시를 들어보겠습니다...

독서록 2020.03.10

로그스태시가 레디스 정보를 읽는 방식

안녕하세요 메이리프입니다. 오늘은 로그스태쉬가 레디스에서 정보를 어떻게 읽는지 적은 글을 씁니다. 본문 로그스태시는 입력 플러그인을 통해서 특정한 소스의 정보를 읽습니다. 마찬가지로 레디스의 정보를 읽을 때에는 레디스 입력 플러그인을 사용합니다. 지원하는 데이터 타입은 list,channel, channel-pattern 이렇게 세 가지를 지원하며, list의 경우 BLPOP, channel의 경우 subscribe, channel-pattern의 경우 psubscribe 를 통해서 정보를 읽어옵니다. BLPOP은 blocking list pop의 약자로, 해당 키에 대해서 빈 값이면 레디스에서 커넥션을 막고, 값이 있을 때에만 값을 POP하여 넘겨줍니다.(POP이후에는 당연히 값이 지워집니다) chan..