Amazon RDS Cross region read replica 사용하기

HYEONG HWAN, MUN/ 4월 9, 2018/ 미분류/ 0 comments

세상에, DB 의 read replica 가 국가(리전)단위로 가능하다.   일본에 있는 DB서버(RDS)를 한국에 Read-replica 를 만들어 몇달간 운영해보았다. 장점 : replica 가 잘된다. 단점 : 실은 이 단점을 적으려고 이 글을 적는다.   JP 에 원본 RDS 가 있고, KR에 복제 Read RDS 가 있는데, (아마존 콘솔을 사용해서 만들었음) JP RDS 속성에 Replica 항목에 KR RDS 가 안보였고, KR RDS 속성에 write role 으로 동작하고, 실제로 디비에 insert 를 해보니 insert 가 되더라!     1. 디비 생성  (CREATE TABLE)   2. 데이터 입력 (INSERT)   3. 입력값 변경 (UPDATE)   4. replica 에 데이터 입력 (INSERT on Read replica)   5. 쿼리 실행이 실패할만하게 수정. 원본에 중복열 삽입   6. 컬럼명 변경 (ALTER)   7. 원본에 데이터 입력 (INSERT)…

ssh 키 인증에서 private key 로 public key 생성하는 방법

HYEONG HWAN, MUN/ 4월 4, 2018/ 미분류/ 1 comments

RSA 암호 방식의 동작 원리는 이곳에 : https://blog.lael.be/post/5107   ssh-rsa public key 의 규칙 ssh-rsa [인증키 내용] [인증키 주석]   보통 이런 형식이다. ssh-rsa AAAAB3NzaC1yc2EAANlyt3erpJLpwzAlxky5 root@ip-172-31-30-55   ssh-rsa private key 의 규칙 —–BEGIN RSA PRIVATE KEY—– [암호해독키 내용] —–END RSA PRIVATE KEY—–   보통 이런 형식이다. —–BEGIN RSA PRIVATE KEY—– MIIEpQIBAAKCAQEAuw3Xbtfmf3L47Cep1UonizjSe1nP3aMYerIlAUIclihXPuv3 vw0aYHX+P3rHiSIs/Sbhu68O5USGVfM9eMc9suPWT97jDNkPWGG6mHuXg8XEMxrJ RxR6TwSFhc92f5e9O5fBZgFq0r1F4gQxn3dGWqNX2CaFchdlIPHE8QU= —–END RSA PRIVATE KEY—–   public key 로 private key 를 만들 수는 없지만, private key 로 public key 는 만들 수 있더라. 다음의 명령어를 실행하면 된다. ssh-keygen -f id_rsa -y ssh-keygen -f id_rsa -y > mynew_key.pub (옵션) 생성된 mynew_key.pub 파일을 열어서 형식에 맞게 주석을 넣으면 된다.      

Linux Swap file 만들기

HYEONG HWAN, MUN/ 3월 17, 2018/ 미분류/ 2 comments

하드디스크 일부 영역을 메모리로 사용하는 것을 스왑(Swap) 이라고 한다. 과거, 메모리가 비싸던 시절에 흔하게 사용되던 방법이다. (요즘엔 사무용 PC도 램 8GB를 사용하는 시대라서 스왑을 거의 사용 안함.) 대부분의 경우에 스왑을 설정할 필요는 없지만, 메모리가 낮은 시스템에서는 설정해 주어야 한다. 현재 이 블로그는 메모리 1GB 의 저사양 클라우드 서버에서 구동되고 있으며, 최근에 메모리를 늘려야할 필요가 생겨서 스왑을 설정하고 있다. HDD 환경에서 SWAP은 느리기 때문에 추천하지 않지만, SSD 환경에서 SWAP은 나름 쓸만하다.   1. 빈 디스크 만들기 블럭사이즈가 1MB, 블럭 갯수가 2000K 인 빈파일을 만든다. (즉 2GB) # dd if=/dev/zero of=/root/swapfile bs=1024 count=2000000 권한 설정 (예를들어 시스템 내의 다른 사용자가 스왑파일을 지운다면 문제가 발생할 것이다.) # chmod 600 /root/swapfile   2. 스왑파일로 설정하기 # mkswap /root/swapfile   3. 스왑파일 켜기 # swapon /root/swapfile…

마인크래프트 닉네임 기록 및 스킨 3D 확인하는 사이트

HYEONG HWAN, MUN/ 2월 27, 2018/ 미분류/ 1 comments

이번에는 mcname  이라는 마인크래프트 닉네임 및 스킨 확인기를 소개해보려는데요! 우선 사이트입니다 https://mcname.info/ko/ 마인크래프트 닉네임 및 스킨 확인기   우선 사이트에 접속하시면 이런화면이 나올겁니다. 저기 검색창에 자신이 보고 싶은 스킨의 닉네임을 입력해줍니다! 저는 제 마인크래프트 닉네임인 EnderDragon_Girl을 입력해보겠습니다! 검색을 하시면 제 프로필이 나오는데요! 그 외에도 EnderDragon_Girl이라는 닉네임을 가지셧던분들도 같이 나오네요! (날짜도..) 우와 제 프로필이 다 나오네용! (참고로 소셜미디어는 로그인을 하고 저 닉네임이 제꺼라는것을 인증한뒤에 올릴수 있습니다!) 이 사이트를 보니까 제가 사용하였던 스킨, 저의 옜날 닉네임들(바꾼 날짜까지 아주 정확하네..)등 다양하네요! 여기서 스킨 다운로드까지 있군요.. 또한 저기 위에 망토를 클릭하시면 다양한 망토 스킨들이 나오네요! 그리고 이번엔 서버를 클릭해보았는데요! 이렇게 다양한 서버들이 나오네요! 서버 인원에 좋아요까지! 순위도.. 그리고 닉네임을 입력하는칸에 서버주소를 적으면! 서버 인원과 서버 국가와 접속할수있는 버전이 나오네요! 자 이번엔 이 닉네임(스킨)이 자신의…

Ubuntu PHP session lifetime 증가시키기

HYEONG HWAN, MUN/ 2월 6, 2018/ 미분류/ 0 comments

우분투 OS 환경에서는 독특한 퍼미션관리 때문에 시스템 garbage collector 가 동작한다. php_value[session.save_path] = /home/myuser1/.php-session 0 6 * * * /usr/bin/find /home/myuser1/.php-session/ -atime +14 -type f | xargs rm      

ECMAScript2015(ES2015)와 var, let, const 구분하기

HYEONG HWAN, MUN/ 1월 31, 2018/ 미분류/ 0 comments

프로그래밍 언어는 다음의 4가지 속성을 가지고 있습니다. – Syntax(구문 구조) : 문법적으로 올바른 프로그램에 대해 정확하게 설명. – Names(이름) : 프로그램에서의 다양한 개체에 대해 이름을 명명함. (변수명, 타입명, 함수명, 클래스명 등등) – Types(타입) : 타입이란 값의 그룹과 값이 할 수 있는 연산에 대해서 정의합니다. 이로인해서 올바른 연산을 파악하고 타입에러를 검출할 수 있습니다. – Semantics(의미) : 프로그램의 의미를 나타냅니다. 각 줄의 의미를 알 수 있으며 프로그램이 실행되면 변수의 변화등을 정의합니다. 언어 디자이너(Language designer)는 이 속성을 반드시 정의하여야 하며 프로그래머(Programmer)는 반드시 정해진 규칙을 따라야 합니다. 프로그래밍 언어 속성을 따르면서, 프로그래밍 언어의 상세정보(Specification)가 변경된다. Javascript 의 경우, ECMA(European Computer Manufacturers Association) 에서 논의되고 Specification 이 결정된다. 다른 프로그래밍 언어와 동일하게 javascript 도 버전이 계속 올라가고 있으며, 브라우저에 반영되고 있다. ES2015 는 2015년 06월에…

HSTS 삭제하는 방법 (서버 및 크롬브라우저)

HYEONG HWAN, MUN/ 12월 31, 2017/ 미분류/ 1 comments

HSTS 는 HTTP Strict Transport Security 의 약자입니다. 브라우저에게 HTTPS를 강요하면서 통신의 보안을 향상시키는 방법입니다. 서버에서 HSTS 관련 헤더를 보내면 브라우저는 해당 기간동안 무조건 HTTPS 를 사용합니다.   HSTS 를 적용하는 방법. (서버에서) 이 구문을 nginx 설정파일에 적용하면 접속자의 브라우저에 hsts 가 자동 적용됩니다. HSTS 를 적용 해제하는 방법. (서버에서) 적용시간을 0으로 설정하면 됩니다. HSTS 를 적용 해제하는 방법. (브라우저에서) 1. 크롬브라우저 크롬 주소창에 chrome://net-internals/#hsts 입력.

한번에 끝내는 AWS Amazon Linux 웹서버세팅 (아마존리눅스 서버세팅)

HYEONG HWAN, MUN/ 12월 17, 2017/ 미분류/ 10 comments

리눅스라는 컴퓨터 운영체제가 있습니다. GPLv2 를 따르며 오픈소스이며, 매우 오래된 역사를 가지고 있습니다. 오랜 시간을 통해 검증이 된 운영체제이죠. 리눅스의 파생 운영체제로는 Ubuntu, Debian, CentOS, Fedora, Amazon Linux, Android, AIX, Redhat 등이 있습니다. Ubuntu, Debian 는 데비안 계열의 운영체제이며 최신기술의 빠른 적용과 자동화가 특징인 운영체제입니다. CentOS, Fedora, Amazon Linux, Android, AIX, Redhat 은 CentOS 계열이라고 하는데, 이 운영체제들 끼리는 명령어 및 폴더의 구조가 비슷합니다. CentOS 및 Fedora 는 무료 오픈소스인데, 최신기술 적용이 심각하게 느립니다. Redhat 은 유료 운영체제입니다. 1년에 120만원쯤 사용료가 있습니다. Android 는 모바일 운영체제입니다. AIX 는 IBM 서버에서만 쓸 수 있는 운영체제입니다. Amazon Linux 는 Amazon Web Service 에서만 쓸 수 있는 운영체제입니다.   패키지 업데이트가 엄청나게 느린 CentOS 와는 다르게, Amazon Linux 가  최신 소프트웨어 설치를 제공하므로,…

NGINX Gzip 설정하기

HYEONG HWAN, MUN/ 12월 16, 2017/ 미분류/ 6 comments

* GZIP 이란? Gzip 은 GNU zip 의 줄임말이며 리눅스/유닉스 시스템에서 널리쓰이는 압축 소프트웨어 이다. 웹서버 통신을 할 떄 데이터를 gzip 압축하여 전송하면 속도가 더 빨라진다. * gzip 사용 안할 경우 : [서버에서 HTML 데이터 전송] -> [클라이언트 브라우저가 표시] * gzip 을 사용할 경우 : [서버에서 HTML 데이터를 압축 후 전송] -> [클라이언트 브라우저가 압축을 풀고 표시] gzip 을 사용할 경우, 웹서버와 클라이언트(브라우저)의 CPU 사용량이 약간 늘어난다. 요즘 서버나 PC의 경우 충분히 고사양이기 때문에 gzip cpu 사용량은 무시해도 된다.(0.1% 미만) 압축 전송이기 때문에 전송속도가 빨라지고 , 트래픽량이 줄어든다. 특히, 국가간 트래픽이나 느린 인터넷 환경에서, 속도가 빨라진 것을 크게 느낄 수 있다. 너무 작은 파일은 그냥 전송하는게 더 빠르고, 이미 충분히 압축된 파일은 gzip 을 해도 용량이 별로 안줄어들기 때문에…

S3 버저닝(S3 Versioning) 설명

HYEONG HWAN, MUN/ 12월 11, 2017/ 미분류/ 0 comments

회사 내에서 회의 전에 준비한 내용인데 블로그에 공유해도 될 것 같아서 작성해 본다. 이 글이 도움될 사람이 분명히 있으리라 생각한다.   이 프로젝트에서 라엘이의 역할은 결정권은 없으며, 이렇기 때문에 이렇게 하는 것이 좋겠다 라는 Advisor 의 일을 하고 있다.   * 배경 설명   회사에서 S3 를 사용하고 있으며, 일부 데이터가 삭제되는 문제가 발생했다. 이미지 몇장 지워진 거라서 큰 문제는 없었지만 대비책을 마련해야 하는 상황.   1. 테스트 파일 준비   2. Properties 에서 Versioning 을 Enable 하면 아래와 같은 버튼이 생긴다.   3. 파일 변경!   4. Version 보기 모든 버전에 대해서 변경시간 및 다운로드 할 수 있다.   5. 저장 용량 설명 6. 현재 사용중인 용량 확인 S3 > Management > Metrics 에서 확인 할 수 있다. 현재…

나만의 고정 IP 생성하기! – VPN 생성방법

HYEONG HWAN, MUN/ 11월 28, 2017/ 미분류/ 10 comments

웹서비스를 사용하다보면 나만의 고정 아이피가 필요할 때가 있다. 예를 들어, 방화벽 설정할 때 나만의 고정 아이피가 있다면 더 수월하게 작업 할 수 있다. 이 글에서는 VPN 서버를 설정하여 나만의 고정 IP 를 만드는 법에 대해 설명할 것이다.   – VPN 사용시 장점 1. 빠른 인터넷 속도 사용가능 – 간혹 통신사에서 인터넷 속도를 제한을 거는 경우가 있는데 이것을 피할 수 있습니다. 2. 방화벽 및 보안설정에 좋음 – 이 IP 만 허용하게 할 수 있다. 3. 공개 장소에서도 안전한 통신 사용가능 – VPN 서버와의 연결은 암호화 통신이기 때문에 통신이 상대적으로 안전해 진다. (VPN 로그인 및 연결 이후 통신 모두 암호화) 4. 데이터 검열, 방화벽 제한 회피가능 – 자신의 네트워크 요청은 암호화되어 VPN 서버에 전송되며 그 곳에서 처리가 시작된다. 즉 네트워크의 시작 지점이…

정확한 서버시간 확인하기 – 퓨어타임

HYEONG HWAN, MUN/ 11월 21, 2017/ 미분류/ 0 comments

커뮤니티의 출석부, 코레일 기차예매, 인터파크 티케팅을 할 때 해당 서버의 시간을 확인하곤 한다. 부하량이 많은 서버는 시간이 조금씩 느리게 간다. 일반적으로 ms 이내이지만 누적되면 표준시간과 수십초이상 차이날 수 있다. 다만 시간 순서가 중요한 시스템에서, 갑작스런 서버시간 교정은 서버에 ‘시간공백’이나 ‘시간역행’ 현상을 일으키므로 별도의 점검 기간을 정하고 서버의 시간과 표준시간을 일치시키는 작업을 하길 권장한다. (클라우드 서버는 서버 시간 교정을 할 필요가 없다. 자동으로 메인서버와 시간동기화가 되기 때문이다.)   빠르고 정확한 서버시간 확인사이트 – 퓨어타임 https://puretime.me/   서버시간 확인코드 인터넷 통신규약 표준 RFC 2616에 의해 통신하는 서버는 접속자에게 자신의 시간 정보를 제공해야 한다. https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.18 원래 이 규약은 웹 통신의 caching 을 위해서 구현된 규약이며, 시간차를 계산해서 클라이언트 – 서버간 올바른 시간 단위 계산을 도와준다. The Date general-header field represents the date and time at…

국내 도메인 등록업체 가격비교 (cheap domain)

HYEONG HWAN, MUN/ 11월 18, 2017/ 미분류/ 6 comments

이 글은 다음의 글과 연관되어 있습니다. 무료 도메인 등록업체 Freenom – https://blog.lael.be/post/6070 무료 네임서버 목록 – https://blog.lael.be/post/1475 아파치 웹서버 세팅방법 – https://blog.lael.be/post/73 엔진엑스 웹서버 세팅방법 – https://blog.lael.be/post/2600 너무 비싼 가격으로 도메인을 구매(연장)하시는 분들이 계셔서 이 글을 작성해 봅니다. 이 글을 통해 당신은 저렴하고 싼 도메인을 구입할 수 있을 것입니다. 1. 도메인 주소란? 다른 사람이 당신의 사이트를 찾아가기 위해서, 도메인이라는 “인터넷 주소“가 필요합니다. 도메인 주소를 당신의 서버IP 와 연결 할 수 있습니다. 도메인 주소는 또한 방문자에게 사이트 이름이나 사이트 주제를 간접적으로 알려주는 역할을 하기도 합니다.   2. 도메인 주소 구성 도메인 주소는 TLD(Top Level Domain) 와 Subdomain 으로 나뉩니다. 이것은 도메인 주소를 거꾸로 읽으면 알 수 있습니다. 예를들어 blog.lael.be 도메인의 경우 be 는 belgium(벨기에) 에서 관리하는 TLD 입니다. lael 는 .be domain 의 Subdomain 입니다. blog 는 .lael.be domain…

우분투 네임서버 구축하기 (Install Ubuntu bind9 nameserver)

HYEONG HWAN, MUN/ 10월 25, 2017/ 미분류/ 5 comments

반드시 네임서버를 구축해야 할 경우가 아니라면, 직접 구축하지 말고 다음의 글로 이동하여 무료 서비스를 이용해 보세요. 무료 DNS 서비스 모음 도메인 네임서버란? Domain Name Server 는 “네임서버” 또는 “DNS” 라고 부릅니다. 도메인 네임서버는 사람이 읽을 수 있는 도메인 이름을 기계가 읽을 수 있는 IP 주소로 변환하는 일을 합니다. 도메인 네임서버는 보통 계층형으로 이루어지고 결과를 캐쉬합니다. <그림 : 계층형 DNS. 속도 개선 효과가 있다.> 구축 방법 Ubuntu Linux 에서 zone 파일을 구성하여 네임서버를 구축하는 예제를 설명합니다.   1. 운영체제의 apt 패키지 목록 갱신 # apt-get update   2. 네임서버 소프트웨어 Bind9 설치 # apt-get install bind9   3. 네임서버 서비스 상태 보기 # service bind9 status 서비스가 실행되고 있지 않다.(inactive)   4. 네임서버 서비스 켜기 # service bind9 start # service…