2009-03-15 2 views
12

AWS로 처음 실험을 보냈습니다. EC2 인스턴스가 실행 중이고 MySQL 데이터베이스를 유지하기 위해 Elastic Block Store (EBS)를 탑재했습니다.데이터베이스와 웹 사이트 파일을 저장하는 EBS

내 웹 응용 프로그램 파일을 EBS에 저장하는 것이 좋습니까? 아니면 일반 EC2 파일 시스템에 배포해야합니까?

+0

아무도 나 외에는 요구 사항을 알지 못합니다. 어쩌면 당신은 elborate해야합니다 ... –

+0

그것은 완벽하게 합법적 인 질문이기 때문에 백업을 선택했습니다. –

+0

케빈 피터슨 (Kevin Peterson)은 그의 대답에서 지적했듯이 배포 된 코드 또는 데이터 파일을 의미하는지 여부는 매우 적절합니다. – Jonik

답변

7

웹 응용 프로그램 파일을 말할 때, 나는 당신이 무엇을 언급하고 있는지 확실하지 않습니다.

배포 된 코드를 언급하는 경우 EBS를 사용하는 것이 적절하지 않을 수 있습니다. 당신이하고 싶은 일은 전제 조건을 가진 AMI를 만든 다음, 그 AMI의 인스턴스를 만들고 최신 코드를 배포하는 스크립트를 가지고 있어야합니다. 수동으로 어딘가에 변경해야하는 설정을 잊어 버리기 쉽기 때문에이 프로세스를 자동화하고 테스트하는 것이 좋습니다.

실행중인 응용 프로그램에서 수정 한 데이터 파일을 저장하는 경우 EBS가 적합 할 수 있습니다. 이것이 사용자가 업로드 한 이미지 또는 이와 유사한 것이라면, S3는 훨씬 간단한 모델을 제공 할 것입니다.

EBS는 데이터베이스, lucene 인덱스, 파일 기반 CMS, SVN 리포지토리 또는 그와 비슷한 모든 것에 적합합니다.

+1

+1, 여기가 가장 명확한 답변입니다.OP가 EBS의 속도 대 인스턴스 저장소에 대해 궁금해하는 경우에도 다음을 확인해야합니다. http://serverfault.com/questions/111594/which-is-faster-for-read-access-on-ec2-local -drive-or-ebs – Jonik

2

EBS는 영구 저장소를 제공하므로 EC2 인스턴스가 실패하더라도 파일은 여전히 ​​존재합니다. 분명히 그들의 IO 성능이 향상되었지만 확실하게 테스트 할 것입니다.

2

파일이 자주 변경되는 경우 (예 : DB처럼) S3 (또는 다른 곳)와 계속 동기화하지 않으려면 EBS를 사용하는 것이 좋습니다. 자주 변경하지 않고 필요에 따라 파일을 수동으로 (또는 스크립팅하여) 동기화 한 다음 S3에 저장하십시오. 어떤 이유로 든 종료하거나 인스턴스를 잃는 경우 새 인스턴스를 시작할 때 인스턴스를 끌어 올 수 있습니다. 이것은 또한 비용에 신경 쓰고 있다고 가정합니다. 비용이 문제가되지 않는다면, EBS 사용은 덜 복잡합니다. DB와 웹 파일에 대해 별도의 EBS를 사용할 계획이 있는지 확실하지 않지만 한 EBS 만 갖고 웹 파일 용으로 충분한 빈 공간이있는 경우 EBS가 적습니다. 복잡한. 성능면에서 언급했듯이 특정 앱을 테스트하는 것이 가장 좋습니다.

1

우리의 접근 방식은 소스 컨트롤에서 코드의 최신 버전과 가장 최신 버전을 가져 오는 AMI에 사전 배포 된 스크립트를 사용하는 것입니다. 따라서 새로운 인스턴스를 신속하게 실행하거나 실행중인 인스턴스를 모두 업데이트하는 것이 매우 간단합니다 (한 번에 하나씩로드 균형 조정 순환을 해제하고 스크립트를 실행 한 다음 순환 게재에 다시 적용).

UPDATE :

당신은 인스턴스 저장소에 백업 인스턴스에 대한 별도의 EBS 볼륨을 장착하는 것처럼 보이는 행간 읽기. AWS는 최근 EBS 기반 인스턴스를 도입하여 기존 인스턴스 저장소에 비해 많은 이점을 제공했습니다. 필자는 여전히 MySQL 데이터를 별도의 EBS 파티션에 마운트하므로 필요할 경우 다른 서버에 쉽게 마운트 할 수 있습니다.

MySQL 데이터를위한 별도의 EBS 볼륨이있는 EBS 지원 인스턴스를 강력하게 제안합니다.