분류 전체보기 (345) 썸네일형 리스트형 DB Replication - 온라인 DB 복제 ㅁ 풀어야 할 문제 시스템에서 중요한 데이터를 보호하는 기본적인 방법은 데이터 베이스에 저장하는 것이다. 하지만 센터의 대규모 재해 발생 시에 대한 대응 방안을 고려해야 한다. ㅁ 해결/패턴 지리적 위치 간의 레플리케이션 패턴, 이 패턴을 통해 데이터 분실을 방지하고 데이터 액세스의 가용성을 확보한다. 클라우드 이전부터 있던 패턴이지만, 클라우드를 이용하면 저 비용으로 여러 지역을 이용할 수 있어 현실적인 대안이 되고 있다. ㅁ 구현 AWS에는 Region, AZ 이라는 개념이 있다. Region이 더 큰 개념으로 서울 지역에 복수의 가용존이 있는 식이다. 이 점을 고려하면 다른 데이터 센터에 문제 없이 EC2를 배치할 수 있고, 데이터베이스의 레플리케이션을 할 수 있다. 가용존 간의 리플리케이션은 RD.. Direct Object Upload - 업로드 절차 간소화 ㅁ 풀어야 할 문제 - 사진이나 동영상 공유 사이트에서 여러 사용자로부터 크기가 큰 데이터가 업로드 됨 - 업로드 처리는 서버 쪽의 부하(특히, 네트워크 부하)가 높아져 어느 정도 규모의 사이트에서도 업로드 전용 가상 서버가 필요한 경우가 있음 ㅁ 해결/패턴 - 업로드를 인터넷 스토리지로 처리, 즉 클라이언트에서 가상 서버를 통하지 않고 인터넷 스토리지에 직접 업로드 함. - 위처럼 처리 시 업로드 처리의 부하를 고려하지 않아도 가능 ㅁ 구현 - 웹 서버(EC2)에 S3로 업로드하는 HTML의 폼을 만듦 - 업로드 폼을 이용해 사용자 쪽에서 S3로 직접 파일을 업로드 함 - S3로 파일 전송 완료 후 폼에 지정해둔 URL로 리다이렉트 되어지므로 리다이렉트 서버에서 업로드 종료 확인 처리가 이루어짐 ㅁ 장.. Storage Index - 인터넷 스토리지 검색 효율화 ㅁ 풀어야 할 문제 인터넷 스토리지는 데이터가 분산 배치되어 있어 안전성과 가용성이 높으나 인터넷을 통해 액세스하기 때문에 자체 시스템과 비교하면 일반적으로 응답 성능은 낮다. 또 고속의 검색기능은 제공하지 않는 경우가 있기 때문에 특정 사용자의 데이터 리스트를 가지고 온다거나 어떤 기간 내의 데이터를 가지고 오려고 할 때 애플리케이션 쪽에서 처리해야 할 필요가 있다. ㅁ 해결/패턴 인터넷 스토리지에 데이터를 저장할 때는 저장과 동시에 검색 성능이 높은 KVS(SimpleDB)에 메타정보를 저장하고 그 정보를 인덱스로 사용 검색 시 KVS를 이용하여 얻은 결과를 기반으로 인터넷 스토리지에 액세스 함 ㅁ 구현 - S3에 데이터를 저장한 다음에 S3의 메타 정보(Keys, paths, data sizes, .. WRITE PROXY - 인터넷 스토리지로 고속 업로드 ㅁ 풀어야 할 문제 인터넷 스토리지는 일반적으로 읽기에 대한 수용 능력 및 데이터 안정성이 매우 뛰어나다. 그러나 이중화를 위해 여러 지역에 쓰기가 이루어지고 있고 HTTP 프로토콜로 클라이언트와 통신하므로 비교적 쓰기 속도가 느린 특성이 있다. 따라서, 큰 데이터를 인터넷 스토리지에 쓰는 경우 성능이 문제가 될 수 있다. ㅁ 해결/패턴 클라이언트에서 인터넷 스토리지에 직접 데이터를 전송하는 것이 아니고, 가상 서버로 데이터를 받아 그 가상 서버로부터 인터넷 스토리지로 전송함 클라이언트에서 가상 서버로의 전송은 HTTP보다 빠른 프로토콜(예를 들어, UDP 기반의 프로토콜)을 이용할 수 있다. 또, 작은 용량의 파일이 많을 경우 클라이언트 쪽에서 한번 압축하여 가상 서버로 전송 후 압출을 풀어 인터넷 스.. Service 기본 ㅁ 서비스 소개 쿠버네티스 서비스는 동일한 서비스를 제공하는 포드 그룹에 단일 진입 점을 만들기 위해 생성하는 리소스 각 서비스에는 서비스가 존재하는 동안 절대로 변경되지 않는 IP 주소와 포트가 있다. ㅁ 서비스 구조 ㅁ 내부 클라이언트와 외부 클라이언트는 모두 서비스를 통해 포드에 접속 서비스를 지원하는 포드가 하나 혹은 그 이상일 수 있다. ㅁ 라벨 셀렉터를 통해 어떤 포드가 서비스에 포함됐는지 결정 ㅁ YAML 디스크립터를 통한 서비스 생성 서비스 정의: kubia-svc.yaml apiVersion: v1 kind: Service metadata: name: kubia. spec: ports: - port: 80. targetPort: 8080. selector: app: kubia ㅁ 원격으로.. Private Cache Distribution - CDN을 이용한 프라이빗 배포 ㅁ 풀어야 할 문제 전 세계 캐시 지역을 활용한 콘텐츠 딜리버리 서비스를 이용하면, 전 세계에 있는 사용자에게 빠르게 데이터 배포 가능하다. 그러나 특정 사용자에게만 콘텐츠를 배포할 때는 사용자 인증이 필요하고 인증 구조를 만들기는 쉽지 않다. ㅁ 해결/패턴 콘텐츠 딜리버리로 제공되는 [서명을 포함한 URL 인증 기능]을 이용하는 방법이 있다. 사용자가 콘텐츠를 다운로드하기 위해 웹 사이에 액세스할 때, 미리 설정해둔 액세스 위치 IP Address, 다운로드 가능 기간, 액세스 위치의 지역 등이 맞는 경우에만 서명을 포함한 URL 인증 기능을 발급하면 된다. 보다 정확하게 특정 사용자에게 배포가 가능한다. ㅁ 구현 - 콘텐츠 딜리버리 서비스인 CloudFront의 apitool이나 AWS SDK를 준비.. Rename Distribution - 변경 지연 없는 배포 ㅁ 풀어야 할 문제 - Cache Distribution 패턴을 사용해 콘텐츠를 배포하는 경우, 마스터 서버의 파일을 변경해도 에지 서버(캐시 서버)의 데이터는 타임 아웃이 될 때까지 갱신되지 않음 - 원하는 타이밍에 파일을 갱신하려고 할 때에는 사용 불가 ㅁ 해결/패턴 - 에지 서버의 캐시 데이터는 그 쪽에 액세스하는 URL이 키가 됨 - 갱신하려고 하는 파일을 다른 파일명으로 배치하고 액세스 URL 자체를 변경하면, 에지 서버의 캐시 타임 아웃에 상관없이 새로운 콘텐츠 배포 가능 ㅁ 구현 - 콘텐츠와는 별도로 기본 콘텐츠(액세스 URL을 포함한 HTML 파일 등)를 만든다. - 기본 콘텐츠는 캐시 타임아웃을 짧게 하거나 계속 마스터 서버에서 배포 - CloudFront로 배포하는 콘텐츠를 갱신하는 경.. Cache Distribution - 사용자와 물리적으로 가까운 위치에 데이터 배치 ㅁ 풀어야 할 문제 - 컴퓨터나 모바일 장치의 보급에 따라 더 많은 사람이 더 많은 지역에서 인터넷 상의 콘텐츠에 액세스하게 됨 - 또 이미지나 동영상 데이터는 품질이 좋아져 데이터 양도 굉장히 많아지고 있음 - 사용자 경험(User Experience) 관점에서 보면, 보다 빠르고 안정적으로 데이터를 이용자에게 제공하고 싶어하지만 현재의 기술로는 어느 정도 통신 지연이 발생 - 이런 이유로 콘텐츠 배포 장소가 한 곳 밖에 없다면 사용자 경험이 나빠짐 ㅁ 해결/패턴 - 세계 각지에 있는 지역에 콘텐츠 배포 장소(origin)에서 배포되는 콘텐츠 캐시 데이터를 배치 - 이렇게 하여 지리적으로 이용자와 더 가까운 지역에서 콘텐츠를 배포하게 되고, 지리적/물리적 제약 해결 가능 - 이 패턴을 적용하면 사용자와.. 이전 1 ··· 37 38 39 40 41 42 43 44 다음