ec2 키 쌍이 필요 없는 상황에서 터널을 통해 RDS에 연결하는 방법
솔루션
a,ec2에 socat 설정
AWS_PROFILE=<saml-profile> aws ssm start-session — target “i-015b2a998123dsdsa4”
curl -v telnet://<app-host>:1521
# Use socat to open a port up on i-015b2a998123dsdsa4
sudo yum install -y socat
sudo nohup socat tcp-l:9521,fork,reuseaddr tcp:<app-host>:1521 &
# Tunnel using socat + ssm port forward
AWS_PROFILE=<saml-profile> aws ssm start-session — target i-015b2a998123dsdsa4 \
— document-name AWS-StartPortForwardingSession \
— parameters ‘{“portNumber”:[“9521”],”localPortNumber”:[“9521”]}’
b. AWS Secrets Manager에서 자격 증명을 가져옵니다(응용 프로그램ec2 사용).aws secretsmanager get-secret-value --region ap-southeast-1 --secret-id <secret-name> | jq -r .SecretString | jq
{
"password": "samplepwd",
"dbname": "demo-db",
"engine": "oracle",
"port": 1521,
"host": <db-host>,
"username": "root"
}
c. SQL Developer를 사용하여 테스트합니다.참고: 터미널에서 전송 포트를 열거나 연결할 때 다음과 같은 로그 줄을 볼 수 있습니다.
Starting session with SessionId: botocore-session-1579056167-0c76865253a1232e
Port 9521 opened for sessionId botocore-session-1579056167-0c76865253a1232e.
Connection accepted for session botocore-session-1579056167-0c76865253a1232e.
이렇게이제 SQL Developer에서 데이터를 볼 수 있습니다!
Reference
이 문제에 관하여(ec2 키 쌍이 필요 없는 상황에서 터널을 통해 RDS에 연결하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/aws-builders/how-to-tunnel-to-rds-without-needing-ec2-keypair-4ilm텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)