2014-06-12 5 views
0

뒤에 EC2 인스턴스에 EBS 볼륨을 연결 : 나는 ElasticBeanstalk에서 새로운 환경을 만들어 거기에 내 응용 프로그램을 추진해 왔습니다AWS 자동 내가 아키텍처 관련 문제에 직면하고 탄성 콩 줄기

. 지금까지 좋은 모든 것. 나는 auto scale up/down로 설정했다.

내 응용 프로그램은 파일 시스템 저장소에 의존하며 파일을 생성 한 다음 사용자에게 제공합니다. EBS 볼륨 (5GB 크기)을 사용하여 파일을 만든 다음 S3로 밀어 넣고 EBS에서 삭제합니다. EBS를 사용하는 이유는 EC2 인스턴스가 ephemeral filesystem이기 때문입니다.

AWS가 확장되면 새로운 인스턴스에는 EBS 볼륨이 연결되지 않습니다. EBS를 한 번에 하나의 인스턴스에 연결할 수 있기 때문입니다.

크기가 축소되면 EBS 볼륨이 연결된 인스턴스가 종료되어 완전히 엉망입니다.

/etc/fstabspecial line을 추가하면 자동으로 EBS 볼륨이 /data에 마운트되지만이 파일은 /etc/fstab에 추가하는 인스턴스에만 적용됩니다. 나는 여기에 해결책은 그 특별한 라인을 가진 맞춤형 AMI image을 만드는 것이라고 생각한다. 그러나 EBS는 한 번에 둘 이상의 인스턴스에 연결할 수 없기 때문에 막 다른 골목처럼 보입니다.

내가 잘못 생각한가요? 가능한 해결책 또는 적절한 방법이 무엇입니까?

나는 S3를 사용하는 것이 올바른 방법이 아니라고 생각합니다.

+0

각 인스턴스 당 하나의 EBS 볼륨이 있어야합니다. EB에서 이것을 어떻게 만들지 모르겠다. EC2에서 AMI를 마운트 된 EBS 볼륨으로 시작하고 자동 확장 conf를 업데이트하여이 AMI를 사용하기 만하면됩니다. –

답변

1

S3는 응용 프로그램에서 파일을 만들고, S3에 업로드하고, 로컬 파일 시스템에서 파일을 제거하고, 파일을 클라이언트에 다시 액세스하는 URL을 전달합니다. 완전히 합리적입니다. 임시 저장 영역을 사용할 수없는 이유는 무엇입니까? 인스턴스 저장소 지원 인스턴스에는 기본적으로 /mnt에 마운트 된 추가 저장 영역이 있습니다. 왜 응용 프로그램에서 파일을 만들 수 없습니까? 파일을 인스턴스 시작/중지/재부팅 사이에 유지할 필요가 없다면 EBS를 사용할 큰 이유가 없습니다 (단, 가정 한 자동 확장 인스턴스의 부팅 시간을 단축하지 않으려면).

+0

파일을 만드는 데 약 30 분이 걸립니다. 데이터베이스에서 거의 백만 개의 행을 검색하고 XML 파일을 생성합니다 (시간이 걸립니다). 파일 생성 중에 실패가 발생하면 응용 프로그램이 다시 시작되어 사용자가 더 오래 기다려야 할 것이라고 걱정됩니다. 파일 생성은 부분 (즉, 한 번에 1000 개의 행)에서 수행됩니다. –

+0

S3 기반 파일 시스템은 어떻게 사용합니까? [다음은 몇 가지 옵션 비교] (https://code.google.com/p/s3ql/wiki/other_s3_filesystems)입니다. –

+0

죄송합니다. 어떻게 도움이되는지 모르겠습니다. AWS 도구를 사용하여이 작업을 수행 할 수 있습니까? –