2012-12-12 4 views
0

프로덕션 모드에서 많은 코드를 캐시하는 아파치 웹 서버를 포함하는 다양한 EC2 인스턴스 (CentOS 64)를 실행 중입니다.많은 EC2 인스턴스에서 httpd 대량 재시작

지금 때마다 나는 그들 각각의 인스턴스 하나에 로그인하고 "SU"다음 "서비스 아파치를 다시 시작"

을 할 필요가 (일반적으로 매주) 코드를 일부 변경되어 있는지 확인 거기 방법을 자동화하여 인스턴스 중 하나에서 하나의 명령을 실행하여 다른 모든 인스턴스에 연결하여 다시 시작하도록 할 수 있습니까? 응용 프로그램이 자체적으로 약 20-30 개의 인스턴스를 생성 할 때 특히 시간이 많이 걸립니다. (트래픽이 많을 때 며칠 후에 발생합니다)

감사!

+1

인스턴스가 권한이 부여 된 SSH 키를 루트로 설정하면 각 인스턴스에 대해'ssh root @ instance service httpd restart'를 수행 할 수 있습니다. 그런 다음 모든 인스턴스를 반복적으로 스크립팅하는 것이 중요합니다. – nandhp

+0

많은 서버에서 정기적으로 할 일이 많다면 [Python Fabric] (http://docs.fabfile.org/en/1.5/) 스크립팅이 필요합니다. 셸 명령 위에 추상화 계층으로 작동하고, 사용하기 쉽고 (Python에 익숙한 경우) 매우 강력합니다. – bhell

+0

각 인스턴스에 ssh (pems 사용)를 사용할 때도 su를 수행하고 루트 pwd를 입력해야합니다. ec2 사용자는 httpd를 다시 시작할 수 없습니다. 추가 소프트웨어가 필요없는 해결책을 선호 하겠지만 제안에 감사드립니다 –

답변

0

Dancer's shell, dsh이 특별히 제공됩니다. '스크립팅'필요 없음. @ tix3에서 알 수 있듯이 sudo (/etc/sudoersvisudo으로 설정)을 구성하여 다시 시작 명령을 수락하도록 구성해야합니다.

+0

"out of the box"처럼 보이지 않는다. 각 컴퓨터에 연결하고 lib를 설치하거나 sudo를 설정해야한다. ( –

+0

아니요, ssh 키가 있어야합니다. 그런 다음 호스트를 그룹 파일에 넣고 dsh에 해당 그룹에 대한 작업을 수행하도록 지시합니다. 어떤 솔루션이든 시작하기 전에 호스트 목록을 가져와야 할 것입니다. DNS가 자동으로 채워질 것으로 기대하십시오 dsh는 엔드 포인트에서 아무 것도 필요로하지 않습니다. 그냥 ssh입니다 –

+0

sudo를 미리 설정하여 AMI를 설정할 수 있습니까? 우분투는 EC2에서 기본적으로 어떻게 사용합니까? –

관련 문제