정방향 SSH 터널

다음 단계에서는 전달 SSH 터널을 사용하여 소스 데이터베이스에 대한 연결을 설정하는 방법을 설명합니다.

1단계: 터널을 종료할 호스트 선택

데이터베이스에 대해 SSH 터널 액세스를 설정하는 첫 번째 단계는 터널을 종료하는 데 사용할 호스트를 선택하는 것입니다. 데이터베이스 호스트 자체 또는 별도의 호스트(터널 서버)에서 터널을 종료할 수 있습니다.

데이터베이스 서버 사용

데이터베이스에서 터널을 종료하면 단순성 이점이 있습니다. 관련된 호스트가 하나 적기 때문에 추가적인 머신 및 관련 비용이 발생하지 않습니다. 단점은 데이터베이스 서버가 인터넷에 직접 액세스할 수 없는 보호 네트워크에 있을 수 있다는 것입니다.

터널 서버 사용

별도의 서버에서 터널을 종료하면 인터넷에서 데이터베이스 서버에 액세스할 수 없다는 이점이 있습니다. 터널 서버가 손상된 경우 데이터베이스 서버에서 한 단계가 삭제됩니다. 터널 서버에서 중요하지 않은 소프트웨어와 사용자를 모두 삭제하고 침입 감지 시스템(IDS)과 같은 도구를 사용하여 면밀하게 모니터링하는 것이 좋습니다.

터널 서버는 다음과 같은 모든 Unix 또는 Linux 호스트일 수 있습니다.

  1. SSH를 사용해서 인터넷에서 액세스할 수 있습니다.
  2. 데이터베이스에 액세스할 수 있습니다.

2단계: IP 허용 목록 만들기

데이터베이스에 대해 SSH 터널 액세스를 설정하는 두 번째 단계는 일반적으로 TCP 포트 22에서 SSH를 사용하여 터널 서버 또는 데이터베이스에 연결하도록 네트워크 트래픽을 허용하는 것입니다.

Datastream 리소스가 생성된 각 리전의 IP 주소에서 네트워크 트래픽을 허용합니다.

3단계: SSH 터널 사용

연결 프로필 구성에 터널 세부정보를 제공합니다. 자세한 내용은 연결 프로필 만들기를 참고하세요.

SSH 터널 세션을 인증하려면 Datastream에 터널 계정의 비밀번호 또는 고유한 비공개 키가 필요합니다. 고유한 비공개 키를 사용하려면 OpenSSH 또는 OpenSSL 명령줄 도구를 사용하여 키를 생성하면 됩니다.

Datastream은 Datastream 연결 프로필 구성의 일부로 비공개 키를 안전하게 저장합니다. 배스천 호스트의 ~/.ssh/authorized_keys 파일에 공개 키를 수동으로 추가해야 합니다.

비공개 키와 공개 키 생성

다음 방법을 사용하여 SSH 키를 생성할 수 있습니다.

  • ssh-keygen: SSH 키 쌍을 생성하는 OpenSSH 명령줄 도구입니다.

    유용한 플래그:

    • -t: 만들 키의 유형을 지정합니다(예:

      ssh-keygen -t rsa

      ssh-keygen -t ed25519

    • -b: 생성할 키의 키 길이를 지정합니다. 예를 들면 다음과 같습니다.

      ssh-keygen -t rsa -b 2048

    • -y: 비공개 OpenSSH 형식 파일을 읽고 OpenSSH 공개 키를 표준 출력에 출력합니다.

    • -f: 키 파일의 파일 이름을 지정합니다. 예를 들면 다음과 같습니다.

      ssh-keygen -y [-f KEY_FILENAME]

    지원되는 플래그에 대한 자세한 내용은 OpenBSD 문서를 참고하세요.

다음 방법을 사용하여 비공개 PEM 키를 생성할 수 있습니다.

  • openssl genpkey: PEM 비공개 키를 생성하는 OpenSSL 명령줄 도구입니다.

    유용한 플래그:

    • algorithm: 사용할 공개 키 알고리즘을 지정합니다(예:

      openssl genpkey -algorithm RSA

    • -out: 키를 출력할 파일 이름을 지정합니다. 예를 들면 다음과 같습니다.

      openssl genpkey -algorithm RSA -out PRIVATE_KEY_FILENAME.pem

    지원되는 플래그에 관한 자세한 내용은 OpenSSL 문서를 참고하세요.

다음 단계