2012-02-15 4 views
14

AWS EC2를 처음부터 시작 했으므로 이해가 안됩니다.Amazon AWS EC2 인스턴스를 복제하는 데 도움이 필요합니다.

내가 읽은 바로는 인스턴스는 기본적으로 가상 서버이며 AWS 콘솔에서 어떻게 든 가상 서버를 복제 할 수 있어야합니다. 그런 다음 Load Balancer 또는 Elastic IP를 사용하여 요청을 서로 라우팅하십시오.

내 인스턴스를 "복제"하려고하면 문제가 발생합니다. 나는 백만 가지를 시도했지만, 닫힌 유일한 방법은 현재 인스턴스의 AMI를 작성한 다음 인스턴스를 시작하는 것이 었습니다.하지만 그렇게했을 때 새 인스턴스는 기본적으로 기본 서버 구성이었습니다. 내 파일이 거기에 없었다.

내가 뭘 잘못하고 있니?

+1

AMI에 포함될 것으로 예상되는 파일을 어디에 저장하고 있습니까? 인스턴스 자체 또는 EBS 볼륨? – Daan

답변

2

인스턴스에서 복제하려는 이미지를 클릭 한 다음 인스턴스 동작 (상단 근처)으로 이동하여 ami를 만듭니다.

이미지의 스냅 샷을 바로 생성합니다. 그런 다음 더 많은 전력을 추가해야하는 경우 해당 ami를 시작하고 부하 분산 장치가 해당 ami 사이의 트래픽을 분산하도록 할 수 있습니다.

정말 필요한 경우가 아니라면 변경된 경우 다른 ami에 사용하려는 경우 데이터를 ami에 저장하지 않는 것이 좋습니다. 계속해서 새 스냅 샷을 가져와 새 데이터로 업데이트해야하므로 상태를 다른 곳에서 유지하는 방법을 찾아야합니다 (데이터는 모르지만 데이터베이스, s3 또는이 서버가 사용하는 다른 서버를 고려할 수 있음) 동일한 데이터를 얻기 위해 마운트 할 수 있음).

희망 하시겠습니까?

+0

감사합니다. 그렇다면 S3에서 Amazon 코드의 "Amazon EC2 인스턴스 웹 서버와 Amazon RDS 데이터베이스 인스턴스"템플릿을 사용하여 코드를 저장 한 다음 AMI에 마운트하는 것이 좋습니다. 어떻게해야할까요? 죄송합니다. 처음 AWS를 사용하면 혼란 스럽습니다. –

+1

네, 그게 내가하는 일입니다. Google s3 액세스 ___ (여기에 프로그래밍 언어 삽입)를 사용하면 여러 가지 방법으로 할 수 있습니다.이 도구를 찾을 수 있습니다. 원하지 않는 경우 다른 도구를 사용하여 s3 (프로그램 외부)과 자동으로 동기화 할 수 있습니다. 개인적으로, 저는 s3을 사용하지 않고 있습니다. 앱을 시작할 때마다 github을 사용하여 새로운 코드를 가져옵니다. – Lostsoul

+0

정말 혼란 스럽 습니다만, 마이크로 인스턴스 (싼 값이지만 싼 가격)와 실험으로 시작하는 것이 좋습니다. 무엇인가 엉망으로 만든다면 항상 인스턴스를 종료하고 다시 시작할 수 있다는 것을 기억하십시오. – Lostsoul

11

인스턴스를 실제로 "복제"하지 마십시오. 당신은 그것을 "청사진"으로 더 많이 복사합니다. 그런 다음 인스턴스를 나중에 부팅하면 스냅 샷 또는 "청사진"에서 해당 인스턴스를 기반으로 할 수 있습니다.

ELB는 원하는 모든 인스턴스를 가리 키도록 구성 할 수 있으므로이 스냅 샷/"청사진"에서 새 서버를 부팅하면 자동으로 ELB에 추가 될 수 있습니다.

  1. 내가 EBS는 인스턴스를 백업 사용해야합니다 것입니다 :

    이제이 정리되어

    는 질문에 대답합니다. 당신은 그 모든 것을 찾을 수 있습니다. 그러나 S3는지지하지 않았다. EBS가 지원한다면 모든 구성이있는 정확한 볼륨이있을 것입니다.

  2. 인스턴스가 구성되어 있는지 확인하고 부팅 할 때 적절한 스크립트가 설치되어 있는지 확인합니다. 당신은 서비스를 시작하고, 설정 파일을 리파지토리에서 가져오고 싶을 것입니다. 설정 파일은 거기에 있어야합니다. 그러나 나는 그것에 의존하지 않을 것입니다. 저장소에 저장 한 다음 시작 스크립트를 만들어 원하는 위치로 복사하면 더 나은 모양이됩니다. 인스턴스가 실행하고 선택으로

  3. , 드롭 다운 인스턴스 작업을 클릭하고

  4. 인스턴스가 재부팅됩니다 "AMI 만들기"를 클릭합니다. 그러니 조심해.

  5. 새 인스턴스를 실행하십시오. # 3에서 만든 AMI/스냅 샷을 선택하십시오.

  6. 완료. 위의 사항을 도울 수있는 https://stackoverflow.com/a/8919031/667608을 확인하십시오.

아, 다른 EBS 볼륨이 연결되어있는 경우에도이 볼륨이 복사되지만 서버가 부팅되면 마운트해야합니다.

+0

step4에서 재부팅 할 때 어떤 문제가 발생할 수 있습니까? –

+2

프로덕션 환경에서 인스턴스를 사용하고있는 경우 Amazon이 재부팅하지 않을 수도 있지만 볼륨이 손상되지 않는다고 보장하지는 않습니다. 재부팅 할 때 디스크에 쓰는 프로세스가 많지 않다는 것을 알고있는 경우에만이 옵션을 사용합니다. – chantheman

+1

재부팅 중에 실행중인 내용이 모두 실행되지 않습니다. – chantheman

0

EBS 백업 인스턴스를 사용하여 웹 서버 AMI를 만듭니다. 나중에 여러 웹 서버 인스턴스를 실행하기위한 템플릿으로 사용됩니다.

앱 코드의 경우 전략 및 전송할 파일의 양에 따라 S3 또는 git에서 가져 오거나 NFS와 같은 중앙 파일 시스템을 사용하여 앱 코드를 가져올 수 있습니다.

ELB를 구성하고 하나 이상의 웹 서버 인스턴스를 추가합니다. ELB의 공개 DNS를 www.domain.com으로 CNAME하십시오.

관련 문제