2016-06-08 2 views
0

/etc/rc.local을 사용하여 네트워크에 종속 된 서비스를 초기화하는 것이 안전합니까?rc.local을 사용하여 네트워크 종속 서비스 시작

시작 프로세스 중에 네트워크에 대한 요청을하는 서비스를 시작하는 데 사용하고 있습니다. 때로는 서비스 시작에 실패하는 경우가 있습니다 (모든 경우가 아님). 실패하면 내가 컴퓨터 부팅이 완료된 후 수동으로 오류가없는 서비스를 초기화하려고하면,

2016-06-07T12:01:48.724+0000 W NETWORK [ReplicationExecutor] getaddrinfo("my_machine_local_dns") failed: Name or service not known

:

내가지고있어 오류입니다.

나는 어떤 경주 조건에 대해서 생각하고 있습니다. 예 : 실패하면 네트워크로드가 완료되기 전에 서비스가 시작되기 때문입니다.

나는 aws vpc에서 centos를 사용하고 있으며 문제의 서비스는 도커 컨테이너에서 실행 중입니다.

+0

CentOS가 VPC의 개인 서브넷 또는 공용 서브넷에 있습니까? – error2007s

+0

개인 서브넷. –

답변

1

인스턴스가 개인 서브넷에 있기 때문에 서비스가 시작되지 않습니다. 개인 서브넷의 인스턴스는 완전히 생성 될 때까지 인터넷에 연결되어 있지 않습니다. 인스턴스가 Private Subnet에서 완전히 생성되면 NAT 인스턴스와 통신을 시작한 다음 인터넷 연결을 시작합니다. 왜 시작시 실행할 때 실패합니까?

네트워크에 의존하는 서비스를 초기화하려면 /etc/rc.local을 사용하는 것이 안전합니까?

/usr/local /은 실제로 적절한 장소이지만/opt는 제 3 자 응용 프로그램 용입니다. "/ opt는 애드온 응용 프로그램 소프트웨어 패키지 설치를 위해 예약되어 있습니다." 최선의 관행에 따라.

+0

이 경우 인스턴스가 이미 작성되어 인스턴스 재시작 프로세스에서 오류가 발생합니다. 이것도 마찬가지입니까? 또한, 왜 이것이 때때로 발생하며 모든 시간에 발생하지 않는지를 설명합니다. –

+0

예 개인 서브넷에서 인스턴스를 다시 시작한 경우입니다. – error2007s

+0

rc.local 대신 이러한 종류의 스크립트를 넣을 수있는 좋은 곳이 어디 있는지에 대한 권장 사항은 무엇입니까? –

관련 문제