[server] Amazon EC2 인스턴스 간 통신에 대한 모범 사례는 무엇입니까?

다가오는 프로젝트를 위해 Amazon EC2 인스턴스를 설정했습니다. 그것들은 모두 우분투 서버 64 비트를 실행하는 마이크로 인스턴스입니다. 지금까지 설정 한 내용은 다음과 같습니다.

  • 웹 서버 -Apache
  • 데이터베이스 서버 -MySQL
  • 개발 서버 -Apache & MySQL
  • 파일 서버 -SVN 및 Bacula (S3 버킷으로 백업이 수행됨)

현재 웹 서버는 하나 뿐이지 만 더 많은 서버가있을 것입니다.

첫 번째 질문은 Amazon EC2 인스턴스가 서로 통신하는 가장 안전한 가장 좋은 방법은 무엇입니까? 현재 SSH를 사용하고 있습니다. 이것이 최선의 방법입니까?

Amazon에 따르면 탄력적 IP 주소를 사용하여 자신간에 통신하는 인스턴스에는 데이터 전송 요금이 부과됩니다. 그러나 프라이빗 IP 주소를 사용하여 통신하는 인스턴스는 무료로 할 수 있습니다. 불행하게도, 인스턴스가 중지되었다가 다시 시작되면 프라이빗 IP가 변경되는 것으로 보입니다.

두 번째 질문입니다. 정적이 아닌 경우 Amazon 인스턴스의 프라이빗 IP를 어떻게 사용합니까?

인스턴스가 중지되고 자주 시작되지는 않지만 IP 주소가 다양한 구성 파일에 있으면 인스턴스를 모두 변경하고 변경 해야하는 것이 고통 스럽습니다.

데이터베이스 서버와 파일 서버에 액세스해야하는 웹 서버와 백업을 수행 할 때 모든 인스턴스에 액세스해야하는 웹 서버가 주로 중요합니다.

참고 : 나는 이전에 Bacula를 사용한 적이 없으며 아직 설정하지 않았지만 백업하기 위해 클라이언트의 IP 주소가 필요하다고 가정합니다.



답변

EC2 내에서도 탄력적 IP 주소를 사용하는 방법을 설명하는 Eric Hammond의 기사를 확인하십시오. EC2 내에서 이름으로 탄력적 IP 주소를 확인하면 개인 IP 주소가 반환되므로이 방법으로 대역폭이 청구되지 않습니다.

http://alestic.com/2009/06/ec2-elastic-ip-internal

더 많은 옵션을 위해 몇 가지 대안을 검토하는 기사가 있습니다.

http://shlomoswidler.com/2010/06/track-changes-to-your-dynamic-cloud-services-automatically.html


답변

EC2 인스턴스를 AWS VPC (Virtual Private Cloud)에 배포하십시오. VPC를 구성 할 때 CIPC를 VPC의 모든 EC2 인스턴스에 할당하면 내부 IP가 고정됩니다.


답변

  • 가장 안전한 통신 방법

SSH는 다른 서버간에 데이터를 전송하는 데 매우 유용한 방법이지만 영구적 인 연결 (예 : 데이터베이스)과 같은 것을 찾고 있다면 다음과 같은 암호화 된 터널링 소프트웨어를 사용할 수 있습니다. stunnel

  • 비 정적 개인 IP

정적 프라이빗 IP를 가질 수있는 방법이 없기 때문에이를 위해 일종의 자동 서버 배포를 사용할 수 있습니다. mcollective, capistrano 또는 func와 같은 여러 도구가있어 새 인스턴스를 중앙 지정 서버에 등록하고 여러 서버에서 작업을 생성 할 수 있습니다 그것에 기초한 기계


답변