
컨텍스트: VPC의 private_isolation 서브넷에 Postgres RDS를 설정하려고 합니다. pgAdmin을 사용하여 작업하려고 합니다. 즉, 요새나 VPN 연결이 필요합니다. 요새에는 장기 실행 EC2 인스턴스가 필요하며 현재 EC2가 전혀 실행되고 있지 않습니다. VPN 연결이 더 정확해 보이도록 설정하고 싶습니다. 하지만 AD나 SAML 공급자는 없습니다. AWS 세션을 시작하기 위한 IAM 사용자와 SSO가 있습니다. 업데이트: 세션 로그인을 허용하기 위해 RDS 수준에서 IAM을 사용할 수 있다는 것을 깨달았습니다.https://aws.amazon.com/premiumsupport/knowledge-center/users-connect-rds-iam/따라서 적어도 관련된 문제를 다룹니다.
클라이언트 VPN은 일반적으로 AD 또는 SAML 공급자를 사용하여 설정하거나 수동으로 생성된 인증서를 사용하여 상호 인증을 통해 수동으로 설정되는 것으로 보입니다. 전자의 옵션은 지나친 것 같습니다. 우리는 소규모 회사이므로 AD나 별도의 SAML 공급자가 필요하지 않습니다. 반면에 수동 인증서는 CA를 설정하거나 각 사용자가 클라이언트 인증서를 업로드하도록 하는 데 많은 작업이 필요하기 때문에 인적 오류가 발생하기 쉬운 것 같습니다.
저는 sysadmin 분야의 n00b입니다. IAM SSO를 사용하여 한 시간 동안 VPN 액세스를 허용하는 보안 비밀을 생성할 수 없는 이유가 있습니까? 관리 콘솔에 로그인하거나 CLI를 사용하는 방법은 정확히 무엇입니까? SAML 옵션으로 이것이 가능합니까? 내가 잘못된 질문을 하고 있는 걸까요?
감사해요!
답변1
데이터베이스를 프라이빗 서브넷에 두려는 경우 연결하는 유일한 방법은 VPN 또는 DirectConnect(비싼)를 통하거나 데이터베이스에 액세스할 수 있는 EC2 인스턴스(bastion)를 통하는 것입니다(문서 참조).https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.Scenarios.html#USER_VPC.Scenario3).
가장 비용 효율적인 방법은 EC2 인스턴스를 사용하는 것입니다. SSH를 사용하고 키를 복잡하게 만드는 대신, 인스턴스에서 SSM 에이전트를 구성하고 사용자가 콘솔을 통해 액세스하도록 허용할 수 있습니다. 문서는 다음과 같습니다.https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent.html
답변2
지금까지 나는 "당신은 할 수 없다"는 짧은 대답이라는 결론에 도달했습니다. Bash 스크립트에는 IAM 사용자를 사용하여 일부 인증서에 액세스한 다음 VPN에 연결하는 데 사용되는 몇 가지 우회 방법이 있을 수 있습니다.
대신 언급된 @palvarez와 같은 대안이 유사한 문제를 가진 사람에게 가장 적합한 솔루션일 수 있습니다.