EC2로 인터넷 뱅킹을 써봤습니다.
낮에 심심하게 빈둥거리다가 문득 EC2 인스턴스에 접속해 인터넷 뱅킹을 쓸 수 있지 않을까 하는 생각이 들었습니다. 지금도 인터넷 뱅킹을 쓰기 이한 윈도우 돌아가는 기계가 있긴 한데 이게 영 불편합니다. 사실 맥에서 VM을 통해 처리하면 되는 문제인데 혹시 EC2에서 인터넷 뱅킹을 할 수 있다면 VM이나 윈도우 돌아가는 기계를 없애버릴 수도 있지 않을까 하는 생각도 잠깐 들었습니다. (당연히 VM이나 윈도우 돌아가는 기계가 1억배쯤 효율적일테지만)
그래서 .. 해봤습니다. EC2 마이크로인스턴스에 윈도우 서버 2012를 돌렸습니다. 우분투 EBS가 10기가면 되는데 비해 윈도우는 30기가짜리 EBS가 필요합니다. 부팅 시간은 우분투 서버에 비해 서너배쯤 더 오래 걸립니다. 마이크로인스턴스는 시간당 $0.02로 무섭게 싸지만 메모리는 613메가밖에 안됩니다. 접속해보니 시작버튼도 없고 - 윈도우 서버에도 시작버튼이 없다는걸 오늘 처음 알았습니다. - 화면 구석에는 우울한 사양이 나열 되어 있었습니다.
오늘의 목표는 은행에 공인인증서로 로그인한 다음 계좌를 조회하는 것입니다. 그리고 기왕에 바보 삽질을 해보는 김에 AWS 인프라에서 상상할 수 있는 방법 중 가장 안전하다고 생각되는 방법으로 공인인증서를 보관하고 접근해 보자는 조건을 추가했습니다.
공인인증서를 하드에 보관하건 USB메모리에 보관하건 보안과는 1억광년쯤 떨어져 있습니다. 만약 외부 네트워크와 완전히 단절된 장소에 올려놓고 접근할 수 있다면 괜찮지 않을까 하는 생각이 들었습니다. 그래서 공인인증서 파일을 S3 버킷에 올려놓고 VPC를 구성해서 EC2 인스턴스에서 S3에 접근하는데 사설 아이피를 사용하게 해봤습니다. … 라고 써놓고 이제 와서 생각하니 어차피 EC2 인스턴스가 외부에서 접근 가능한데 이게 무슨 소용이었나 하는 생각이 드네요. :(
여튼. 사설 아이피를 통해 S3로부터 공인인증서를 복사해온 다음 은행 홈페이지에 접속을 시도했습니다. 윈도우 서버에 인터넷 익스플로러는 보안 수준이 ‘높음’으로 고정되어 있습니다. 레지스트리를 수정하지 않고서는 ‘높음’ 이외 옵션이 아예 나타나지 않아요. 그래서 은행 홈페이지를 통째로 ‘신뢰할 수 있는 사이트’ 목록에 추가해야 합니다. 그리고 이것 저것 컨트롤을 설치합니다. 하다 보면 충격과 공포의 이런 다이얼로그도 만날 수 있어요. 영어로 되어 있지만 늘상 보던 바로 그 병신 다이얼로그죠.
결과를 말하자면 그래서 잘 됩니다. 그냥 윈도우를 쓸 때는 나타나지 않을 보안 경고 윈도우나, 은행 사이트를 신뢰할 수 있는 사이트 목록에 넣는 윈도우나, 은행 사이트를 사용하는 것 뿐인데 갑자기 듣도보도 못한 이상한 사이트에 접속을 시도하는걸 허용하는 .. 뭐 그런 절차가 필요하긴 하지만 어쨌든 계좌 조회는 가능합니다. (은행 사이트에 접속하는 중간에 컨트롤 배포 사이트라고 생각되는 외부 사이트에 접속을 시도하는게 보안 어쩌구와는 1억광년쯤 떨어진 것처럼 보이지만 뭐 제작자들이 그딴걸 고려했겠어요?)
EC2 윈도우 인스턴스에서 인터넷 뱅킹을 사용할 수 있습니다. 대략 이런 특징이 있어요:
- 인스턴스를 준비하고 부팅하는데 리눅스 서버에 비해 시간이 더 오래 걸립니다.
- EC2 마이크로인스턴스에서 윈도우 서버는 꽤 느립니다. 하지만 체감상 아톰 1.6, 1기가 램이 달린 오래된 HP 넷북과 비슷하거나 조금 더 빨랐습니다.
- 윈도우 서버 2012에는 시작 버튼이 없습니다. 윈도우 익스플로러를 실행해 인터넷 익스플로러를 찾아서 실행해야 합니다.
- 인터넷 익스플로러의 보안 수준이 ‘높음’으로 고정되어 있습니다. 은행 사이트를 신뢰할 수 있는 사이트 목록에 추가해야 동작합니다.
- 외부 웹 주소를 통해 공인인증서를 가져올 수 있습니다. 사설 아이피로 접근하는 S3는 보관에는 보안상 이득이 있지만 인스턴스가 동작하는 동안에는 보안상 이득이 없습니다.
- 거래가 끝나고 인스턴스를 ‘Terminate’ 했습니다. 시스템에 보안 소프트웨어를 설치해서 관리하거나 하는 부담이 전혀 없습니다.
자. 그럼 이 짓을 하는데 비용이 얼마나 드는지 생각해 봐야겠죠:
- EC2 윈도우 마이크로 인스턴스: $0.02/hr (인터페이스 사용)
- EC2 리눅스 스몰 인스턴스: $0.08/hr (VPC에 사용되는 서버)
- EBS 30기가: $3.3/month ($0.11 * 30)
- S3 한 1메가쯤?: $0.01/month
- VPC: $0.05/hr
- 합계: $3.41
여기서 인스턴스를 ‘스몰 인스턴스’로 바꾸면 시간 당 $0.115가 되는 대신 160기가짜리 스토리지가 따라오므로 EBS를 사용할 필요가 없습니다. 게다가 램이 1.7기가나 되어 체감속도가 훨씬 빨라집니다. 이렇게 계산하면 시간 당 한화로 170원을 내면 윈도우 시스템을 사용할 수 있습니다.
장점을 먼저 이야기하자면, 보안상 유리합니다. 공인인증서를 사설 아이피로 접근 가능한 S3에 올려놓고 사용하면 공인인증서를 EC2 인스턴스로 복사해 오는데 인터넷 연결이 필요 없어집니다. 또 인스턴스를 새로 생성하기 때문에 시스템에 원하지 않는 소프트웨어가 깔려 있을 위험성이 아주 낮습니다. 만약 여기 문제가 생긴다면 AMI 자체에 문제가 있다는 이야기인데, 이 부분은 아마존을 신뢰해야겠죠. 또 거래가 끝난 다음 인스턴스를 ‘Terminate’ 해 버리기 때문에 이후 시스템 관리 부담이나 시스템에 남아있는 파일을 통한 보안 위험이 없어집니다. 사용이 끝나면 시스템을 날려버리고 매번 포멧된 새 시스템을 사용하는 셈이니까요.
단점은 .. 일단 비용이 듭니다. 시간당 170원 정도 들어요. 컴퓨터와 윈도우를 구입하거나, VM 소프트웨어와 윈도우를 구입하는 비용에 비해 이게 얼마나 낮은 비용인지는 잘 모르겠습니다. 대강 10만원짜리 시스템과 10만원짜리 윈도우 라이센스를 구입한 다음 이 시스템을 2년 내내 사용한다고 가정하면 전기요금을 제외한 시간당 비용은 12원까지 떨어지기는 하지만 가정용 컴퓨터가 24시간 켜져 있을 리도 없고 가정용 전기요금의 누진세율을 고려하면 시간당 170원이라는 비용이 ‘아주 비싸지는’ 않다는 생각이 듭니다.
또 다른 단점으로는 VM이나 실제 시스템에 비해 준비하는데 시간이 몇 분 더 걸리고 체감속도가 더 느립니다. 이건 시간당 $0.23인 미디엄 인스턴스까지 가면 거의 해결될 문제라고 봅니다. 물론 네트워크를 통한 제어가 로컬 머신이나 VM 수준으로 빨라지기는 어렵겠지만요.
그래서 앞으로도 EC2를 통해 인터넷 뱅킹을 쓸 것인가. 만약 지금 인터넷 뱅킹에 쓰는 윈도우 시스템이 망가져 사용할 수 없게 되면 그렇게 할 것 같습니다. 한달에 한 600원어치 정도 사용하겠죠. 내 공인인증서는 USB 메모리같은 어이없는 미디어 대신 사설 아이피로만 접근할 수 있는 S3에 올라가 있고요. 꽤 가능성이 있고, 실제로도 무리 없이 사용할 수 있을 뿐 아니라 보안 면에서는 큰 장점이 있습니다. 결론은 이정도로. 끝~
와콤 펜은 펜심을 교체할 수 있는데, 슬레이트 PC에 포함된 S-펜도 와콤 펜심과 호환됩니다. 기본 펜심이 들어있는데 필기감이 미끌미끌해서 썩 마음에 들지 않았습니다. 펜심을 교체해서 어느 정도 타협점을 찾을 수 있습니다. 와콤에서 나온 하드펠트심을 사용하면 미끌거리는 종이에 쓰는 것과 비슷한 수준이 됩니다. 하지만 하드펠트심은 꽤 빨리 마모되고 일단 마모되고 나면 기본 심과 비슷한 수준으로 미끌거리기 때문에 이것 만으로는 좀 부족한 감이 있습니다. 아기용 면봉을 구입해 깎아 쓰는 방법도 있는데, 와콤 펜심보다 조금 더 짧게 잘라야 오차가 줄어들고 무시무시하게 마모가 빠르기 때문에 자주 빼서 깎아줘야 하는 귀찮음이 있습니다. 필기감은 면봉을 깎은 펜심 쪽이 훨씬 덜 미끌거립니다.
길어서 읽지 않았을 분들을 위해 요약해보면,
