오라클 클라우드 프리티어 사용기

한국이나 일본이나 아직 오라클 클라우드 프리티어는 정보가 많지 않아서 직접 써 본다.
기준은 서울 리전

무료 인스턴스 생성이 안됨

이것 때문에 쓰기도 전부터 꽤 고생했는데 인스턴스를 생성하려고 하면 out of host capacity 라는 에러 메시지(지금은 다른 메시지로 바뀜)로 생성이 안된다.
무료인 경우에 총 생성량이 제한 되어있어서 그렇다는데 문제는 꽤 오랫동안 이런 상태가 유지 된다는 것.
나는 매일 시도해서 8일(2020/02/18-2020/02/26간 시도)만에 인스턴스가 생성 되었다.
생성한건 오전이었는데 그날 오후 7시 정도까지는 생성이 되었으니 인스턴스 생성이 안될 때는 하루 한두번 오전 오후 시도해 보면 될듯하다.

네트워크 속도가 느림 특히 업로드는 최악


평일 오전 10시경 speedtest 로 체크.
다운로드가 49.65Mbit/s, 업로드가 4.06Mbit/s로 메가바이트/초로 환산하면 다운로드 6.2M, 업로드 500K라는 속도가 나온다. 우리집 VDSL속도랑 똑같아서 소름.
프리티어의 아웃바운드 트래픽 제한이 월 10테라인데 저 속도로 한달 내내 업로드 대역폭을 다 써도 13%정도 밖에 못 쓴다.
실질적으로 아웃바운드 제한 1테라라고 봐도 되는데 문제는 그냥 느리다는거. 제한을 1테라로 두고 업로드 속도가 제대로 나오는게 낫지.

윈도우에서 공개키, 개인키 생성 방법

인스턴스를 생성할때는 SSH 접속에 사용할 공개키를 넣어야 한다.
무설치판 git 클라이언트 -> https://git-scm.com/download/win
설치해서 공개기/개인키 만드는게 제일 쉬운 방법인듯.

VPN으로 넷플릭스

서울 리전에서 만든 이유는 블로그 속도 문제도 있지만 VPN으로 한국판 넷플릭스를 볼 수 있을까하는 이유도 있었는데 결과는 꽝.
속도가 너무 느려서 정상적으로 뭔가 볼 수는 없었다. 어떤것들이 있나 구경만 잔뜩 했는데 확실히 일본 넷플릭스보다는 한국쪽이 볼만한건 많은듯 했다.

프리티어 사용해 본 느낌

그래도 VPS 두대에 각 50기가 용량, 트래픽 걱정도 없고, CPU와 램도 좋은 편이라 홈서버에서 블로그 돌리던 때에 비하면 많이 좋다.
전기세는 일단 안들고 말이지.
다른 블로그에서 확인하기에 저 업로드 속도는 예전에는 안그랬던거 같은데 조금은 좀 올려줬으면 좋겠네.
평생 무료라고 광고 했으니 5년 정도는 서비스를 유지했으면 좋겠는데 오라클 사정이 어떨지 좀 걱정이 되긴 한다.

어쨋은 공짜에 여러 나라에 리전이 있으니, 한국에서라면 일본에 리전 만들어서 VPN용으로써도 좋을듯. 속도는 느리니까 웹서핑 정도 밖에 못하겠지만.

오라클 클라우드 프리티어

오라클 클라우드 프리티어로 이사

블로그를 한동안 방치하고 있었는데 서버를 오라클 클라우드 프리티어(https://www.oracle.com/kr/cloud/free/)로 이사했다.
무료로 두개까지 가상서버를 사용할 수 있으니 관심 있는 분들은 찾아 보라.
서버 위치로 서울 리전으로 했으니 저번보다는 좀 빨라지려나.
근데 이거 업로드 속도가 처참해서 그렇게 기대는 못하겠는데…

이사하면서 HTTPS 대응도 하고, 도메인도 만료 된거 그냥 죽였는데, 다른 도메인으로 새로 구입했다.
일본에 오나마에 쓰고 있었는데 도메인 만료 전에 도메인 갱신하라고 메일을 얼마나 보내는지 아주 질리도록 보내더라.
만료 후에도 다시 살릴 수 있는 기간동안엔 살리라고 메일이 또 오고.
질려서 구글 도메인에서 page 도메인을 구입했다. (제일 싼거)
가격도 가격인데 이름 선택권이 닷컴보다는 여유로워서 좋은 듯하다.

오라클 클라우드 팁 하나 던지자면 이걸 몰라서 엄청 고생했는데,
HTTP나 HTTPS나 포트를 열때 오라클 클라우드 설정 화면에서 가상 클라우드 네트워크 – 보안목록(security list) – 수신 규칙에서 포트 지정하는건 알겠는데 아무리 해도 접속이 안되더라.
나 같은 경우는 가상서버 OS는 우분투 서버 18.04를 선택했는데 다른 리눅스계열은 다 비슷할듯한데, 포트 열어도 접속이 안될때는 서버에 접속해서 iptables 꼭 확인해 보자.
ufw 설치해서 거기서 포트를 열어도 iptables 에 미리 정의된 내용이 있어서 ufw 건드려도 아무것도 안되더라.
iptables 에 직접 포트 열도록 설정해 주니 바로 되서 좀 어이가 없었다.
그냥 내가 멍청한 탓이지…
근데 ufw 깔면 iptables 안봐도 되는줄 알았어…

버려둔거 다시 살렸으니 종종 글을 올려봐야겠다.
일단 오늘은 이정도로.

무차별 대입 공격? 아파치 에러 메시지

아파치 웹서버의 에러 로그에 아래와 같은 에러가 다발하고 있었다.

아파치에서 디폴트로 잡혀있는 DocumentRoot 디렉토리(/var/www/html)에 공격 할만한 php 스크립트가 있는지 알아보려고 이런저런 이름의 php 파일명으로 대입해 보고 있는 로그이다.

아래 명령으로 디폴트 사이트 설정을 꺼버리면 워드프레스를 사용하고 있기 때문에 워드프레스의 루트에서 검색 되어지므로 일단 에러 메시지는 사라진다.

fail2ban을 쓰라는 글도 있던데 굳이 거기까지 할 필요성은 못 느껴서… 좀 생각해보고 적용하게 된다면 방법을 공유해 보겠다.

우분투 14.04->18.04 워드프레스 이행

워드프레스가 PHP 5.3을 더이상 지원하지 않아서 워드프레스 업데이트가 되지 않았다.
이전에 워드프레스 버전업을 하지 않아서 워드프레스가 해킹 당한적이 있기 때문에 바로 PHP 버전을 올려서 워드프레스를 업데이트 하려 했지만, 우분투 14.04에서는 PHP 5.3 이상을 공식적으로 지원하지 않고, PHP 7.x대에 저장소도 14.04 버전은 없어져 버려서 업데이트 불가. 결국 우분투 버전을 올리기로 결정.

가상 서버를 하나 더 생성해서 우분투 18.04 설치 후, 이행하기로 했다.

할일.
0. 서버 설치 후 설정
1. 아파치, PHP, DB를 설치
2. 워드프레스 이행
3. DB 이행
4. 워드프레스 접속 확인
5. 기타 서버 이행 작업

0. 서버 설치 후 설정

서버 설치하면 항상 하는 서버 IP 고정 설정과 SSH 포트 변경부터 했다.

IP 설정하는 파일이 바뀌었다.

50-cloud-init.yaml 파일 내용

변경내용 적용, 확인, 구글에 접속 테스트.

SSH 포트 변경
포트 부분만 바꿔주고 저장 후, 서비스 재시작.

1. 아파치, PHP, DB를 설치

우분투 18.04에 APM 설치하는건 apt install 만 하면 되니까 생략.은 아니고…
일단 아파치는 설치 되어 있다.
이전 우분투 서버에서 conf 파일을 옮겨 온다.

SCP로 복사하면 간단.

사이트 설정 파일을 enable로 심링크.

아파치 리로드 후에 문제가 생기는 경우에 확인.
주로 모듈이 설치 되지 않아서 생기는 경우가 많은데 해당 모듈을 설치해 주면 된다.

내 경우는 proxy_ajp가 활성화 되지 않아서 에러가 났으므로 proxy_ajp를 활성화.

이후, 아파치 리로드 해 보니 문제 없이 기동 되었다.

2. 워드프레스 이행

기존 서버에 워드프레스에 테마라든지 이런저런 이유로 파일을 수정해서 사용하고 있었기 때문에 새 서버에 워드프레스를 설치해서 데이터를 옮기지 않고, 기존 서버에 워드프레스 파일들을 그대로 가져 와서 사용하기로 했다.

기억하고 있던 tar로 압축하려 했으나 실패하고 요즘 주로 쓰고 있던 zip로 압축.(하려 했으나 zip이 없어서 설치)

winscp로 파일 전송 후에, 압축 해제.(하려 했으나 unzip이 없어서 설치)

아파치가 워드프레스 디렉토리를 사용 할 수 있도로 권한을 변경해준다.

3. DB 이행

mariadb(이후 mysql로 부름)를 설치했다.

루트 아이디가 패스워드가 없이 설치 되기 때문에 패스워드 없이 mysql에 접속 된다. mysql_secure_installation을 실행해서 루트 패스워드를 설정. 루트 패스워드를 넣고 mysql에 접속 확인.

데이터베이스 단위로 덤프를 떠서 bzip으로 압축.

새 서버로 압축한 파일을 옮긴 후에 bzip으로 압축 해제한다.

임포트하기 전에 mysql 에서 데이터베이스를 생성하고, 덤프 파일을 임포트.

4. 워드프레스 접속 확인

브라우저로 서버IP로 접속해 보고, 아파치에서 내보내는 에러라면 일단 아파치에 접속은 되는 것이니 에러 로그를 확인하고, 접속 조차 안되는 것 같으면 억세스 로그도 확인해 본다.

에러 로그에 뜬 플러그인에서 발생하는 에러를 구글에서 검색, curl, php7.3-curl가 없어서 그러는 것 같으니 설치. 아파치 재기동 후 다시 에러 로그를 확인.

에러 로그에 PHP 함수 preg_replace() 에서 에러 발생.
PHP 7.3에서는 -문자 앞에 \으로 이스케이프 시켜야 한단다.

워드프레스에서 DB 접속이 안된다. info.php로 확인해 보니 mysql 모듈이 없어서 설치 후 아파치 재기동.

워드프레스 첫 화면은 잘 보이는데 다른 페이지로 이동하면 404 에러 발생. 아파치 rewrite 모듈이 활성화 되어 있지 않아서 생기는 문제라 모듈 활성화 후 재기동.

5. 기타 서버 이행 작업

cron 으로 하던 작업 이행 할 것.
fail2ban 설치해서 ssh 로 계속 접속 시도하는 경우에 밴.

서버 타임존 설정

키보드 레이아웃 설정

마무리

이 정도 작업을 하면 서버 이행 작업이 끝난다.
여러 날에 걸쳐서 해서 정확하지는 않지만, 6시간쯤 정도 걸린듯.

수고 했다.

hyper-v 부팅시 블루스크린 vmswitch.sys 문제해결

윈도우10에서 hyper-v로 가상서버를 사용하고 있는데, 오늘 갑자기 부팅시 블루스크린으로 부한 재부팅이 되는 경우가 있었다.

블루스크린에는 SYSTEM_SERVICE_EXCEPTION, vmswitch.sys 라고 표시된다.

원인은 아마 윈도우즈 업데이트(creator’s update)에 있는 것 같은데
구글에서 “hyper-v bsod vmswitch.sys” 로 검색해서 나온
아래 링크에 글을 보고 해결 했다.

BSOD when starting Hyper-V, after Windows 10 Creators update (1709)

hyper-v 관리화면을 열어서 가상환경에 설정으로 들어가, 새로운 하드웨어 추가로 Legacy Network Adapter를 추가해서 기존에 Network Adapter 대신 사용하면 된다.
사용하던 Network Adapter는 삭제할 것.

마소에서 뭘 건드렸는지 모르겠는데, 일단 이 방법으로 해결이 되어서 급한대로 포스팅한다.

BSOD: Bluescreen of Death

해외에서 마비노기 모바일 하기