V tomto tutoriálu si projdeme nastavením instance Amazon RDS v soukromé podsíti VPC a připojením k ní pomocí tunelu SSH.
Reverzní tunel SSH vytváří odchozí šifrované připojení z vašeho VPC k serverům Chartio. To vám umožní připojit Chartio k databázi ve vaší soukromé VPC podsíti, aniž byste museli upravovat její směrovací tabulku nebo skupiny zabezpečení.
Přehled
Následující diagram znázorňuje, jak bude naše finální architektura vypadat. Vytvoříme VPC se 2 podsítěmi v regionu us-west-1; 1 veřejná podsíť v zóně dostupnosti us-west-1a a 1 soukromá podsíť v zóně dostupnosti us-west-1b. VPC bude mít připojenou internetovou bránu, ale hlavní směrovací tabulka bude obsahovat pouze jednu lokální cestu, která umožní komunikaci v rámci VPC. Veřejná podsíť bude mít vlastní směrovací tabulku, která zahrnuje místní směrování a také směrování veškerého ostatního provozu přes internetovou bránu. Instance Postgres RDS bude zřízena v soukromé podsíti s připojenou skupinou zabezpečení, která povoluje pouze příchozí provoz na portu 5432 z veřejné podsítě. Instance EC2 bude zřízena ve veřejné podsíti s připojenou skupinou zabezpečení, která povoluje pouze příchozí provoz SSH z vaší místní IP adresy a veškerý odchozí provoz. Nakonec vložíme SSH do instance EC2, nainstalujeme klienta Postgres psql
, vytvořte tabulku na instanci RDS a nainstalujte a nastavte tunel SSH.
Vytvořte VPC
Přejděte na řídicí panel VPC v konzole pro správu AWS a vytvořte nový VPC.
Vytvoření a připojení internetové brány
Na kartě Internetové brány na panelu VPC Dashboard vytvořte novou internetovou bránu.
Připojte bránu k nově vytvořenému VPC.
Vytvoření vlastní tabulky tras
Na kartě Tabulky tras na řídicím panelu VPC vytvořte novou tabulku tras.
Přidejte trasu do směrovací tabulky pro internetovou bránu.
Vytvoření veřejných a soukromých podsítí
Vytvořte podsíť v zóně dostupnosti us-west-1a.
Změňte směrovací tabulku pro dříve vytvořenou podsíť z hlavní směrovací tabulky na vlastní směrovací tabulku.
Vytvořte podsíť v zóně dostupnosti us-west-1b.
Vytvořit skupiny zabezpečení
Vytvořte skupinu zabezpečení pro instanci EC2, která bude zřízena ve veřejné podsíti us-west-1a.
Autorizujte příchozí provoz SSH z vaší místní IP adresy. Výchozí odchozí pravidla by měla být v pořádku.
Vytvořte skupinu zabezpečení pro instanci Postgres RDS, která bude zřízena v soukromé podsíti us-west-1b.
Autorizujte příchozí provoz z veřejné podsítě přes port 5432.
Odeberte všechna odchozí pravidla pro skupinu zabezpečení RDS.
Zajištění instance EC2
Poskytněte instanci EC2 ve veřejné podsíti us-west-1a. Ujistěte se, že je přidělena veřejná IP.
Přiřaďte dříve vytvořenou skupinu zabezpečení.
Zajištění instance Postgres RDS
Poskytněte instanci Postgres RDS v soukromé podsíti us-west-1b. Ujistěte se, že NENÍ přidělena veřejná IP.
Instalace a nastavení tunelu SSH
SSH do instance EC2 a spusťte následující příkazy.
# Substitute 54.153.81.83 with your instance's public IP.
ssh [email protected]
# Create a table so Chartio has something to reflect.
# Substitute chartio.cacziwncd30i.us-west-1.rds.amazonaws.com with your instance's endpoint.
sudo apt-get update
sudo apt-get install postgresql-client
psql -h chartio.cacziwncd30i.us-west-1.rds.amazonaws.com -p 5432 -d chartio -U chartio -c "CREATE TABLE foo(id int);"
Nainstalujte autossh (nebo správce tunelů SSH dle vašeho výběru) a podle pokynů nastavte tunelové připojení.
Zkontrolujte editor schémat Chartio, abyste se ujistili, že schéma instance RDS bylo zohledněno. Pokud ne, zkuste kliknout na tlačítko „Obnovit schéma“.