문제

나는 하루를 처음으로 AWS로 실험하는 데 보냈다. EC2 인스턴스가 실행 중이며 MySQL 데이터베이스를 유지하기 위해 EBS (Elastic Block Store)를 장착했습니다.

내 웹 애플리케이션 파일을 EBS에 넣는 것이 합리적입니까, 아니면 일반 EC2 파일 시스템에 배포해야합니까?

도움이 되었습니까?

해결책

웹 응용 프로그램 파일을 말할 때 정확히 무엇을 언급하고 있는지 잘 모르겠습니다.

배포 된 코드를 참조하는 경우 EBS를 사용하는 것은 의미가 없습니다. 당신이하고 싶은 것은 전제 조건으로 AMI를 만드는 것입니다. 그런 다음 해당 AMI의 인스턴스를 만들고 최신 코드를 배포하는 스크립트를 가지고 있습니다. 어딘가에서 수동으로 변경 해야하는 일부 설정을 잊기 쉽기 때문에이 프로세스를 자동화하고 테스트하는 것이 좋습니다.

실행중인 응용 프로그램에 의해 수정 된 데이터 파일을 저장하는 경우 EBS가 적합 할 수 있습니다. 이것이 사용자를 지원하는 이미지 또는 유사한 것과 비슷한 경우 S3가 훨씬 간단한 모델을 제공한다는 것을 알게 될 것입니다.

EBS는 데이터베이스, 루센 인덱스, 파일 기반 CMS, SVN 리포지토리 또는 그와 유사한 것에 적합합니다.

다른 팁

EBS는 지속적인 스토리지를 제공하므로 EC2 인스턴스가 실패하면 파일이 여전히 존재합니다. 분명히 그들의 성능이 증가하지만 확실하게 테스트 할 것입니다.

파일이 DB처럼 자주 변경되고 S3 (또는 다른 곳)에 계속 동기화하고 싶지 않은 경우 EBS가 좋은 방법입니다. 드물게 변경하고 필요에 따라 수동으로 (또는 스크립트) 파일을 동기화 한 다음 S3에 저장할 수 있습니다. 어떤 이유로 든 종료가 필요하거나 인스턴스를 잃어버린 경우 새 인스턴스를 시작할 때 철수 할 수 있습니다. 이것은 또한 비용에 관심이 있다고 가정합니다. 비용이 문제가되지 않으면 EBS 사용은 덜 복잡합니다. DB와 웹 파일에 대해 별도의 EBS를 계획 할 계획이 있는지 확실하지 않지만 EBS 하나만 계획하고 웹 파일에 충분한 빈 공간이있는 경우 EBS가 덜 복잡합니다. . 언급 한 바와 같이 걱정하는 성능이라면 특정 앱을 테스트하는 것이 가장 좋습니다.

우리의 접근 방식은 소스 컨트롤에서 최신 코드의 코드를 가져 오는 AMI에 미리 배치 된 스크립트를 갖는 것입니다. 따라서 새로운 인스턴스를 신속하게 시작하거나 모든 실행중인 인스턴스를 업데이트하는 것이 매우 간단합니다 (한 번에 하나씩로드 밸런싱 회전에서 나와 스크립트를 실행하여 회전에 다시 넣습니다).

업데이트:

라인 사이를 읽는 것은 별도의 EBS 볼륨을 인스턴스 스토어 백업 인스턴스에 장착하는 것처럼 보입니다. AWS는 최근 이전 인스턴스 스토어에 비해 많은 혜택이있는 EBS 백업 인스턴스를 도입했습니다. 그래도 별도의 EBS 파티션에 MySQL 데이터를 마운트하여 필요한 경우 다른 서버에 쉽게 마운트 할 수 있습니다.

MySQL 데이터에 대해 별도의 EBS 볼륨이있는 EBS 백업 인스턴스를 강력하게 제안합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top