Google-Compute-Engine

搶占式虛擬機下的 Tor 中繼/退出節點

  • February 7, 2019

我已付費訂閱 Google Cloud Platform,我想執行 Tor 中繼和退出節點。我使用 Docker 鏡像quantumobject/docker-tor-exit-relay,即插即用。

簡而言之,根據收到的答案:

  • g1-micro VM 配置是最便宜的替代方案,但可能無法達到我想要提供的高性能。
  • 具有 1 個 vCPU 和 1GB RAM 的自定義 VM,承諾使用 3 年,似乎是最方便和負擔得起的。
  • 搶占式 VM 類是無用的。
  • 負載均衡器後面的幾個實例是一個壞主意。

我原來的理由

由於搶占式 VM 便宜得多,我想將實例組與搶占式 VM 一起使用。然後,為了擁有高可用性節點,我計劃使用 GCP 負載均衡器,以便在任何時候只保持一個 IP 地址和至少一個虛擬機執行。

此外,我最初計劃使用 g1-small VM 類型(1/2 共享 vCPU 和 1.7 GB RAM)來計算成本,我正在與其他替代品進行比較,例如具有“承諾使用”的正常類 VM(適用折扣) )。

投資

以下是虛擬機的估計成本(根據計算器):

Config.     | Class       | vCPU | RAM    | C. usage | Price/Mo
----------------------------------------------------------------
g1-micro    | Regular     | 0.2  | 600MB  | Not set  | US$3.88
g1-small    | Preemptible | 0.5  | 1.70GB | Not set  | US$5.11
g1-small    | Regular     | 0.5  | 1.70GB | Not set  | US$13.80
n1-standard | Regular     | 1    | 3.75GB | 3 years  | US$15.60
Custom      | Regular     | 1    | 1GB    | 3 years  | US$11.78
Custom      | Regular     | 1    | 2GB    | 3 years  | US$13.17

vCPU 是 Intel Xeon @ 2.3 GHz,Haswell 微架構。

此外,我們需要估計的出口流量(每月消耗的頻寬)成本(對組而不是單個 VM 有用):

BW    | Zone 1 | Zone 2 | Zone 3 | Zone 4 | Price
-----------------------------------------------------
70GB  | 40GB   | 15GB   | 5GB    | 10GB   | US$9.42
80GB  | 80GB   | 30GB   | 10GB   | 20 GB  | US$19.27
350GB | 200GB  | 75GB   | 25GB   | 50 GB  | US$48.82
700GB | 400GB  | 150GB  | 50GB   | 100 GB | US$98.07

Zone 1: Americas/EMEA
Zone 2: Asia/Pacific
Zone 3: Australia
Zone 4: China

虛擬機規格

目前,我正在使用以下配置測試 VM:

  • 1 個 vCPU Inten Xeon @ 2.30GHz (Haswell)

  • 1GB 記憶體

  • 作業系統映像:cos-stable-71-11151-71-0

    • 核心:ChromiumOS-4.14.74
    • Kubernetes:1.11.5
    • 碼頭工人:18.06.1
    • 家庭:成本穩定
  • Docker 鏡像:quantumobject/docker-tor-exit-relay

  • 啟動腳本:run -d -p 2222:22 -p 80:80 -p 9050:9050 -p 9001:9001 quantumobject/docker-tor-exit-relay

  • VM類:普通

  • 地區:us-central1

**提示:**轉到VPC 網路>防火牆並創建一個名為“allow-tor”的規則,然後設置:

  • 優先級:500(低於預設 1000 的任何值)
  • 目標:指定的目標標籤
  • 目標標籤:allow-tor
  • 協議和埠:指定的協議和埠:“tcp:22,80,443,9001,9050”

創建虛擬機/模板時,進入管理、安全、磁碟、網路、單一租戶,選擇網路,然後設置您在防火牆設置中設置的標籤。

基準

此外,我在 g1-small 和自定義 1 GB RAM 1 vCPU 實例中執行了一個 openssl 基準測試(openssl speed aes每個 cbc 執行 3 秒),我得到了以下結果:

g1-小:

type         16 bytes    64 bytes    256 bytes   1024 bytes  8192 bytes  16384 bytes
aes-128 cbc  102714.85k  114937.26k  118729.12k  119713.45k  120548.01k  120684.54k
aes-192 cbc  87781.72k   96917.15k   99274.67k   100145.83k  100463.96k  100515.84k
aes-256 cbc  76597.38k   83198.89k   84709.38k   85080.02k   85516.29k   85859.83k

風俗:

aes-128 cbc  100811.34k  114144.42k  116054.50k  117985.42k  119586.42k
aes-192 cbc  85914.78k   95220.79k   98367.39k   98994.68k   99095.15k
aes-256 cbc  76171.38k   82969.05k   84497.50k   85145.08k   84728.69k

性能幾乎相同,可能是因為與專用的 1 個 vCPU 相比,共享 vCPU 在某些需要的時候(但並非總是)獲得全功率。

我的問題:

  • 為每個實例推薦的頻寬量是多少?
  • ~~在 GCP 中的一個負載均衡器後面執行一個或多個 Tor 中繼/退出節點是否安全?~~沒有。
  • ~~執行在 24 小時或更短時間關閉的搶占式節點是否安全/有用?(IP 地址分配是動態的,不保證新節點的 IP 地址相同)~~安全但無用。
  • ~~g1-microg1-small虛擬機規格是否足以執行性能不錯的節點?~~定制的 1GB RAM VM 更便宜、更強大。

提前致謝。

執行多個可搶占節點以實現冗餘是一個糟糕的計劃。如果可搶占節點在同一區域中執行,則由於該區域的需求增加,它們很可能同時關閉。

不同區域的搶占式節點不太可能同時關閉,但風險仍然存在,並且可能取決於其他 GCE 客戶在做什麼,這完全超出您的控制範圍。

如果您關心可用性,請不要使用搶占式節點。它們適用於被搶占不是什麼大問題的批處理,您可以稍後再進行處理。

引用自:https://serverfault.com/questions/952441