2026/09/07

본가 도시가스 사용량을 원격으로 자가검침하기

원래는 본가의 도시가스 검침은 거주자가 직접 집안 계량기를 확인한 후 문앞에 가스회사가 미리 붙여준 검침표에 계량기 숫자를 적는다. 검침원은 문앞을 돌아다니며 검침한 숫자를 보고 사용량을 입력한 후 그에 따라 사용요금을 부과한다. 문밖이나 더 좋게(?)는 건물 밖에 가스계량기가 있으면 검침원이 직접 사용량을 체크하겠으나 본가 계량기는 현관을 들어가서 거실-주방을 거쳐 다용도실 맨 안쪽에 있다. 이거 보아하니 검침원이 직접 계량기를 찾아다니실 수 있는 상황이 아니다. 다만 계량기가 다용도실 맨 안쪽에 있고 그 앞에는 세탁기가 놓여 있다보니 본가 어르신들이 그 안쪽까지 들어가서 벽의 옆쪽에 설치된 계량기 숫자를 읽어서 문 앞 용지에 기록하는 것도 은근 힘든 일이실 것이다. 

대책이 없을까...  해당 가스회사에서는 자가검침이라고 해서 온라인상에서 그 달치 계량기 숫자를 사용자가 직접 입력하거나 메신저로 계량기 숫자를 회신할 수 있도록 해 두었다. 그럼 계량기 숫자 입력은 내가 하면 되는데, 누군가가 계량기 숫자를 읽어서 나에게 알려줘야 한다는 문제가 여전히 남아 있다. 

손재주가 있고 개발 지식이 있으신 분들은 계량기 내의 자석이 한바퀴 도는걸 측정해서 자동화 시키신 분도 있던데 그렇게까지 할 여력은 안될 뿐더러 본가에 설치해야하니 단순해야 했다. 가장 간편하고 유지보수 걱정도 덜 수 있는 방법은 홈캠을 계량기 근처에 설치하고 원격에서 카메라를 통해 숫자를 읽으면 되겠다. 심지어 집에는 놀고 있는 홈캠이 하나 있었다. 

본가에 가서 살펴보니 가스보일러와 가스계량기가 다용도실 벽의 모퉁이를 가운데 두고 ㄱ자로 설치되어 있었다. 어? 그런데 이 홈캠은 받침대 바닥에 자석이 있네? 가스보일러에 붙여볼까? 철꺼덕 하고 붙는다. 카메라의 렌즈는 자동으로  계량기쪽을 향한다. 잘 안맞으면 스마트폰이나 태블릿을 고정하는 관절형이나 자바라형 거치대를 붙여야할려나 싶었는데 카메라 설치 장소와  계량기 간 위치, 거리가 절묘하게 잘 맞았다. 


저전력 충전기와 케이블을 하나 사다가 전원을 공급하고 카메라를 와이파이에 연결했다. 적당히 위치와 거리를 조정했더니 계량기 숫자판이 아주 잘 보인다.  이제 자가검침을 입력하는 때가 되면 가스업체에서 안내 문자가 날아올 것이고 홈캠 앱을 켜서 숫자를 읽어 전송하면 된다. 

낮에도 잘 보이지만 적외선 LED 덕분에 밤에도 잘 보인다. 허허허...




2026/09/05

차는 역시 새 차인가...

 10년된 차량을 판매하고, 어제 새 차량을 인수해왔다.  신차 가격 기준으로 기존  차량 가격의 60% 정도인데  돈의 가치를 생각하면 절반 가격쯤 될려나 싶다. 그럼에도 세월의 변화, 기술의 발전에 따라 많은 기능들이 기본 사양에 포함되어 있었다. 기존 차량에 없거나 애프터마켓에서 장착했던, 장착을 고려했던 옵션들이 기본 포함되어 있는 항목들의 장착기 또는 왜 장착하지 않았는지를 한참 적어내려가다 지웠다. 다 사연이 있고 장착 결정/포기의 당위가 있는 법이다.  나의 판단과 사정이 또 다른 이들의 상황과는 다를테니 이게 이래서 좋다느니 저건 저래서 돈낭비라느니 하는 얘기를 하는게 부적당하다고 생각했다. 아무튼 그렇게 (중복)지출해서 장착한 제품들이 이제는 더 뛰어난 기능을 갖추고 차량의 하드웨어, 소프트웨어와 매끈하게 결합된 걸 보니 역시 전자제품은 새 것이 좋구나...감탄중이다. 

가장 만족하고 감사한 기능은 차량 내부 온도를 미리 맞춰두고 특히 겨울에는 핸들과 좌석을 따뜻하게 뎁혀놓을 수 있게 됐다. 회사와 집이 모두 지상 주차장이어서 한여름에는 찜질방 저리가라급 뜨거운 실내, 한겨울에 꽁꽁 언 차에 타서 얼음장 같은 핸들을 잡아야하는 아내한테 늘 미안하고 안쓰러운 마음이었기 때문이다. 

2026/09/02

10년 탄 차량을 떠나 보내다.

10년전 구입했던 차는 2년전에 전기차를 사면서 아내가 출퇴근용으로 사용해 왔고 최근 떠나 보냈다.

차를 바꿔야겠다는 생각에 영향을 끼친 요인들이다. 

  • 8월초 엔진오일 교환하면서 보니 라디에이터쪽 하부에 누수 흔적이 있다고 했다. 3년전부터 듣던 얘기다. 이 정도 말라 붙은 흔적이면 당장은 부동액을 보충하면서 타도 된다고 했으나 계속 탈려면 라디에이터와 호스 2개 교체를 고려해야 한다. 시동배터리는 AGM배터리로서는 천수를 누린 10년차라 교체를 고려할 시기가 되긴 했다.  즉 이제 연식이 되면서 슬슬 돈들어갈 일이 생기는 시기로 접어들었다. 
  • 공교롭게도 오일교환을 하고 난 다음날 상대방 과실 100%로 접촉사고가 났다. 다행이 사람이 다칠 정도는 아니었으나, 수리 후 아내는 작은 포트홀 등을 밟을 때 충격과 소리에 깜짝 놀란다 하였다. 차를 바꾸어 새로운 운전환경이 된다면 아마 조금 나아질 것이다. 
  • 아내 차를 바꿔야한다고 생각했던 가장 큰 이유는 원격 시동(냉난방 예약)이 되지 않는다는 점이다. 요즘 차들은 앱으로 미리 시동을 걸어둘 수 있어 히터나 에어컨을 켜 둘 수 있다. 이 차는 원격도 안되는데다가 스마트키여서 원격시동을 위한 사제 제품도 장착할 수가 없었다. 날씨가 적당할 때는 별 문제가 없는데 한여름과 한겨울에는 실외 주차했던 차에 타기가 고역일 것이다. 예컨데, 아내는 간이 침대에서 자고 나는 킹사이즈 침대에서 자는 꼴이다. 

겸사겸사(?) 전부터 찜해둔 차량 전시장을 찾았다.  당일 시승 운전은 못해봤지만 차 안팎으로 살펴본 아내는 마음에 든다했다. 구매는 구매대로 진행하면서 옛 차량에 대한 처분을 준비했다. 

앱으로 신청하면 차량평가사가 와서 진단하고 평가서와 사진을 올리면 딜러들이 입찰하는 방식이다. 평가사는 앞유리에 난 좁쌀보다 작은 스톤칩 자국 몇개를 찾아 사진찍고 체크했다. 나중에 평가서를 보고 알았다. 세차 광인인 나도 몰랐던 흠집이다. 평가가 완료되고 입찰이 시작되었다. 말도 안되는 낮은 가격을 부르는 딜러들도 있었는데 입찰이 계속되면서 예상 금액까지 꾸준히 올라갔다. 최종 낙찰가 기준 판매가의 30%~50% 수준으로 입찰하는 딜러들은 입찰 수를 늘이고 매도인에게는 안도를 보태주는, 나름 긍정적인 역할을 하는 것으로 보였다. 며칠에 걸친 입찰 절차가 마감됐다. 미리 아내와 얘기 나누어봤던 대략의 희망 낙찰 금액이 있었다. 이 정도 받으면 좋겠다... 싶은 금액에서 조금 모자라는 금액이 최고가 입찰 금액이었다. 판매 결정하기에 약간 섭섭함이 있다.  결정을 안하고 잠시 뜸을 들이는 와중에, 원하는 가격을 적어내어 한번 더 딜러들에게 그 가격을 제안하는 기능이 있다고 앱에서 알림이 왔다. 굳이 안할 이유가 없었다. 적당히 겸손하게 원하는 가격을 적어냈고 얼마 지나지 않아 해당 가격에 구입하겠다는 딜러가 나타났다.  수출딜러라고 했다. 이 경우는 인감도 필요없고 신분증만 앱으로 전송하고 나중에 차 가지러 오는 탁송 기사분께는 차키와 자동차등록증만 드리면 된단다. 

약속한 날에 맞춰 탁송 기사분이 도착했고 차량을 넘겨 드렸다. 차량 대금은 기사님이 차를 몰고 떠나시기 전에 입금 완료됐다. 아내는 2년간 타면서 그간 안전하게 잘 출퇴근 할 수 있게 해준 녀석이었다면서 아쉽다고 하였다. 구입 초기 몇번 센터에 들락거리면서 잡으려했지만 못잡았던  뒷좌석 뒷편 선반과 조수석 안전벨트 근처 덜덜거리는 소리는 몇년 타다보니 저절로(...) 고쳐졌다. 그 외에는 별 말썽없었다. 고마웠어. 어느 나라에 가서 누굴 만나든지간에 사랑받고 잘 달려주길~.

2026/08/30

워드프레스에서 블로거닷컴으로 마이그레이션 진행한 과정

이번 워드프레스에서 블로거닷컴으로 마이그레이션 한 과정이다. 지나고 나서 되새겨 본 것이라 100% 정확하지는 않다. 게시물과 이미지를 가져왔고 댓글은 제외했다. 데이터 내에서 값을 찾고 변환하는 과정, 클라우드플래어 R2스토리지 API와 구글 블로거 API 활용 과정은 제미나이와 챗지피티의 도움을 받았다. 개발 언어는 파이썬이다. 

  1. 워드프레스의 tool → export 로 게시물 내보내기. 
  2. 이 xml은 블로거닷컴에서 인식할 수 없는 형식이므로 워드프레스에 ForthFocus Atom XML Converter for Blogger™ 확장기능을 설치한다. 위에서 받은 xml을 이 플러그인에 업로드해서 블로거닷컴에서 인식할 수 있는 형태로 변환하여 다운로드. 
  3. 이미지 파일은 워드프레스 백업,복원으로 유명한 updraftplus로 다운받아 압축을 풀어 한 폴더에 모음. 
  4. 원본 이미지는 "이미지파일명.jpg(또는 png)"인데 "이미지파일명-가로x세로.jpg (또는 png)"로 추가 생성된 이미지가 많아 이 이미지들은 별도로 제외시킴. 단, 원본 이미지 이름 자체가 이 형식일 가능성이 없는지 확인해야 함.
  5. 블로거닷컴으로 옮긴 게시물에 이미지를 일괄적으로 제 위치에 꽂아넣는 방법이 마땅치 않아 cloudflare의 r2 스토리지에 img.hof.pe.kr 도메인을 할당하고 여기에 이미지 원본 전체를 옮김. API키를 받아 rclone으로 전송했고 hof.pe.kr/wp-content/uploads/aaa.jpg 이미지는 이제 img.hof.pe.kr/aaa.jpg가 됐음. r2 스토리지 메뉴에서 도메인 할당하면 자동으로 클라우드플래어 NS에 항목이 추가됨. 
  6. 블로거닷컴용 xml 파일에서 기존 이미지 URL 및 상대경로 (예: /wp-content/uploads/aaa.jpg)로 지정된 경우까지 찾아 img.hof.pe.kr 쪽을 바라보도록 변경
  7. 블로거닷컴에 atom xml 파일을 올려 일단 게시물의 새로운 퍼머링크를 할당 받음. 
  8. google blogger API로 새로 올린 전체 게시물의 제목, 작성일, 퍼머링크를 받아옴. 
  9. 이 파일과 최초 워드프레스에서 다운받은 xml 에서 날짜와 제목을 기준으로 비교하여 같은 게시물의 워드프레스에서의 퍼머링크와 블로거닷컴으로 옮긴 후 새로 받은 퍼머링크 간 변환 테이블 생성 
  10. 대략 이때쯤 블로거닷컴에서 사용자 지정 도메인을 사용하기로 하고 네임서버에서 도메인의 A레코드를 AWS Lightsail 인스턴스에서 블로거닷컴 쪽으로 변경 
  11. 게시물 내에서 a href 링크가 나 자신(기존 워드프레스 때 퍼머링크)으로 향하는 경우가 있는지를 찾아 별도의 csv로 저장, 9번에서 만들어 둔 매칭 테이블을 활용하여 blogger API로 새 블로거닷컴의 퍼머링크로 교체, 업데이트

테마파일을 설치하고 보니 첨부한 이미지가 본문 레이아웃의 오른쪽으로 뚫고 나가는 경우가 있어 CSS를 수정했다. 별 내용없던 기존 about 페이지는 폐기하고 새로 블로그소개 페이지를 만들어 두었다. 

2026/08/29

내부링크 수정 완료

워드프레스에서 블로거닷컴으로 옮겨오면서 내부의 글끼리 걸었던 링크들이 모두 깨지는 참사가 일어났다. 서비스마다 퍼머링크 구조와 정책이 다르니 당연한 일이고 감수하려고 했다. 세상이 좋아져서 다행이 예전 링크를 새 링크로 수정하는 방법을 AI를 통해 찾을 수 있었고, 방금 400여개 글에 포함된 링크를 모두 수정하였다. 블로거닷컴에 API로 연결을 해서 글 내용을 가져오고 변경해서 업데이트 하다보니 자동으로 처리를 했음에도 15분 정도 걸렸다.  주로 2005년부터 2007년 사이의 글에 집중되었고 2008년 이후로는 빈도가 뚝 떨어졌다. 블로그의 부흥기라고나 할까, 그 즈음에 유행했던 글쓰기 패턴이었나보다. 아무래도 작성 글 갯수도 지금보다 더 많았을 것이고. 

검수(?)하면서 살펴보니 다른 사이트로 연결한 링크들은 이미 99%이상 다 깨진 상태이다. 어쩔 수 없는 일이다. 내가 사용한 내 퍼머링크에 대해서는 게시물 단위로는 거의 다 살려놓았으니 링크에 대한 책임은 이 정도면 됐지 싶다. 


[업데이트]@2026.8.29 22:00
첨부된 이미지 중 워드프레스에서 이미 "이미지원본이름-가로해상도x세로해상도.jpg|png"  포맷으로 삽입된 경우들이 있다. 워드프레스때는 이미지를 하나 업로드하면 워드프레스가 임의로 4~5개의 해상도별 이미지를 임의로 생성해두는 것이 불만이었는데 이걸 실제로 포스트에 워드프레스가 사용했던걸 이제야 발견했다. 이미지를 클라우드플래어 r2 스토리지로 옮길 때 이 추가생성된 리사이즈된 이미지들은 제외하고 옮겼고, 그 여파로 여러 개의 게시물에서 이미지가 깨지는 현상이 생겼다. 총 39개 게시물을 찾아냈고 이 또한 모두 원본 이미지로 경로를 변경하여 복구해 두었다. 

블로거닷컴으로 완전히 왔다.

 워드프레스가 설치되어 있던 AWS 라이트세일 인스턴스를 완전히 삭제했다. 아침에 인스턴스를 중지 상태로 바꿔놓고 '블로거닷컴에서 적응이든 셋팅이든 실패하면  다시 워드프레스로 돌아갈거야?' 를 생각해보니 차마 다시 돌아가진 못하겠다. 인스턴스를 재부팅하거나 새로 생성하는 순간부터 따라오는 수많은 셋팅과 모니터링, 유지보수에 대한 책임과 스트레스를 또 감당할 생각을 하니 속이 메슥거릴 정도다. 말하자면 배수의 진이다. 워드프레스를 즉시 되살릴 수 있는 여지를 없애버렸다. 

2026/08/28

블로그를 워드프레스에서 블로거닷컴으로 이전 중

 24년차에 접어든 블로그 생활 중 가장 큰 변화가 아닐까 싶다. b2로부터 시작해서 워드프레스로 운영하다가 오늘 블로거닷컴으로 이사를 했다. 아직 도메인을 옮긴것은 아니라 지금은 블로거닷컴에서 받은 주소만 갖고 있는 상태이다. 안정화가 되면 도메인도 이쪽을 향하도록 수정할 것이다. 일단은, 그간의 글과 이미지를 마이그레이션 해 왔다. 변경하면서 달라진 점들은 이러하다.

  • 이미지는 모두 cloudflare의 r2 스토리지로 옮겼다. img.hof.pe.kr 주소를 부여하고 기존에 삽입됐던 이미지들은 모두 새 이미지 서버에서 불러오도록 하였다. 생각만큼 이미지가 많지는 않다. 3천여개의 파일에 300메가바이트 정도이다.  r2 스토리지는 10기가바이트까지 무료로 사용할 수 있다.  과거 글에 포함된 이미지는 외부 스토리지에 무료로 맡기고 새 글에 포함할 이미지는 블로거닷컴에 직접 첨부하여 글 작성을 한다. 

  • 댓글은 옮겨오지 않았다. 새로운 댓글도 받지 않을 것이다.

  • 내부 링크가 문제다. 내 글에서 내 예전글로 향하는 링크가 상당히 많았는데 이것의 링크를 재정비 하는 일이 생각보다 만만치 않다. 워드프레스에서 hof.pe.kr/123 같은 형태였던  링크가  블로거닷컴으로 옮겨오면서 hof.pe.kr/2006/02/my_new_post.html 이런식으로 바뀌었기 때문에 이 링크들을 찾아 바꾸는게 큰 일이다. 블로거닷컴에서 제공하는 컨텐츠 수정 api 를 사용하면 된다고 하는데 이를 위해 워드프레스와 블로거닷컴의 데이타를 비교해서 오류없이 링크 테이블을 만드는 일이 생각대로 되지 않았다. 1. 글의 제목 2. 워드프레스의 퍼머링크 3. 마이그레이션 한 이후 블로거닷컴의 퍼머링크를 스프래드시트에 만들어 두긴 했다. 블로그 뒤적거리다가 링크 만나면 하나씩 장부책 보고 바꿔보도록 해야겠다.

  • 당연한 얘기지만 게시글의 고유한 URL인 퍼머링크가 싹 바뀌었다. b2시절부터 index.php?p=123 같은 구조를 계속 리다이렉션 해가며 hof.pe.kr/wp/123에서 hof.pe.kr/123 까지 링크가 깨지지 않게 유지해왔는데 이젠 다 블로거닷컴의 주소체계에 따라 링크가 변경되었다. 

워드프레스에 비해 디자인이든 데이터든 내가 하고싶은 대로 바꾸고 뒤적이고 자르고 붙이는 자유도는 낮아졌다. 그런데 강산이 두번이 넘게 바뀔 동안 써오던 플랫폼을 왜 옮겼느냐,

플랫폼을 관리하고 유지하는데 드는 노력과 비용이 생각보다 많이 낭비되고 있었다. 월5$짜리 AWS Lightsail 인스턴스에 워드프레스 하나 달랑 올려놓고 쓰고 있는데, 최근의 서버 접속지연 현상을 겪고 다양한 문제파악과 해결을 위한 시도를 해보면서 이 문제가 결국 메모리 부족이 원인인 것으로 의심되었다. 메모리를 늘이기 위해 상위 인스턴스로 업그레이드를 하자니, 무엇때문에 블로그를 쓰고 중요한게 무엇인지를 다시 생각해보게 됐다. 난 그저 쓰고 싶은 이야기 쓰고 남기면 이게 저장되고 나중에 찾아볼 수 있으면 되는것 아닌가,라는 질문을 다시 하게 됐다는 이야기다.  

아울러 오래전 글 내용들이 이제는 큰 의미도 없고, 퍼머링크를 유지하기 위한 비용도 그만한 값어치가 있나 싶기도 하다. 수십년전(...) 내 블로그로 향하는 링크를 갖고 있던 그 블로그들도 다 사라진 마당에 어디서 누가 예전 링크 클릭해서 들어온다고 링크를 관리하고 있지? 싶은것이지. 

골치아픈 플랫폼 관리의 문제는 구글에서 잘 해줄테니, 나는 그저 돌고돌고 돌아 이제서야 편안하게 글쓰고 저장버튼 누르는 즐거움을 누려볼까 한다.

2026/08/21

클라우드플래어의 프록시 서비스 들어갔다가 뺀 이야기

6월에 aws 라이트세일 블루프린트가 기존 비트나미 패키지에서 라이트세일 패키지로 변경되면서 새 인스턴스를 만들어서 이 블로그를 옮겼다. 이후로 업타임로봇의 5분주기 핑 테스트에서 잦은 서버 접속불가 현상이 생기기 시작했다. 할 수 있는 원인파악 방법과 대응을 해 보았으나 전혀 효과가 없었다. 인스턴스간 편차가 있나 싶어 새 인스턴스를 서너개 교체해 보았다. 오랜 세월 운영하며 워드프레스 DB가 꼬였나 싶어 새로 설치하고 순수한 게시물 데이타XML과 첨부 이미지만 옮겨와 보았다. 모든 플러그인을 다 사용중지도 해 보았다. 그래도 하루, 길어도 이틀에 한번은 접속 불가 리포트가 날아왔다. 외부의 공격이 원인이라면 클라우드플래어가 막아줄테니 최후(?)의 수단으로 클라우드플래어의 방화벽 뒤로 숨어보았다. 어제 오후에 네임서버를 옮기고 프록시 서비스를 작동시켰다. 아침에 일어나보니 밤에 서버 순단현상이 생겼다는 업타임로봇의 알림메일이 도착해 있었다. 밤10시 반에 한번 왔었고, 두번째는 아침 6시에 또 한번 타임아웃 알림 메일이 도착했는데 다행이 그 순간에 컴 앞에 있던 중이라 즉각 이 블로그에 접속해보니, 어? 접속이 잘 됐다. 4분뒤에 접속이 복구됐다는 메일이 도착했다. 5분 주기 체크이긴 한데 체크한 순간에 접속이 안되고 즉각 메일이 왔고 내가 바로 블로그 접속을 했으니 1. 접속이 안되고 있는 중 2. 체크 3. 알림 4. 확인의 상황이 이루어지기까지는 수초 정도만 걸렸을 것이다. 접속이 안된다며? 그런데 나는 접속이 되네?

됐고, 일단 클라우드플래어의 프록시가 해결해 줄 수 있는 문제가 아님은 명확해졌다. 네트워크 타임아웃 "문제"를 해결하기 위해 클라우드플래어로 들어가는 것은 해결책이 아닌게다. 아울러 이 조치에 따른 부작용이라 해야할지, 문제가 생겼다. 블로그 접속에 종종 지연이 발생했다. 이게 0.5초 걸리던게 1초가 걸리는게 아니고 10초 지연도 걸리고 50초 지연도 걸리곤 한다. 당연히 용납할 수 있는 수준이 아니다. 특히 wp-admin 하위 메뉴로 들어가면 지연이 더 심해지는데 2분 가까이 걸린 적도 있었다. 페이지 열리는데 2분 걸리는 것이면 인터넷에 블로그를 쓸게 아니고 타자기로 쳐서 펀치 뚫어 보관하는 걸 고려해야하지 않겠는가.

일단 클라우드플래어로 옮긴 네임서버는 그대로 두고 프록시 기능을 다 껐다. 즉각 페이지 (메인 및 개별게시물) 로딩 속도가 0.3~0.4초대로 회복되었다.

두번째 조치는, 이건 마치 원효대사 해골물 같은 관점인데. 업타임로봇의 모니터링을 껐다. 뭔가 천만뷰 블로그를 운영하는 것도 아니고 매출이 나오는 쇼핑몰도 아니고, 하루에 한번 5분 이내 순단 현상이 일어난다고 보면 이것 때문에 스트레스받지 말고 그냥 모니터링을 중단하는게 낫겠다 싶었다. 여태까지 해본 조치들의 면면을 보면 해볼만큼 한계까지 해본 것이고 더 이상의 노력과 시간을 들이는 것은 흔한 말로 인건비도 안나오는 작업이다. 심지어 접속이 안된다는 알림이 오자마자 접속해보니 접속이 잘 되는 상황을 겪어보니, 어쩌면 허깨비를 앞에 두고 쉐도우복싱을 하는건 아닌가 하는 의심도 하게 됐다.

[업데이트]@2026.8.29
잘못된 접속 중단 알림은 아니었다. 며칠전 또 한번 접속 타임아웃 알림이 왔고 곧바로 접속 테스트 해보니 연결이 안됐다. 메모리는 다 사용했고 추가로 스왑이 엄청 잡혀 있었는데  에러 로그를 못 남길 정도로 지연이 있었다는 AI님의 진단이 있었다. 서버 사양을 한단계 올리라는 조언이 있었는데 그 사양이 충분한지, 앞으로도 영원히(?) 충분한지는 아무도 모르는 것. 

2026/08/16

비트나미 인스턴스에서 라이트세일 인스턴스 후 잦은 에러

6월에 AWS Lightsail에서 이 블로그가 돌아가는 인스턴스를 비트나미 인스턴스에서 라이트세일 인스턴스로 변경하였다.CPU니 램이니 서버 스펙은 완전 동일했고 블로그도 잡데이터들 삭제하고 깨끗하게 정리해서 옮겼다. 문제는 그때부터 며칠에 한번씩 몇분씩 접속 불가 현상이 생겼다.


uptimerobot.com 에서 5분 간격으로 서버가 살았는지 죽었는지 찔러보고 접속이 안되면 메일을 보내준다. 그간 받은 로그를 차트로 그려보니 이러했다. 예전에는 일년에 한번 접속 끊기는 정도였는데 6월에 인스턴스를 바꾸면서부터는 일주일에 한번 이상 접속이 끊겼다가 복구되곤 하였다. 두달간 아파치의 error.log를 제미나이를 이용해 분석시켰고 두가지 대응방안을 받았다. 첫번째는 .htaccess를 이용하여 워드프레스 내부 파일에 직접 접속할 경우 403 에러를 내는 것. (기존에는 500 에러)

두번째는 비트나미 인스턴스 때는 있다가 라이트세일 인스턴스에서 사라졌다고 하는 fail2ban 을 다시 설치하여 비정상적인 접근을 하는 아이피들을 자동으로 ban시키는 것이다.

처음에는 .htaccess 을 이용하는 방법만 적용했는데 error.log를 보니 하루 2~3천회씩 접속하는 ip들이 보여서 fail2ban까지 함께 적용시켰다. 이상한 짓 하는 ip들이 잘 차단되는지, 무엇보다 네트워크 타임아웃 오류가 사라지는지 지켜봐야겠다.

[업데이트]@2026.8.17
하루만에 서버 접속불가 현상이 또 생겼다. 접속 불가가 생기기 직전 access.log와 error.log는 깨끗했다. fail2ban이 블록한 ip도 하나도 없이 0을 유지하고 있었다. 서버 cpu도 꾸준히(...) 1%~2% 부하를 벗어나지 않았다. 외부로부터 들어오는 악성 트래픽이 원인이 아닌가보다.

서버 사양이 동일하다 하더라도 비트나미에서 라이트세일로 블루프린트가 바뀌었고 어쩌면 환경 편차가 있을 수도 있으니 새 인스턴스를 만들었다. 저번에 고생한 것과 다르게 이번에는 다행이 구글드라이브에 자동 백업된 DB와 첨부파일이 문제없이 한방에 복원이 됐다. SSL 인증서도 라이트세일 웹 ui에서 쉽게 발급할 수 있었다. 처음 생성한 서버에서 생긴 오류가 두달 뒤에 생성한 서버에서는 괜찮을까, '그래 저번 서버는 뭔가 잔잔한 오류나 편차가 있던 서버였을수도 있잖아?' 하는 불안 반, 기대 반인 심정이다. 이래도 또 순단현상이 생기면 진짜 20년간의 워드프레스를 다 고정페이지로 발행해버리고 새 블로그를 하던지 해야하지 않겠나 싶기도 하다.

2026/07/15

완주 우리국수 할머니, 감사했습니다.

간만에 지인들과 완주 봉동시장 우리국수를 찾았다. 몇달만의 방문인데, 가게는 출입문부터 내부,주방까지 다 깨끗하게 바뀌었다. 할머니는 안계셨고 다른 분 두분이 조리와 서빙을 담당하고 계셨다. 벽에 걸려있던 할머니의 오래전 기사 액자도 없어졌다. 새 주인장의 멸치 육수는 괜찮은 편이었다. 다만 앞으로도 두시간 넘게들 달려와 먹을 것이냐는 물음에는 아무도 대답하지 않았다. 그럴 만도 하다. 국수뿐만이 아니라 할머니가 계신 오래된 가게, 부글부글 끓어넘치는 면 삶는 솥, 겨울이면 물방울이 잔뜩 들러붙어 있는 낡은 출입문까지 한꺼번에 애정해던 것이니까.

건강이 허락할때까지 문 열겠다고 하셨는데 무슨 일인가 하는 걱정과 함께 그동안 삶아주신 국수 맛있게 잘 먹었다는 감사 인사를 이렇게 남긴다.

2026/07/09

아내 공부용 윈도우노트북 구입

작년부터 아내가 온라인 수업을 듣고 있다. 인강 사이트가 윈도우만 지원하는지라 윈도우가 돌아가는 노트북이 필요했다. 인텔 CPU가 달려있는 2017 맥북프로가 개점휴업 상태로 있는 중이라 일단 이 녀석을 이용하기로 했다. 부트캠프로 맥 파티션을 최소한으로만 잡고 윈도우가 기본값으로 부팅되도록 했다. 그럭저럭 온라인 학습을 하기에 성능상 부족함은 없을 것이었다. 다만 문제는 6년쯤 사용한 배터리가 말썽이었다. 완충을 시켜놔도 며칠만에 자연 방전되고 만다. 이러다보니 공부할려고 노트북을 사용하기 위해서는 전원 어댑터를 같이 끌고 다니면서 상시 연결을 시켜두어야했다.

회사 다니며 시간을 쪼개 하는 공부인데 노트북 전원까지 신경쓰면서 공부하게 하고 싶지는 않았다.

쓰던 맥북보다 화면은 더 큰데 30%쯤 가벼운 윈도우 노트북을 하나 구입했다. 해상도도 레티나 디스플레이에 근접해서 만족스러웠다. 이제 생각날 때 아무 때나 전원에 꽂아놨다가 대충 전원선 분리해 두고, 시간날 때 아무데서나 편한데 앉아서 공부하면 되겠다.

2026/07/04

테슬라 완속,급속 충전손실율 기록

200여회 충전에 대해 테슬라메이트가 기록한 충전손실율 기록이다. 보통 10% 정도 손실이 있다. 20%이상의 손실이 있던 완속 충전은 대개 추울 때 5~10kWh 정도 조금 충전했던 경우다. 충전을 위해 배터리를 뎁히거나 차량 시스템을 가동시키기 위한 기본 전력 대비 충전량이 적어서 생긴 까닭으로 보인다. 주황색 막대는 급속(DC)충전이고 보통 9%정도 손실이 있으니 대충 비슷하다 치고. 단, 완속(AC) 충전기는 충전기가 보낸 전력량 대비 차량에서 받아들인 전력량 사이 손실분을 사용자가 부담하고 급속(DC)은 업체가 부담한다. 그러니까 완속의 손실분 10%는 내가 내고, 급속의 손실분 9%는 업체가 부담한다. 따라서 1kWh당 완속이 290원이고 급속이 350원이라 치면 급속이 60원 비싼 요금이지만 손실율에 대한 금액 부담을 고려하면 실제로는 30원 비싼 셈이다.

2026/06/30

아이폰과 맥의 메시지 동기화지연 + 테스트

대체 뭐가 문제인지 모르겠는데, 회사 와이파이에서만 아이폰과 맥에서의 메시지 동기화 지연이 심하다. 아이폰으로만 주고받으면 맥에 메시지가 늦게 뜬다. 반대로 맥에서 계속 메시지를 주고받으면 아이폰에서 그 메시지들이 늦게 뜬다. 회사 와이파이가 아닌 다른 모든 와이파이에서는 일어나지 않는 문제이다. 이제는 그러려니, 하고 반쯤 (아니면 거의) 포기하고 있는 중이다. 몇년은 된 문제이고 이통사를 KT향을 쓸 때, SKT향을 쓸 때를 가리지 않는 문제다.

그러다 문득 발견한 현상. 아이패드미니 와이파이 모델로 이북리더 겸 해서 사용중이라 안볼때는 맥 옆에 눕혀 놓고 있다. 맥에서 메시지를 주고받고 하다보니 아이폰은 늘 그렇듯이 새 메시지 알림이 뜨지 않는데 아이패드에서는 계속 동시에 메시지 도착 알림이 뜬다. ????? 맥과 아이폰, 아이패드가 모두 같은 와이파이에 연결되어 있는데 말이다. 그렇다면 문제는 여태까지 계속 문제로 의심해왔던 와이파이가 아니라 아이폰의 셀룰러 네트워크도 관련이 있다는 얘기인가?

아이패드와 같은 조건을 만들기 위해 아이폰의 셀룰러 데이터를 끄고 와이파이만 켠 채 맥의 메시지로 아내에게 테스트 메시지를 요청했다. 아내의 메시지가 맥과 아이패드, 아이폰(!)까지 동시에 뜬다. 이거 그러면 아이폰의 셀룰러 데이터와 와이파이 상에서 뭔가 알수는 없지만 충돌이라도 있는 것인가? 셀룰러데이터와 와이파이 설정을 찾아보니 일단 설정 → 셀룰러 → 셀룰러 데이터 옵션 → 음성 및 데이터가 "5G 우선"으로 되어 있었다. LTE를 사용중이기 때문에 그 아래에 있는 "LTE"항목으로 바꾸었다. 셀룰러 데이터를 다시 켠 후 아내에게 테스트 메시지를 요청하니 이번에는 셀룰러 데이터를 켰음에도 아이폰에도 즉시 메시지가 도착했다.

일단 이렇게 해두고 더 테스트를 해 봐야겠다. 와이파이 연결이 불안정하면 셀룰러가 지원한다는 Wi-Fi지원이 켜 있는 상태이니, 이번 테스트가 실패(...)하면 이 옵션도 꺼봐야겠다. 참 오래된 문제인데, 인터넷에서는 관련한 정보나 같은 문제를 겪고 있는 사람의 경우를 찾을 수 없으니 답답한지고...

[업데이트]@7.1 12:50
이 방법도 소용없다. 맥에서 아내에게 메시지 전송. 아내의 답장은 아이폰으로 도착. 2~3분 대기. 맥의 메시지에서 (아직 아이폰으로 온 메시지가 동기화 되진 않았지만) 답장부터 먼저 작성해서 전송하니, 그제서야 맥에도 아내가 보냈던 메시지가 뜬다. 결국 실패로 결론. 이제 아이폰의 설정→셀룰러 → Wi-Fi 지원 기능을 끄고 한번 더 살펴보자.

[업데이트]@7.1 15:15
아이폰으로 메세지 알림이 온 후, 맥의 메시지창을 열어 메시지를 확인하고 답장하려고 기다려도 묵묵부답. 이번 테스트도 이렇게 망한 것으로 종료한다. 그렇다면 역시 희한한 이 와이파이가 유일한 문제로 확정되는 것인가. 그렇다면 왜 아이패드에서는 전혀 지연이 발생하지 않는 이유는 뭘까, 싶다. 심지어 잠금 상태로 파우치 속에서도 문자(아이메시지 포함) 도착할때마다 알림음이 나고 있다.

[업데이트]@7.2 13:30
어제 밤에 아이폰에서 네트워크 설정값을 초기화 하였다. 지금 테스트 해보니 아이폰으로 도착한 문자가 맥의 메시지 앱으로는 30초 정도 후에 도착한다. 30초면... 동시라고 볼 수 있을지, 지연이라고 해야할지 조금 애매하다. 다시 한번 테스트 문자를 보냈다. 이번에는 거의 동시에 맥,아이폰,아이패드 순서로 도착했다.

[업데이트]@7.2 20:15
아이폰와 아이패드 모두 화면 잠금 상태, 맥에서 작업중. 아이폰으로 imessage 도착과 동시에 아이패드에서도 도착음 났다. 그러나 맥에서 메시지 창을 활성화시키고 대화 입력창 클릭까지 한번 해 두었는데 약 1분30초 뒤 메시지 표시되었다. 크. 나도 모르겠다 이제.

2026/06/20

간만에 favicon 변경

인스턴스를 옮기면서 favicon 파일을 빼먹었다보다. 북마크해둔 이 블로그 이름 앞에 뜨던 아이콘이 보이질 않는다. 예전에 백업해둔게 있어서 블로그 루트디렉토리에 올릴려고 하다보니 html에서 파비콘 파일 위치 지정해야하는게 생각났다. 어떻게 했더라, 검색해보니까 어라? 요새는 워드프레스 설정 화면에서 파비콘으로 쓸 이미지를 업로드하면 된단다. 예전에는 헤더파일 수정해서 수동으로 등록했던거 같은데 아무튼 편해졌다. 다만 전에는 가로세로 48x48픽셀이었는데 이제는 최소 크기가 가로세로 512px로 올리란다.

그러니까 브라우저의 탭에 표시되는 파비콘으로만 쓰는 이미지가 아니고 여러 디바이스에서 홈화면에 바로가기로 꺼내놓거나 엣지 브라우저 등에서 시작 페이지에 깔아둘 이미지로도 사용할 수 있으니 아예 넉넉한 크기로 올리라는 것이다. 업로드한 이미지를 워드프레스가 미리 적당한 크기로 변환해두고 필요에 따라 큰 이미지가 필요한데는 큰 이미지로, 파비콘 같은 용도로는 제일 작은 이미지로 알아서 보내주겠다는 것.

여태 파비콘은, 지금은 이런 저런 시끄러운 사정으로 주인도 바뀐 것 같은데 양수리에 있던 어느 식당 겸 카페 마당에서 모닥불 앞에 앉아 찍은 사진으로 만든 아이콘이었다. 픽셀 에디터로 한땀 한땀 찍어서 만든 아이콘이라 큰 이미지로 바꾸기에는 한계가 있었다. 이번 기회에 바꾸기로 했고, @hof 에서 골뱅이는 약간 평평하게 다듬은 원으로, hof에서는 h만 가져와서 만들었다. 한변의 길이가 48에서 512로 바뀌었으니 면적은 100배 이상이 되었다. 무슨 항공사와 물류를 주로 하는 회사 로고와 0.1초 비슷한 느낌이 나긴 하는데, 기분 탓이겠지. 나중에 바꾸던지 해야겠다.

2026/06/17

지렁이 구하기

최근 몇년 사이에 생긴 습관(?)같은 것인데, 아내와 나는 길을 가다가 아스팔트나 보도블럭으로 나온 지렁이를 발견하면 풀숲으로 돌려보내고 있다. 아마 처음 시작은 기어가는 지렁이를 피해 지나간 후, 한두시간 뒤 그 자리에 죽어있는 녀석들을 몇번 보고나서 였던 것 같다. 살아있는 녀석이건 죽은 녀석이건 사람들 발에 밟히고, 개미떼한테 분해되고 있는 모습은 그다지 보기좋은 장면도 아니었고.

근처에 있는 나뭇가지나 종이 조각을 집어 부드럽게 녀석의 몸체를 들어올려 가까운 풀이나 키작은 나무 아래 그늘에 놓아준다. 지렁이 특성(?)상 땅바닥에 바짝 붙어있는 녀석들을 나뭇가지로 건드리면 몸을 비틀고 구부리게 되고 그때 땅에서 떨어진 틈에 조심스럽게 나뭇가지를 넣어 들어올리면 된다. 엊그제는 햇빛에 오래 나와있어서 상태가 많이 안좋은 녀석을 발견. 아내는 지렁이를 보호하고 나는 집에 가서 키친타올을 한장 뜯어 물을 흠뻑 적셔서 들고 나왔다. 풀속 그늘 아래 녀석을 옮겨놓고 적셔온 티슈를 위에서 짜주어 몸통을 적셔 주었다.

두어시간쯤 뒤에 돌아오면서 아까 놓아준 자리를 보니 땅속으로 파고 들어간 것인지 다른 장소로 이동한 것인지는 모르지만 없어진걸 보면 어디론가로 가서 지렁이의 삶 2회차를 잘 살고 있겠거니 싶다.

아내는 집안에서 작은 벌레라도 나타나면 질색을 하며 서전트 점프 1미터를 즉각 뛰어오르는 사람이다. 지렁이라함은 작은 벌레를 압도하는 비쥬얼과 움직임을 보이는데 어떻게 이렇게 잘 들어올려 풀숲에 놓아주는지 신기하다.

2026/06/14

말하자면 SNS 디톡스랄까...

만들어만 놓고 전혀 사용하지 않던 thread는 계정 삭제, 한달에 한번 꼴로 들어가는 인스타그램, 가끔 지인 안부를 보러 들어가던 페이스북 계정은 비활성화 시켰다. 브라우저의 북마크에서도 지웠다. 핸드폰에서도 앱 삭제를 했다. 뭐, 언젠가 다시 계정을 살릴 수도 있겠지만 지금은 어쩌다 들어가면 스크롤하면서 시간을 소비하는 목적(이라고 쓰고 인생을 낭비하고 있는 이라고 읽는다.) 으로만 쓰고 있었으니 지우도록 한다.

bitnami에서 lightsail 블루프린트 인스턴스로 이전 성공

AWS lightsail bitnami 인스턴스에서 lightsail 인스턴스로 옮겼다. 이제 더 이상 새로운 버젼의 bitnami 인스턴스는 안나온다고 하니 언제 옮겨도 옮겨야할 것이다. 이번에도 그저께처럼 렛츠인크립트의 인증서 발급에서 애를 먹었다. 여태 비트나미 인스턴스 신규 서버 생성할 때 인증서 발급에 별 어려움이 없었는데 뭔가 좀 불편하고 손이 많이 갔다. 서버 셋팅이 끝난 후 워드프레스 백업을 구글 드라이브에서 옮겨왔다. 저번에 디비 정리도 한번 했고, 이번에는 별 문제없겠지 싶었는데 아뿔사. 이번에도 3개의 백업 파일 전송 실패다. 저번과 같은 9번, 16번, 17번 백업파일이다. 왜 얘네만 계속 실패지? 구글 드라이브에 가보니 용량도 다른 백업들과 별 차이가 없다. 로컬로 다운받아서 올려야겠다.

어라. 압축파일 내 바이러스에 걸린 파일이 있었나보다. 이게 전송 실패 이유인가. 세 압축파일 모두 바이러스 경고가 떴다. 다운받아서 압축을 풀었다. 블로그에서 글 쓸때 첨부한 파일 폴더니까 대부분 이미지 파일인데 일부 의심가는 파일들이 있다. php, c, ini, py 파일이다. 내가 올린 파일들이 아니었다. 에디터로 열어보니 악성코드 냄새가 술술 난다. AI에 업로드해서 물어봤다. 2010년 무렵에 유행했던 익스플로잇, 권한탈취 백도어들이라 한다. 최근에는 다 막혔으니 걱정 말라고 한다. 그 당시면 웹호스팅에서 쓰고 있었을때니 호스팅 업체들이 잘 대처했겠지;; 서버 이사할 때마다 계속 따라다녔나보다. 의심가는 경로로는 플러그인이 1순위다. 처음 배포할 때는 정상적인 플러그인처럼 등록했다가 나중에 버젼업 때 백도어를 심었을 수 있고, 폼메일 등에서 첨부파일 기능을 제공했는데 제대로 파일 확장자 필터링을 못했을 수도 있겠다.

알았으면 정리해야지. 이미지 파일 외에는 모두 삭제했다. uploads안에 또 uploads폴더가 있던 것도 이번에 발견했다. 혹시 모르니 하위 폴더에 있는 파일들을 상위 폴더로 모두 덮어쓰기 해서 옮겼다. 예전에 썼던 플러그인들이 설치한 폴더도 모두 삭제했다. 워드프레스 기본 설정이 이거던가, 연/월로 생성되던 첨부파일 폴더 내 파일도 모두 uploads로 끄집어 냈다. 나중에 게시물 보다 이미지 깨진 글 보이면 그때나 정리하던지 해야겠다.

파일 이사 실패로 겸사겸사 악성코드와 중복 첨부파일 정리했으니, 전화위복인 셈이다.

길가에 세워진 식당거리 안내판

어제 아내와 동네 식당들이 모여있는 거리 일명 먹자골목이라고 하는 곳에서 저녁을 먹으러 가는 길에 발견한 표지판. 맨 위에는 "ㅇㅇㅇ 맛집거리" 라고 되어 있고 대충 가로 1.5미터 세로 1미터쯤 되는 철제판에 이 동네 약도와 식당을 비롯한 카페들의 위치와 이름이 표시되어 있었다. 상인회 같은게 있어서 갹출하여 만든건지 아니면 지자체에서 만든건지는 모르겠으나 이 무슨 쓸데없는 짓인지 모르겠다. 근처에 다니다보면 새로운 식당이 문 열었나 싶으면 닫았고, 바뀌어있기 십상이다. 대충 지도서비스의 거리뷰와 비교해보니 2024년 말의 상황을 반영한 데이터로 보인다. 안내판에 있는 가게 중 대충 30%이상은 이미 없어졌고 다른 가게가 들어와있거나 공실이다. 누가 보고 어떤 도움을 받으라고 이렇게 돈을 써서 만들었나 싶다. 오! 여기 삼겹살집이 있네? 하고 가보면 당구장인 것이다. 헛걸음하고 시간 낭비했다. 전문용어로 똥개훈련이라고 한다.

안내판 크기가 물리적으로 제한되어 있으니 지도에 동그란 표시와 가게 이름만 써 있다. 그러나 상호에 따라 무엇을 팔고 있는 곳인지 알 수가 없는 경우도 허다하다. 까치집, 층층이, 찬가, 입안 행복가득... 같은 경우다. 안내판을 만드는건 쉽다. 처음 설치할 예산만 있으면 가능하니까. 그런데 이런걸 세웁시다! 하는 계획을 잡을 때 변동되는 가게들은 어떻게 반영할 것인지를 생각했으면 이렇게 방치되진 않았을터. 흔한 말로 '예산(또는 세금)이 살살 녹는다'는 표현이 이럴 때 하는 말일게다.

인도에서 보행자 공간 차지하고, 하루하루가 지날수록 현실과 아무 상관없는 아무말 대잔치가 되어가며 점점 녹슬어가는 안내판... 이렇게 만들거면 그만 세워야하지 않을까 싶네.

2026/06/13

키오스크 사용중지&개시 원격 자동화

업장에 키오스크가 한대 있다. 24시간 사용하는 것은 아니고 시간에 따른 운영 조건이 있다. 정오 근처에 수동으로 운영중단, 14시에 자동으로 운영재개, 저녁에 일시 중지, 잠시 후 수동으로 운영재개. 뭐 좀 독특한 운영시간이긴하다. 운영을 중단하기 위해서는 키오스크 프로그램 제작사가 미리 지정해둔 임의의 위치 2군데를 터치한다. 관리자 비밀번호 입력창이 뜨고 비밀번호를 입력하면 프로그램이 종료된다. 시간대에 따라 운영중단을 알리는 안내문 이미지를 전체화면으로 띄워야 한다. 이걸 수동으로 하자니 번거로운 면이 있어서 자동화를 꿈(...)꾸었다.

처음에는 키가 3개만 있는 작은 키보드를 유선 연결했다. 물론 블루투스가 편하긴 하지만 이런 기기들은 배터리 절약을 위해 입력하지 않고 있으면 잠자기 모드로 들어가는 특징이 있다. 키 하나 누르자고 미리 키 하나를 먼저 눌러서 깨워야 하는 것이다. (1보 전진을 위한 1보 후퇴도 아니고..) 게다가 키를 누르는 시간 간격에 따라 언제는 키가 한번에 먹고 어떨때는 잠자기에 들어가버려 키가 안먹어서 두번 눌러야하는 불확실성을 기본으로 깔고 가야하는 불편함이 있었다. 연타면 연타고 1타면 1타지 '한번 눌러서 될수도 있고 안될수도 있는데 만약 안되면 한번 더 눌러요'는 우린 또 용납 못하잖나. 3키 키보드를 키오스크 내 PC와 유선으로 연결하고 키오스크 뒷편에 부착해두었다. 1번키는 1차 운영중단, 2번키는 2차 운영중단, 3번키는 원복으로 지정하고 각 키를 ctrl + 펑션키 뒷번호로 할당했다. 오동작을 방지하기 위해 각 키는 모두 더블클릭을 해야만 동작하도록 했다.

키오스크쪽에서의 동작은 오토핫키를 이용했다. 잘 동작했다. 미리 키오스크 옆면에 작게 표시해둔 표시 쪽으로 스윽 손을 넣어 뒤를 짚으면 검지,중지,약지 자리에 3키가 딱 맞는다. 목적에 맞게 연타하면 키오스크 화면이 바뀐다. 한달 쯤 잘 쓰다가 어제 문제가 생겼다. 키캡이 하나 떨어져버린 것이다. 이게 키오스크 모양상 기기의 뒷편에 3키 키보드를 세로로 부착해서 쓰고 있었는데 옆으로 매달려 있다보니 눌렀다 뗐다를 반복하며 중력에 의해 떨어져버린 것. 보통 키보드와 다르게 기기 본체와 연결도 가느다란 핀 두개만 꽂혀 있었다. 고쳐본답시고 순간접착제 한방울씩 떨어뜨렸는데 으아~ 차라리 노란 돼지본드를 이쑤시개로 찍어 발라야했을라나. 묽은 순간 접착제가 안으로 흘러들어 키들이 모두 한번 들어가면 끄집어 내야 올라왔다. 망했다.

키보드를 새로 산다 한들 같은 문제가 생길 수 있으니, 다른 방법을 찾아보았다. 유선연결은 일단 실패, 블루투스는 제외, 같은 네트워크라면 시너지 같은 앱을 쓰면 되겠으나 그렇지 않으니 패스. KVM over IP도 방법이긴 했으나 목적과 용도에 비해 너무 과한 솔루션이다. 이럴 때 유용한게 텔레그램 봇이다. 봇 하나로는 메세지를 보내고 다른 하나로는 메세지를 받고, 키오스크에서는 파이썬으로 텔레그램을 보고 있다가 들어오는 메세지에 따라 핫키와 연동하면 될거 같았는데.. 다 해놓고 보니 텔레그램 규정상 봇 에서 봇으로는 메세지 전송을 못한다고 하였다. 얘야 얘야 제미나이야, 그걸 왜 맨 나중에 최종 테스트에서 실패가 나오니까 그때서야 죄송하다며 알려주는거니? 봇2개와 같이 있는 그룹방에서 내가 입력해도 못알아먹으니 앞선 이유도 사실인지 확실치 않고.

텔레그램 말고 ntfy.sh 를 이용하는 전송방식으로 변경하였다. 무료버젼은 '제한이 있다'는 이야기만 있고 몇개까지 가능한지는 나와있지 않았다. 유료는 월 5달러에 하루 2500건 전송이 가능하단다. 내 환경에서는 많으면 하루 5회, 보통 3회 전송이 필요하므로 이 정도면 무료 한계까지는 넉넉하지 않을까 싶다. 셀프 호스팅이 가능하다고 하니 나중에 여차하면 라즈베리파이나 라이트세일에 구겨넣어보도록 하고.

html 문서로 버튼 3개 만들어서 원격에서 눌러보니 잘 전송되고 키오스크에서도 제대로 동작된다. 담당자들 PC에 설치해주고 나는 아이폰과 맥에서도 사용할 수 있도록 단축어로 만들어 두었다.

2026/06/12

인스턴스 이전 실패 & DB 정리

AWS 라이트세일에 있던 기존 인스턴스에서 새 인스턴스로 이전 실패했다. 예전에는 비트나미 인스턴스였다가 얼마전부터 업데이트가 중지되고 라이트세일 인스턴스라는 것만 생성이 가능해졌는데 이 라이트세일 인스턴스로 워드프레스를 옮기는 것이 실패한 것.

새 인스턴스를 만드는 것은 기존 비트나미 인스턴스 만들던 것과 동일해보였다. 서버를 생성하고 렛츠인크립트 인증서 설치할 때 라이트세일 페이지에 있는 인스턴스 웹UI에서 시도하면 계속 오류만 내고 인증서 발급이 되지 않았다.


인스턴스 20260612(ap-northeast-2 리전 내 위치)에 Let's Encrypt SSL/TLS 인증서를 구성하는 동안 오류가 발생했습니다. 나중에 다시 시도하세요. 1 DNS records do not match instance IPs. Did not find IPv6 match for 1 domain(s). Verify the values for your DNS records are correct. After you change DNS record values, you must wait for the DNS cache to expire before you can try again. I


IPv6 사용하지 않는다고 했는데 저렇게 나오니 딱히 해결책이 없는 상태. 뭔가 캐쉬가 갱신되기를 기다려야 하나... 싶기도 했으나 저렇게 방치해두는 것도 상당히 신경이 쓰이는 일이다. 예전에 하던대로 웹 콘솔을 열어 CLI 방식으로 설치시도했는데 전과 다르게 아파치 설정 파일도 바꿔야하고 뭔가 복잡해졌다. 꾸역꾸역 AI 도움을 받아 SSL연결까지 해놓았다.

백업받은 것을 복구만 하면 되는데, 철썩같이 믿고 있었던 updraft plus 백업본이 제대로 복원되지 않았다. 원격으로 구글드라이브에 저장해둔 백업 파일 40여개 중 세개를 복구하지 못하였다. 할수없이 구글 드라이브에서 백업본을 로컬로 받아 다시 업로드해서 복원 시도 했는데 이번에는 DB복원 중 일부 테이블에서 무한 로딩이 걸리더니만 DB서버가 다운되어 버렸다. AWS 라이트세일에서 워드프레스를 써온지 6~7년 되었는데 디비 서버가 죽은건 또 처음이다.

30분이면 너끈하겠거니 싶어서 시작했던 일인데 이렇게 꼬이고나니 흔한 말로 밥맛이 떨어져서 더 진행하기 어려웠다. 기존 인스턴스로 도메인을 다시 연결하고 새 인스턴스는 삭제했다.

WP옵티마이저로 DB테이블을 보니 예전에 사용했던 플러그인들이 생성해둔 데이터가 산더미다. 20만개 가까운 레코드가 있었고 더 이상 사용하지 않는 항목들을 정리했다. 90% 가까이 쓸데없는 데이타들을 청소 후 레코드는 2만여개만 남았고 용량은 절반 정도로 줄였다.

문득, 여태까지 포스트들은 다 정적인 문서로 발행해버리고 db며 워드프레스며 다 치워버릴까....하는 생각이 스쳐지나갔다.