프라이빗링크란 무엇인가요?

프라이빗링크는 클라우드 서비스와 가상 네트워크를 비공개로 연결할 수 있는 네트워킹 서비스입니다. 이 연결은 사용자의 데이터를 공용 인터넷에 노출하지 않고 이루어지며, 네트워크 트래픽을 클라우드 제공업체의 네트워크 내에 유지하여 보안을 강화합니다. 프라이빗 링크를 활용하면 클라우드 리소스에 더욱 안전하고 안정적으로 액세스하여 외부 위협의 위험을 최소화하고 클라우드 제공업체의 네트워크 내부에 트래픽을 유지함으로써 대기 시간을 줄일 수 있습니다.

프라이빗링크는 단방향 통신을 촉진하여 트래픽이 한 방향으로만 흐르도록 함으로써 네트워크 연결의 보안을 강화합니다. 이러한 설계는 무단 액세스 및 데이터 유출을 방지하여 클라우드 네트워킹에 PrivateLink를 사용할 때의 보안 이점을 더욱 공고히 합니다.

 참고: XDCR 는 현재 비공개 링크와 호환되지 않습니다.

1. AWS 관리 콘솔에 로그인

    • 로그인 AWS 관리 콘솔
    • 다음 페이지로 이동합니다:

2. AWS에서 VPC 생성

    • 검색창에 다음을 입력합니다. VPC:
    • 다음 페이지로 이동합니다:

    • 이렇게 하면 VPC 대시보드:
       
    • 검은색 앱 바에서 지역을 선택합니다. 이 예에서는 다음을 사용하고 있습니다: 미국 동부(노스 버지니아) - us-east-1

    • 를 클릭합니다. VPC 만들기. 그러면 VPC 설정 페이지가 열립니다.
      • 생성할 리소스: 선택 VPC 등.
      • 이름 태그 자동 생성: VPC의 이름을 지정합니다.

        참고: 나중에 실습에서 어떤 VPC가 자신의 것인지 쉽게 식별할 수 있도록 의미 있는 이름을 사용하는 것이 좋습니다. 이 예에서는 프라이빗 링크 하지만 테스트에 좀 더 개인화된 이름을 사용하는 것이 좋습니다.
      • IPV4 CIDR 블록: 기본값을 수락합니다.

      • IPV6 CIDR 블록: 없음.
      • 테넌시: 기본값

      • AZ 수: 1

      • 공용 서브넷 수: 1

      • 사설 서브넷 수: 0

      • NAT 게이트웨이: 0

      • VPC 엔드포인트: S3 게이트웨이

      • DNS 옵션
        • DNS 호스트 이름 사용 - 확인
        • DNS 확인 사용 - 확인

    • 페이지 오른쪽에서 미리 보기를 확인합니다. 만족스럽다면 클릭 VPC 만들기.

    • 이제 VPC가 생성되고 있습니다. 다음 페이지에서 진행 상황을 확인할 수 있습니다.

    • VPC ID와 서브넷 ID를 기록해 두세요.. 나중에 필요할 것입니다. 이 경우
      • VPC ID =  vpc-076a949ba49ce9ab6
      • 서브넷 ID = subnet-08245a74b801954ca

3. AWS EC2 인스턴스 생성

    • 검색창에 다음을 입력합니다. EC2.

    • 에 착륙해야 합니다. EC2 대시보드.

    • 다음 사항을 확인하십시오. 는 VPC를 생성한 지역과 같은 올바른 지역에 있는지 확인합니다.

    • 클릭 인스턴스를 시작합니다.
    • 그러면 EC2 설정이 있는 페이지가 열립니다.
      • 이름: 이름 선택(예 프라이빗 링크 테스터). 이전과 동일하게 더 의미 있는 이름을 선택해 주세요.

        • 애플리케이션 및 OS 이미지: 아마존 리눅스
        • 인스턴스 유형: t2.micro(무료)

        • 키 쌍 로그인클릭 새 키 쌍을 만듭니다.
          • 키 쌍의 이름을 입력합니다. (예 .)
          • 클릭 키 쌍 만들기

          • 이렇게 하면 .pem 파일을 안전한 위치에 저장해야 합니다.

          • 이제 키 쌍이 선택되어 같은 지역에서 재사용할 수 있습니다.

        • 네트워크 설정
          • 클릭 편집

          • VPC선택 이전에 생성한 것과 동일한 VPC를 사용해야 합니다.. VPC 이름 또는 VPC ID를 사용하여 필터링할 수 있습니다.

          • 서브넷이전에 생성한 서브넷을 선택합니다. 이 VPC에 대해 서브넷을 하나만 만들었으므로 자동으로 선택되어야 합니다.

          • 공인 IP 자동 할당: 활성화

          • 방화벽 보안 그룹: 보안 그룹 만들기 를 선택해야 합니다.

          • 인바운드 보안 그룹 규칙소스 유형에서 내 IP. 그러면 자동으로 IP가 추가됩니다.

        • 스토리지 구성기본값입니다.

    • 요약을 확인한 후 인스턴스 시작.
    • 몇 초 후 인스턴스가 성공적으로 시작되었다는 것을 확인할 수 있습니다. EC2 인스턴스 ID를 확인합니다. 이 예제에서는 I-0D78DAB1F00D85746. EC2 인스턴스 ID를 클릭합니다.
    • 에 착륙해야 합니다. 인스턴스 인스턴스가 필터링된 지역의 페이지로 이동합니다. 인스턴스 ID를 클릭합니다. 인스턴스 페이지가 다음과 같이 표시됩니다:

4. AWS CLI 도구 설치

    • AWS CLI 도구를 사용하려면 다음을 따르세요. 문서.
    • 임시 자격 증명을 받아야 합니다.


    • AWS CLI 도구를 구성하려면 옵션 1을 복사하기만 하면 됩니다, 단기 자격 증명 명령을 실행하여 AWS 환경 변수를 설정한 후 터미널에 붙여넣으세요. (아래는 예시입니다. 직접 자격 증명을 붙여넣으세요.)

5. 아카펠라 데이터베이스 만들기

    • 카펠라에 로그인 회사 이메일과 자격 증명으로 로그인하세요.
    • 프로젝트 내에서 다음 구성으로 데이터베이스를 만듭니다:
      • 클라우드: AWS
      • 지역: 동일 를 VPC 및 EC2 인스턴스를 생성한 리전으로 지정합니다.
      • 이름 를 선택합니다. 여기 프라이빗 링크 개발

      • 서비스 그룹기본값은 데이터, 인덱스, 쿼리 및 검색 서비스입니다. 애널리틱스 서비스 추가 를 사용하여 나중에 실험실에서 토폴로지를 그대로 유지합니다.

      • 다른 모든 설정은 기본값으로 유지할 수 있습니다.
    • 데이터베이스가 건강배포 여행 샘플 버킷:
      • 데이터베이스 열기
      • 로 이동하여 데이터 도구
      • 에서 가져오기 페이지에서 가져오기 아래 여행 샘플 타일.

B. S1단계

이 섹션에서는 방법을 알아봅니다:

    • 카펠라에서 비공개 엔드포인트 사용
    • 카펠라에 비공개 엔드포인트 추가
    • CLI에서 AWS에 VPC 엔드포인트 만들기
    • 연결 완료

1. 비공개 엔드포인트 사용

    • Capella 데이터베이스에서 설정 페이지로 이동하여 비공개 엔드포인트 그리고 클릭 비공개 엔드포인트를 사용 설정합니다.

    • 비공개 엔드포인트를 활성화하는 데 보통 10분 정도 걸립니다.

    • 준비가 완료되면 이제 Capella UI에서 프라이빗 엔드포인트 DNS를 사용할 수 있는 것을 확인할 수 있습니다. 또한 이 옵션을 비활성화할 때까지는 이 데이터베이스에 대한 AWS 프라이빗 엔드포인트에 대해 시간당 요금이 청구된다는 점에 유의하세요.

2.  비공개 엔드포인트 추가

    • 클릭 비공개 엔드포인트 추가.
    • 필수 요건 섹션의 2단계에서 VPC ID와 서브넷 ID를 입력합니다. 클릭 다음.

3. CLI에서 AWS에 VPC 엔드포인트 만들기

    • 복사 명령 실행.

    • 터미널을 열고 명령을 실행합니다:

    • VPCEndpointId(강조 표시됨)를 메모하고 Capella에서 엔드포인트 ID를 수락합니다.

4. 연결 완료

    • 클릭 완료. 이제 엔드포인트가 생성되고 보류 중 상태.

    • 1~2분 후 상태는 다음과 같아야 합니다. 연결된.

C. 2단계

이 섹션에서는 방법을 알아봅니다:

    • AWS에서 프라이빗 DNS 사용
    • AWS의 프라이빗 엔드포인트에 대한 인그레스 규칙 편집
    • AWS의 프라이빗 엔드포인트에 대한 네트워크 ACL 편집

1. AWS에서 사설 DNS 사용

    • VPC 대시보드로 이동하여 다음을 클릭합니다. 엔드포인트 왼쪽 메뉴에서 그리고 필터를 클릭합니다. 최소 2개의 엔드포인트가 표시됩니다:
      • AWS에서 생성한 S3 엔드포인트
      • CLI 명령으로 생성된 이름 없는 엔드포인트

      • 이름이 지정되지 않은 엔드포인트를 엽니다(이 경우 vpce-01dfcbabe1bef175e) 그리고 작업 드롭다운에서 Capella 비공개 엔드포인트 인터페이스 엔드포인트 목록에 제공된 것과 동일한 ID를 선택합니다. 선택 비공개 DNS 이름 수정.

      • 확인 이 엔드포인트에 사용 설정 그리고 클릭 변경 사항 저장.

2. AWS의 프라이빗 엔드포인트에 대한 인그레스 규칙 편집

    • 먼저 VPC의 CIDR 블록을 가져와 보겠습니다.
      • 클릭 VPC VPC 대시보드에서
      • VPC 이름을 필터링합니다.

      • 하단 메인 패널에서 IPV4 CIDR에 유의하세요.. 다음과 같아야 합니다. 10.0.0.0/16

      • 이제 엔드포인트의 보안 그룹을 가져와 보겠습니다.
        • 를 클릭합니다. 엔드포인트 VPC 대시보드에서
        • VPC 이름을 필터링합니다. 최소 2개가 표시됩니다:
          • AWS에서 생성한 S3 엔드포인트
          • CLI 명령으로 생성된 이름 없는 엔드포인트

        • 이름 없는 엔드포인트를 선택합니다.
        • 패널 하단에서 보안 그룹 탭으로 이동합니다.
        • 를 클릭합니다. 그룹 ID 링크 및 찾기 인바운드 규칙. 기본적으로 하나의 인바운드 규칙이 선택됩니다. 클릭 인바운드 규칙 편집.
        • 클릭 규칙 추가
          • 유형: 모든 트래픽
          • 출처: 사용자 지정
          • 소스 값: 항목 1)의 VPC CIDR - 예: 10.0.0.0/16
          • 클릭 규칙을 저장합니다.

3. AWS의 프라이빗 엔드포인트에 대한 네트워크 ACL 편집

    • 이제 VPC 대시보드 네트워크 ACL에 접속해 보겠습니다.
      • 클릭 네트워크 ACL VPC 대시보드에서
      • VPC 이름을 필터링합니다.
      • 기본적으로 이름 없는 네트워크 ACL이 하나 선택됩니다.
      • 작업 드롭다운 메뉴에서 다음을 선택합니다. 인바운드 편집 규칙
    • 이제 인바운드 규칙을 추가해 보겠습니다.
      • 클릭 새 규칙 추가.
      • 규칙 번호: 101
      • 유형: 모든 트래픽
      • 출처: the IPv4 CIDR 이전 단계에서 얻은 값(예: 10.0.0.0/16)을 입력합니다.
      • 클릭 변경 사항 저장.
      • 이제 아웃바운드 규칙을 추가해 보겠습니다.
        • 작업 드롭다운 메뉴에서 다음을 선택합니다. 아웃바운드 편집 규칙

        • 클릭 새 규칙 추가.
        • 규칙 번호: 101
        • 유형:  사용자 지정 TCP
        • 포트 범위: 1024-65535
        • 출처: the IPv4 CIDR 이전 단계에서 얻은 값(예: 10.0.0.0/16)을 입력합니다.
        • 클릭 변경 사항 저장.

D. 애플리케이션으로 비공개 엔드포인트 테스트

이 섹션에서는 방법을 알아봅니다:

    • 아카펠라 보안 전제 조건 추가
    • AWS EC2 인스턴스에 Python 설치
    • Capella 비공개 엔드포인트에 연결하는 Python 앱 테스트하기
    • 카펠라 프라이빗 엔드포인트에 연결하는 컬 명령 테스트

1. 아카펠라 보안 전제 조건

    • Capella 데이터베이스에서 데이터베이스 자격 증명을 만듭니다. 예시: 프라이빗링크카펠라/Couchbase123$
      • 열기 설정 데이터베이스 페이지
      • 에서 데이터베이스 액세스 페이지에서 생성 데이터베이스 액세스
      • 이 액세스 권한에는 다음이 필요합니다. 읽기 + 쓰기 에 대한 권한 여행 샘플 버킷

      • 데이터베이스 자격 증명이 생성된 것을 확인할 수 있습니다.

  • Capella에서 비공개 엔드포인트를 복사합니다. 이 예에서는 다음과 같습니다. o3bak2eyqhmw2tq.pl.cloud.couchbase.com

  • 아카펠라 설정 를 클릭하고 보안 인증서 페이지를 열어 인증서를 다운로드합니다.

  • 다음과 같이 privatelinkdev-root-certificate.txt 파일 또는 데이터베이스 이름에 따라 이와 유사합니다.

2. AWS EC2 인스턴스에 Python 설치

    • 이제 EC2 인스턴스에 SSH로 접속해 보겠습니다.
      • EC2 대시보드로 이동

      •  열기 인스턴스 페이지
      • EC2 인스턴스 이름을 필터링하고 인스턴스를 선택합니다.
      • 클릭 연결

      • 이렇게 하면 인스턴스에 연결 페이지로 이동합니다.

    • 이제 노트북에서 인스턴스에 연결해 보겠습니다.
      • 클릭 SSH 클라이언트 탭을 탭하고 지침에 따라 단말기에서 개인 키에 액세스할 수 있고 공개적으로 볼 수 없는지 확인합니다.

      • 찾기 ssh 명령을 터미널에서 실행합니다.

    • 이제 인스턴스에 Python SDK를 설치해 보겠습니다. 참고: 다음 설치는 3개의 명령어로 구성되어 있습니다. 터미널에서 각 명령을 개별적으로 실행해야 합니다. 각 명령은 패키지 설치 확인을 대화형으로 묻기도 합니다.

    • 라이브러리의 경우 다음 명령을 실행할 수도 있습니다.

3. Capella 비공개 엔드포인트에 연결하는 Python 앱 테스트하기

    • ssh를 종료하여 로컬 노트북으로 돌아가거나 새 셸 창을 열 수 있습니다.

    • 이전에 다운로드한 Capella Security .txt 인증서의 이름을 다음과 같이 변경합니다. privatelink-cert.pem. 루트 인증서의 이름을 자신의 이름으로 바꿉니다.
    • 복사해 보겠습니다. privatelink-cert.pem 를 EC2 인스턴스에 추가합니다. 아래 명령어를 입력합니다:
      • 인증서 이름을 자신의 이름으로 바꿉니다.
      • 키 쌍 파일을 VPC를 만들 때 사용한 파일로 바꿉니다.
      • ec2 이름을 자신의 이름으로 바꿉니다(SSH 클라이언트 예제에서 제공된 이름과 동일하게 재사용).
      • 명령을 실행합니다.
        다음 scp 명령은 단일 명령을 사용합니다.

    • 원하는 IDE에서 다음의 간단한 파이썬 코드를 복사합니다.
      • 비공개 엔드포인트를 이전에 만든 엔드포인트로 교체합니다.
      • 자격 증명을 이전에 만든 Capella 데이터베이스 자격 증명으로 바꿉니다.
      • privatelink-cert.pem을 인증서 이름으로 바꿉니다.
      • 파일을 다음 이름으로 저장합니다. example.py.

    • 복사 example.py 파일을 ec2 인스턴스에 복사합니다. 이전과 동일하게 인증서를 자신의 인증서로 바꾸고 ec2 이름도 자신의 이름으로 바꿉니다.

    • SSH로 다시 EC2 인스턴스에 로그인합니다.
    • acme-cert.pem 파일과 example.py 파일이 모두 있는지 확인합니다.

    • Python 스크립트를 실행합니다. JSON 문서를 가져와야 합니다. airline_10.

4. 카펠라 프라이빗 엔드포인트에 연결하는 컬 명령 테스트하기

    • 여전히 EC2 인스턴스에서 Server REST API를 사용하여 SQL++ 쿼리를 시도합니다. 비공개 엔드포인트를 사용자 엔드포인트로 바꾸세요.

이제 프라이빗 링크를 사용하여 AWS VPC와 카우치베이스 카펠라 간에 프라이빗 연결을 설정했습니다! 

결론

데이터 통신의 보안과 안정성을 강화하려면 Couchbase Capella용 AWS 프라이빗 링크를 구현하는 것이 중요합니다. VPC와 카우치베이스 카펠라 사이에 프라이빗 연결을 설정하면 공용 인터넷에서 트래픽을 효과적으로 격리하여 잠재적인 위협에 노출될 위험을 줄일 수 있습니다. 이 접근 방식은 데이터가 보안 네트워크 경계 내에 유지되도록 보장하며, AWS의 강력한 인프라를 활용하여 짧은 지연 시간과 높은 처리량을 유지합니다. AWS 프라이빗 링크는 단방향 통신만 제공하므로 데이터가 리소스에서 Couchbase Capella로 역방향 경로 없이 안전하게 흐르도록 보장합니다. 따라서 AWS 프라이빗 링크는 엔터프라이즈급 데이터베이스 연결을 위한 매우 안전하고 효율적인 솔루션입니다.

참조

작성자

게시자 니샨트 바티아 - 클라우드 아키텍트

댓글 남기기