일반

Q: Amazon Neptune이란 무엇입니까?

Amazon Neptune은 빠르고 안정적인 완전 관리형 그래프 데이터베이스 서비스로, 상호 연결성이 높은 데이터 집합을 활용하는 애플리케이션을 손쉽게 구축 및 운영할 수 있습니다. 고도로 연결된 데이터에 대한 SQL 쿼리는 복잡하며, 성능에 맞게 조정하기가 어렵습니다. 대신, Amazon Neptune을 사용하면 널리 사용되는 오픈 그래프 쿼리 언어를 사용하여 쉽게 작성할 수 있고 연결된 데이터에 대해 처리 성능이 뛰어난 강력한 쿼리를 실행할 수 있습니다. Neptune의 핵심은 수십억 개의 관계를 저장하고 1000분의 1초의 지연 시간으로 그래프를 쿼리하는 데 최적화되어 있는 특별한 용도의 고성능 그래프 데이터베이스 엔진입니다. Neptune을 사용하여 추천 엔진, 부정 탐지, 지식 그래프, 신약 개발 및 네트워크 보안과 같은 그래프 사용 사례를 얻을 수 있습니다. Amazon Neptune은 완전 관리형이며, 프로비저닝, 패치 적용, 백업, 복구, 장애 탐지 및 복원과 같이 많은 시간이 소요되는 작업을 처리합니다. 사용하는 Amazon Neptune 데이터베이스 인스턴스 각각에 대해 소정의 월별 요금을 지불하면 됩니다. 선수금이나 장기 약정이 필요하지 않습니다.

Q: Amazon Neptune이 지원하는 널리 사용되는 그래프 쿼리 언어는 무엇입니까?

Amazon Neptune은 오픈 소스 Apache TinkerPop Gremlin 그래프 순회 언어와 W3C 표준 RDF(Resource Description Framework) SPARQL 쿼리 언어를 모두 지원합니다.

 

Q: 기존 Apache TinkerPop Gremlin 애플리케이션에서 Amazon Neptune으로 마이그레이션하려면 어떻게 해야 합니까?

Amazon Neptune은 Websocket과 REST 연결을 모두 지원하는 Apache TinkerPop Gremlin 서버를 제공합니다. Amazon Neptune의 인스턴스를 프로비저닝하면 기존 TinkerPop 애플리케이션이 서비스에서 제공하는 엔드포인트를 사용하도록 구성할 수 있습니다. Gremlin을 통한 그래프 액세스도 참조하십시오.

Q: Amazon Neptune의 Gremlin 서버를 사용하려면 클라이언트 드라이버를 교체해야 합니까?

아니요, Amazon Neptune의 Gremlin 서버는 Websocket 및 REST 연결을 사용하여 Apache TinkerPop 버전 3.3과 호환되는 클라이언트를 지원합니다.

Q: SPARQL 엔드포인트가 있는 트리플 스토어에서 Amazon Neptune으로 마이그레이션하려면 어떻게 해야 합니까?

Amazon Neptune은 SPARQL 1.1 Protocol을 구현하는 HTTP REST 엔드포인트를 제공합니다. 서비스 인스턴스를 프로비저닝하고 나면 SPARQL 엔드포인트를 가리키도록 애플리케이션을 구성할 수 있습니다. SPARQL을 통한 그래프 액세스도 참조하십시오.

Q: Amazon Neptune의 SPARQL 엔드포인트를 사용하려면 클라이언트 드라이버를 교체해야 합니까?

아니요, Amazon Neptune의 SPARQL 엔드포인트는 SPARQL 1.1 Protocol을 지원하는 모든 클라이언트와 함께 작동합니다.  

Q: Neptune은 ACID(원자성, 일관성, 격리성, 지속성)를 준수합니까?

예. Neptune은 즉각적인 일관성과 더불어 ACID를 준수합니다.

Q: Amazon Neptune을 사용하려면 Amazon RDS 권한 및 리소스가 필요한 이유는 무엇입니까?

Amazon Neptune은 특별히 구축된 고성능 그래프 데이터베이스 엔진입니다. 인스턴스 수명 주기 관리, Amazon Key Management Service(KMS)를 사용한 저장 중 암호화, 보안 그룹 관리와 같은 특정 관리 기능의 경우 Neptune은 Amazon RDS와 공유되는 운영 기술을 활용합니다.

성능

Q: Amazon Neptune을 사용하여 데이터에 인덱스를 생성해야 합니까?

아니요, 기존 그래프 데이터베이스 사용자는 공급업체 구현을 시도하고 미리 파악해야 합니다. 명시적으로 인덱스를 유지 관리하는 것은 그러한 작업의 한 측면일 뿐입니다. Amazon Neptune은 뛰어난 쿼리 성능을 얻기 위해 특정 인덱스를 생성할 필요가 없으며, 데이터베이스 설계에 대한 추측의 필요성을 최소화합니다.

Q: Amazon Neptune에서 작동하도록 최적화된 그래프 쿼리 워크로드 유형은 무엇입니까?

Amazon Neptune은 높은 처리량과 낮은 지연 시간의 그래프 쿼리를 필요로 하는 그래프 애플리케이션을 지원하도록 설계되었습니다. Amazon Neptune은 최대 15개의 읽기 전용 복제본을 지원하므로 초당 100,000개의 쿼리를 지원할 수 있습니다.

Q: Amazon Neptune은 쿼리 최적화를 수행합니까?

예, Amazon Neptune은 SPARQL 쿼리와 Gremlin 순회 모두에 대해 쿼리 최적화를 사용합니다.

Q: Amazon Neptune은 관계형 데이터베이스로 구축되었습니까?

아니요, Amazon Neptune은 특별 용도의 고성능 그래프 데이터베이스 엔진입니다. Neptune은 그래프 데이터를 효율적으로 저장 및 탐색하며, 확장형의 인메모리 최적화 구조를 사용하여 대규모 그래프에 대해 빠른 쿼리 평가를 할 수 있게 해 줍니다.

요금

Q: Amazon Neptune의 비용은 얼마입니까?

최신 요금 정보는 Amazon 요금 페이지를 참조하십시오.

Q: 어떤 AWS 리전에서 Amazon Neptune을 사용할 수 있습니까?

리전과 요금에 대한 최신 정보는 AWS 요금 페이지를 참조하십시오.

Q: Amazon Neptune은 내 데이터베이스 볼륨의 각 청크를 6가지 방법으로 3개의 가용 영역에 복제합니다. 그렇다면 실질적인 스토리지 요금이 요금 페이지에 표시된 요금의 3배 또는 6배가 된다는 말입니까?

아니요. Amazon Neptune 복제는 요금에 포함되어 있습니다. 요금은 Amazon Neptune의 가상화 스토리지 계층에서 사용한 스토리지가 아니라 데이터베이스가 데이터베이스 계층에서 사용한 스토리지를 기준으로 부과됩니다.

Q: Amazon Neptune의 IO란 무엇이며 어떻게 계산됩니까?

IO는 Amazon Neptune에서 SSD 기반의 가상화된 스토리지 계층에 대해 수행되는 입력/출력 작업입니다. 모든 데이터베이스 페이지 읽기 작업은 1건의 IO로 계산됩니다. Amazon Neptune은 버퍼 캐시에 없는 페이지를 가져오기 위해 스토리지 계층에 대한 읽기를 실행합니다. Amazon Neptune에서 각 페이지는 16KB입니다.
Amazon Neptune은 비용을 절감하고 읽기/쓰기 트래픽을 위해 사용할 수 있는 리소스를 확보하기 위해 불필요한 IO 작업을 제거하도록 설계되었습니다. 쓰기 IO는 안정적인 쓰기를 위해 트랜잭션 로그 기록을 스토리지 계층으로 푸시할 때만 사용됩니다. 쓰기 IO는 4KB 유닛별로 계산됩니다. 예를 들어, 1,024바이트 크기의 트랜잭션 로그 기록은 1건의 IO 작업으로 계산됩니다. 하지만 트랜잭션 로그 크기가 4KB 미만인 동시 쓰기 작업은 I/O 사용을 최적화하도록 Amazon Neptune 데이터베이스 엔진에서 일괄 처리할 수 있습니다. 기존 데이터베이스 엔진과는 달리 Amazon Neptune은 변경된 데이터베이스 페이지를 스토리지 계층으로 푸시하지 않으므로 IO 사용을 좀 더 줄일 수 있습니다.

하드웨어 및 조정

Q: Amazon Neptune 데이터베이스의 최소 및 최대 스토리지 한도는 어떻게 됩니까?

최소 스토리지는 10GB입니다. 데이터베이스 사용에 따라 Amazon Neptune 스토리지는 데이터베이스 성능에 영향을 미치지 않고 최대 64TB까지 10GB 단위로 자동으로 늘어납니다. 스토리지를 미리 프로비저닝할 필요가 없습니다.

Q: Amazon Neptune DB 인스턴스와 관련된 컴퓨팅 리소스를 확장하려면 어떻게 해야 합니까?

AWS Management Console에서 원하는 DB 인스턴스를 선택하고 [Modify] 버튼을 클릭하면 DB 인스턴스에 할당된 컴퓨팅 리소스를 확장할 수 있습니다. 메모리와 CPU 리소스를 수정하려면 DB 인스턴스 클래스를 변경합니다.
DB 인스턴스 클래스를 수정하면 지정한 유지 관리 기간에 요청한 변경 사항이 적용됩니다. 또는 'Apply Immediately' 플래그를 사용하면 조정 요청을 즉시 적용할 수 있습니다. 이 두 옵션을 사용하면 조정 작업이 수행되는 몇 분 동안 가용성에 영향을 미칩니다. 처리되지 않은 다른 시스템 변경 내용도 함께 적용됩니다.

백업 및 복원

Q: 내 DB 인스턴스에 대해 백업을 활성화하려면 어떻게 해야 합니까?

Amazon Neptune DB 인스턴스에는 자동화된 백업이 항상 활성화되어 있습니다. 백업은 데이터베이스 성능에 영향을 미치지 않습니다.

 

Q: DB 스냅샷을 만들고 원하는 동안 보관할 수 있습니까?

예. 그리고 스냅샷을 만드는 동안 성능에 영향을 미치지 않습니다. DB 스냅샷으로 데이터를 복원하려면 새 DB 인스턴스를 만들어야 합니다.

Q: 데이터베이스에 오류가 발생하면 어떻게 복구됩니까?

Amazon Neptune은 자동으로 3개의 가용 영역에 6개의 데이터 사본을 유지 관리하고 데이터가 손실되지 않은 정상 가용 영역의 데이터베이스를 자동 복구합니다. Amazon Neptune 스토리지 내에서 데이터를 사용할 수 없는 상황이 예기치 않게 발생하면 DB 스냅샷으로 복원하거나 새 인스턴스에 특정 시점으로 복원 작업을 수행할 수 있습니다. 특정 시점으로 복원하는 작업에 대해 복원 가능한 최근 시간은 최대 5분 전일 수 있습니다.

Q: DB 인스턴스를 삭제하면 자동화된 백업과 DB 스냅샷은 어떻게 됩니까?

DB 인스턴스를 삭제할 때 최종 DB 스냅샷을 만들 수 있습니다. DB 스냅샷을 만들면 이를 사용하여 삭제된 DB 인스턴스를 나중에 복원할 수 있습니다. Amazon Neptune은 이 최종 사용자 생성 DB 스냅샷을 DB 인스턴스 삭제 후에 수동으로 생성한 모든 다른 DB 스냅샷과 함께 보관합니다. DB 인스턴스가 삭제된 후에는 DB 스냅샷만 보관됩니다. 예를 들어, 특정 시점으로 복원하기 위해 생성한 자동화된 백업은 유지되지 않습니다.

Q: 내 스냅샷을 다른 AWS 계정과 공유할 수 있습니까?

예. Neptune은 데이터베이스 스냅샷을 생성할 수 있는 기능을 제공하며, 이 스냅샷은 나중에 데이터베이스를 복원하는 데 사용할 수 있습니다. 다른 AWS 계정과 스냅샷을 공유할 수 있으며, 수신 계정의 소유자는 사용자의 스냅샷을 사용하여 사용자의 데이터가 포함된 DB를 복원할 수 있습니다. 스냅샷을 퍼블릭으로 설정할 수도 있습니다. 즉, 누구나 사용자의 (퍼블릭) 데이터가 포함된 DB를 복원할 수 있습니다. 이 기능을 사용하면 AWS 계정이 서로 다른 다양한 환경(프로덕션, 개발/테스트, 스테이징 등) 간에 데이터를 공유할 수 있고, 기본 AWS 계정이 손상될 경우에 대비하여 별도의 계정에 모든 데이터 백업을 안전하게 유지할 수 있습니다.

Q: 공유된 스냅샷에도 요금이 부과됩니까?

계정 간에 스냅샷을 공유하는 데는 비용이 부과되지 않습니다. 하지만 스냅샷 자체와 공유된 스냅샷에서 복원한 데이터베이스에는 비용이 부과될 수 있습니다. Amazon Neptune 요금에 대해 자세히 알아보기.

Q: 스냅샷을 자동으로 공유할 수 있습니까?

자동 DB 스냅샷 공유 기능은 지원하지 않습니다. 자동 스냅샷을 공유하려면 수동으로 스냅샷 복사본을 생성한 다음, 해당 복사본을 공유해야 합니다.

Q: 스냅샷은 몇 개의 계정과 공유할 수 있습니까?

수동 스냅샷은 최대 20개의 AWS 계정 ID와 공유할 수 있습니다. 20개가 넘는 계정과 스냅샷을 공유하려는 경우, 스냅샷을 퍼블릭으로 설정하거나 고객 지원부에 한도 증가를 요청할 수 있습니다.

Q: 어느 리전에서 Amazon Neptune 스냅샷을 공유할 수 있습니까?

Amazon Neptune을 사용할 수 있는 모든 AWS 리전에서 Neptune 스냅샷을 공유할 수 있습니다.

Q: Amazon Neptune 스냅샷을 다른 리전과 공유할 수 있습니까?

아니요. Amazon Neptune 스냅샷은 이를 공유하는 계정과 같은 리전에 있는 계정에서만 액세스할 수 있습니다.

Q: 암호화된 Amazon Neptune 스냅샷을 공유할 수 있습니까?

예. 암호화된 Amazon Neptune 스냅샷을 공유할 수 있습니다.

Q: Amazon Neptune 외부에서 서비스 스냅샷을 사용할 수 있습니까?

아니요. Amazon Neptune 스냅샷은 서비스 내부에서만 사용할 수 있습니다.

고가용성 및 복제

Q: Amazon Neptune은 디스크 장애에 대한 데이터베이스 내결함성을 어떻게 향상합니까?

Amazon Neptune은 데이터베이스 볼륨을 10GB 세그먼트로 자동 분리하여 여러 디스크에 분산합니다. 데이터베이스 볼륨에서 각 10GB 청크가 3개의 가용 영역에 6가지 방법으로 복제됩니다. Amazon Neptune은 데이터베이스 쓰기 가용성에 영향을 주지 않고 최대 2개의 데이터 사본 손실을 처리하고 읽기 가용성에 영향을 주지 않고 최대 3개의 사본 손실을 투명하게 처리하도록 설계되었습니다. 또한 Amazon Neptune 스토리지에는 자가 치유 기능이 있습니다. 데이터 블록과 디스크에 오류가 있는지 계속 스캔하고 오류가 있는 경우 자동으로 복구됩니다.

 

Q: Amazon Neptune은 데이터베이스 오류 발생 후의 복구 시간을 어떻게 향상합니까?

다른 데이터베이스와 달리, 데이터베이스 오류가 발생한 후 Amazon Neptune은 데이터베이스를 작업에 사용하기 전에 마지막 데이터베이스 검사점의 재실행 로그를 리플레이하여(대개 5분) 모든 변경 사항이 적용되었는지 확인할 필요가 없습니다. 따라서 대부분의 경우 데이터베이스 재시작 시간이 60초 미만으로 줄어듭니다. Amazon Neptune은 데이터베이스 프로세스에서 버퍼 캐시를 이동시켜 재시작 즉시 사용할 수 있도록 합니다. 이렇게 하면 캐시가 다시 채워질 때까지는 액세스를 제한할 필요가 없어 중단이 방지됩니다.

Q: Neptune은 어떤 종류의 복제본을 지원합니까?

Amazon Neptune은 기본 인스턴스와 동일한 기본 볼륨을 공유하는 읽기 전용 복제본을 지원합니다. 기본 인스턴스에서 수행한 업데이트는 모든 Amazon Neptune Replicas에 표시됩니다.

기능                                                Amazon Neptune 복제본

복제본 수                                            최대 15개

복제본 유형                                  비동기(밀리초)

기본에 대한 성능 영향                         낮음

장애 조치 대상으로 작동                                  예(데이터 손실 없음)

자동 장애 조치                                              예

 

Q: Amazon Neptune은 교차 리전 복제를 지원합니까?

아니요, Amazon Neptune은 교차 리전 복제를 지원하지 않습니다.

Q: 장애 조치 대상인 특정 복제본에 다른 복제본보다 높은 우선순위를 지정할 수 있습니까?

A: 예 클러스터의 각 인스턴스에 승격 우선순위 티어를 지정할 수 있습니다. 기본 인스턴스에 장애가 발생하면, Amazon Neptune은 우선순위가 가장 높은 복제본을 기본 인스턴스로 승격시킵니다. 같은 우선순위 티어에 있는 2개 이상의 복제본 간에 경합이 있는 경우, Amazon Neptune은 기본 인스턴스와 같은 크기의 복제본을 승격시킵니다.

Q: 인스턴스에 대한 우선순위 티어를 생성한 후에 이를 변경할 수 있습니까?

언제든 인스턴스에 대한 우선순위 티어를 변경할 수 있습니다. 우선순위 티어를 변경하는 것만으로 장애 조치가 트리거되지는 않습니다.

Q: 특정 복제본이 기본 인스턴스로 승격되는 것을 방지할 수 있습니까?

기본 인스턴스로 승격되기를 원하지 않는 복제본에 낮은 우선순위 티어를 지정할 수 있습니다. 하지만 클러스터에서 우선순위가 더 높은 복제본이 비정상이거나 어떤 이유로 사용할 수 없는 경우, Amazon RDS가 우선순위가 낮은 복제본을 승격시키게 됩니다.

Q: 단일 Amazon Neptune 데이터베이스의 가용성을 향상하려면 어떻게 해야 합니까?

Amazon Neptune Replicas를 추가할 수 있습니다. Amazon Neptune Replicas는 기본 인스턴스와 동일한 기본 스토리지를 공유합니다. 모든 Amazon Neptune Replica는 데이터 손실 없이 승격되어 기본 복제본이 될 수 있으므로 기본 DB 인스턴스에 장애가 발생하는 경우 내결함성 향상에 사용될 수 있습니다. 데이터베이스 가용성을 높이려면 3개 가용 영역에 1~15개의 복제본을 만들면 됩니다. 그러면 데이터베이스가 중단되는 경우 Amazon Neptune이 자동으로 이러한 복제본을 장애 조치 기본 선택에 포함합니다.

Q: 장애 조치 진행 시 어떤 일이 발생하며 얼마나 오래 걸립니까?

Amazon Neptune이 자동으로 장애 조치를 처리하므로 관리자가 개입하지 않아도 애플리케이션이 최대한 신속하게 데이터베이스 작업을 재개할 수 있습니다.

  • Amazon Neptune Replica가 동일한 가용 영역 또는 다른 가용 영역에 있는 경우, 장애 조치가 진행될 때 Amazon Neptune에서 DB 기본 엔드포인트의 CNAME(정식 이름 레코드)이 정상적인 복제본을 가리키도록 변경하며, 해당 복제본은 승격되어 새로운 기본 복제본이 됩니다. 일반적으로 장애 조치는 처음부터 끝까지 30초 이내에 완료됩니다. 또한 읽기 전용 복제본 엔드포인트에서는 장애 조치 중 CNAME 업데이트가 필요하지 않습니다.
  • Amazon Neptune Replica(예: 단일 인스턴스)가 없는 경우 Neptune은 먼저 원래 인스턴스와 동일한 가용 영역에 새 DB 인스턴스를 만들려고 시도합니다. 새 DB 인스턴스를 생성할 수 없는 경우, Neptune은 다른 가용 영역에 새로운 DB 인스턴스를 만들려고 시도합니다. 장애 조치 전 과정은 일반적으로 15분 이내에 완료됩니다.

데이터베이스 연결이 끊어지는 경우 애플리케이션에서 요청을 다시 시도해야 합니다.

Q: 기본 데이터베이스가 있고 Amazon Neptune Replica에서 읽기 트래픽을 활발하게 처리하는 동안 장애 조치가 발생하면 어떻게 됩니까?

Amazon Neptune은 기본 인스턴스의 문제를 자동 감지하고 Amazon Neptune Replica로 읽기/쓰기 트래픽을 라우팅하기 시작합니다. 평균적으로 이러한 장애 조치는 30초 이내에 완료됩니다. 또한 Amazon Neptune Replicas에서 제공하던 읽기 트래픽이 잠시 중단됩니다.

Q: 기본 인스턴스에서 내 복제본까지 지연이 얼마나 발생합니까?

Amazon Neptune Replicas는 기본 인스턴스와 동일한 데이터 볼륨을 공유하므로 사실상 복제 지연이 없습니다. 일반적인 지연 시간은 10밀리초 이내입니다.

 

보안

Q: Amazon Virtual Private Cloud(VPC)에서 Amazon Neptune을 사용할 수 있습니까?

예, 모든 Amazon Neptune DB 인스턴스는 VPC에 생성되어야 합니다. Amazon VPC를 이용하면 사용자의 데이터 센터에서 운영하는 기존 네트워크와 매우 유사한 가상 네트워크 토폴로지를 정의할 수 있습니다. 이를 통해 Amazon Neptune 데이터베이스에 액세스할 수 있는 사용자를 완전히 제어할 수 있습니다.

 

Q: Amazon Neptune은 저장 중 데이터 암호화를 지원합니까?

이제 Amazon Neptune을 사용하면 사용자가 AWS Key Management Service(KMS)를 통해 관리하는 키를 사용해 데이터베이스를 암호화할 수 있습니다. Amazon Neptune 암호화를 실행 중인 데이터베이스 인스턴스에서는 같은 클러스터에 있는 자동 백업, 스냅샷 및 복제본과 마찬가지로 기본 스토리지에 저장된 데이터가 암호화됩니다. 암호화와 복호화는 원활하게 처리됩니다. Amazon Neptune과 KMS 사용에 관한 자세한 내용은 Amazon Neptune 사용 설명서를 참조하십시오.

Q: 암호화되지 않은 기존 데이터베이스를 암호화할 수 있습니까?

현재 암호화되지 않은 기존 Neptune 인스턴스를 암호화하는 기능은 지원되지 않습니다. 암호화되지 않은 기존 데이터베이스에 Amazon Neptune 암호화를 사용하려면 암호화를 활성화한 상태에서 새로운 DB 인스턴스를 생성하고, 데이터를 이 인스턴스로 마이그레이션합니다.

Q: 내 Amazon Neptune 데이터베이스에는 어떻게 액세스합니까?

VPC 내에서 데이터베이스를 만들 때 입력한 HTTP 포트를 통해 Amazon Neptune 데이터베이스에 액세스해야 합니다. 이는 데이터에 대한 추가적인 보안 계층을 제공하기 위한 것입니다. Amazon Neptune 데이터베이스를 연결하는 방법에 대한 단계별 지침은 Amazon Neptune 사용 설명서에 나와 있습니다.

Amazon Neptune 요금에 대해 자세히 알아보기

요금 페이지로 이동하기
시작할 준비가 되셨습니까?
Amazon Neptune 시작하기
질문이 있으십니까?
문의하기