Kombiner SSH-tunnel og RDS-forbindelse på AWS uden fejl - Trin-for-trin guide

Hvordan kan disse to kommandoer kombineres i en enkelt funktion, så der oprettes en tunnel til en RDS-instans på AWS gennem en EC2-instans, og der derefter oprettes forbindelse til databasen uden at få fejlmeddelelsen "Connection refused"?

For at kombinere to kommandoer i en enkelt funktion til at oprette en tunnel til en RDS-instans på AWS gennem en EC2-instans og oprette forbindelse til databasen uden fejlmeddelelsen "Connection refused", kan du bruge et bash-script, der først opretter SSH-tunnelen og derefter opretter forbindelse til RDS-databasen.

Sådan kombineres to kommandoer i en enkelt funktion for at oprette en tunnel til en RDS-instans på AWS gennem en EC2-instans og oprette forbindelse til databasen uden fejlmeddelelsen "Connection refused"

For at kombinere de to kommandoer i en enkelt funktion, kan du bruge et script, der først opretter SSH-tunnelen og derefter opretter forbindelse til RDS-databasen. Her er en trin-for-trin guide:

  1. Opret SSH-tunnel:
    • Brug SSH til at oprette en tunnel fra din lokale maskine til EC2-instansen.
    • Forward den relevante port fra EC2-instansen til RDS-instansen.
  2. Opret forbindelse til RDS-databasen:
    • Brug en databaseklient til at oprette forbindelse til RDS-databasen gennem den oprettede tunnel.

Her er et eksempel på et bash-script, der kombinerer disse trin:


#!/bin/bash

# Variabler
EC2_USER="ec2-user"
EC2_HOST="your-ec2-instance.amazonaws.com"
RDS_HOST="your-rds-instance.amazonaws.com"
LOCAL_PORT=5432
REMOTE_PORT=5432
DB_USER="your-db-user"
DB_NAME="your-db-name"

# Opret SSH-tunnel
ssh -f -N -L ${LOCAL_PORT}:${RDS_HOST}:${REMOTE_PORT} ${EC2_USER}@${EC2_HOST}

# Vent et øjeblik for at sikre, at tunnelen er oprettet
sleep 5

# Opret forbindelse til RDS-databasen
psql -h localhost -p ${LOCAL_PORT} -U ${DB_USER} -d ${DB_NAME}

Forklaring af scriptet:

  • EC2_USER: Brugernavnet til EC2-instansen.
  • EC2_HOST: Værtsnavnet eller IP-adressen til EC2-instansen.
  • RDS_HOST: Værtsnavnet eller IP-adressen til RDS-instansen.
  • LOCAL_PORT: Den lokale port, der skal forwardes.
  • REMOTE_PORT: Den port på RDS-instansen, der skal forwardes.
  • DB_USER: Brugernavnet til databasen.
  • DB_NAME: Navnet på databasen.

Dette script opretter først en SSH-tunnel fra din lokale maskine til EC2-instansen og forwarder den relevante port til RDS-instansen. Derefter opretter det forbindelse til RDS-databasen gennem den oprettede tunnel ved hjælp af psql-kommandoen.

Bemærk: Sørg for, at du har de nødvendige tilladelser og sikkerhedsgrupper konfigureret korrekt i AWS for at tillade SSH-adgang til EC2-instansen og databaseadgang til RDS-instansen.

Opret din første opgave på få minutter

Spar dig selv for besvær og kom igennem din to-do liste i dag

1

Beskriv din opgave

2

Modtag bud

3

Få løst din opgave

opgaver platform services

Møbelsamling

Hjælp med at samle Ikea klædeskab

opgaver platform services

Maler

Klargøring af lejlighed til flyttesyn

opgaver platform services

Flyttehjælp

Flytning af 150 kvm hus til Roskilde fra København

opgaver platform services

Havearbejde

Beskæring af 4 større træer

opgaver platform services

IT support

Geninstallering af windows + programmer

opgaver platform services

Elektriker

Installation af Sonos musikanlæg i hus

opgaver platform services

Rengøring

Ugentlig rengøring af lejlighed (114kvm)

opgaver platform services

Flyttehjælp

Flytning af 150 kvm hus til Roskilde fra København

opgaver platform services

Elektriker

Opsætning af lamper i stue og soveværelse

opgaver platform services

Catering

3-retters menu til 14 mennesker