Hvis din EC2-instans og RDS DB-instans er i forskellige VPC'er, bruger du muligvis VPC-peering til at forbinde to VPC'er. Men i dit tilfælde er begge i samme VPC. Det er godt. Sørg for, at RDS DB Instance er lanceret i privat undernet, og EC2 Instance lanceres i offentligt undernet.
At forbinde RDS DB-instans i EC2-instans
- I RDS DB Instance-sikkerhedsgruppen skal du åbne trafik for EC2-instansen.
- Klik på DB Security Group fra RDS Dashboard. Klik på Indgående fanen. Rediger-knappen bruges til at tilføje eller fjerne regler fra sikkerhedsgruppen.
- Tilføj regel for EC2 Instance for at få adgang til din database. Lad os sige, du har lanceret MySQL DB Engine i DB Instance. Du skal åbne 3306 port for EC2 Instance. Du kan bruge Private IP for EC2-instansen til at oprette forbindelse til RDS DB-instansen.
- SSH i EC2-instansen, installer
mysql-server
pakke. Du skal forbinde RDS DB Instance ved hjælp afmysql-server
. mysql --host=
--port=3306 --user= --adgangskode= kommando, der bruges til at forbinde med RDS DB Instance.
For at forbinde RDS DB-instans i MySQL WorkBench
-
I MySQL WorkBench skal du klikke på Opsæt ny forbindelse .
-
Angiv forbindelsens navn. Vælg Standard (TCP/IP) over SSH . Du skal angive SSH-værtsnavn, brugernavn og nøglefil samt MySQL-værtsnavn, port, brugernavn og adgangskode.
-
SSH-legitimationsoplysninger er intet som EC2-instanslegitimationsoplysninger. For Keyfile skal du søge efter KeyPair(.pem) fil. I RDS Hostname skal du angive slutpunkt, som er tilgængeligt i RDS dashboard.
-
For at bekræfte forbindelsen skal du klikke på Test forbindelse knap.
Grunden til at du vælger Standard (TCP/IP) frem for SSH er at forbinde RDS DB Instance gennem EC2 Instance. Først vil den oprette forbindelse til en EC2-instans og derefter få adgang til RDS DB-instans, fordi DB-instansen ikke har internetadgang, og den er i privat undernet.
Sørg for, at du i Java-webapplikationen nævnte RDS-værtsnavn, port, brugernavn og adgangskode er korrekte. Det er ikke nødvendigt at nævne EC2-værtsnavnet i applikationen.