2014-10-22 2 views
0

EC2에서 바닐라 Jboss (Wildfly-8.0.0.Final)를 설정하려고합니다. 모든 애플리케이션에이 문제가 있다고 생각합니다.AWS VPC에서 0.0.0.0에 바인딩 할 수 없습니다.

신뢰할 수있는 우분투 VM의 기본 공간에서 나는 언팩을하고 addr-any : 0.0.0.0에서 실행되도록 configureit합니다.

런타임시,이 성공적으로 인스턴스의 로컬 IP로 확인 :

15 : 26 : 43,167 INFO [org.hornetq.jms.server (ServerService의 스레드 풀 - 59) HQ121005 : 잘못된 "호스트" "http-connector"커넥터의 "0.0.0.0"값이 감지되었습니다. "ip-123-45-67-8.us-my-zone.compute.internal"로 전환합니다. 이 새 주소가 올바르지 않으면 올바른 커넥터를 사용하도록 커넥터를 수동으로 구성하십시오.

이제 VPC에서 동일한 기기의 AMI 이미지를 시작합니다. VPC는 공용 IP 및 공용 DNS로 설정됩니다. 라우팅 테이블/보안 그룹/etc는 공용 DNS를 사용하여 새 VPC 인스턴스로 ssh 연결할 수 있도록 연결되고 구성됩니다. JBoss의 킥 오프, 그리고 0.0.0.0에 연결할 수 없습니다 : 전 /etc/hosts 파일 : 127.0

16:28:47,603 WARN [org.hornetq.jms.server] (ServerService Thread Pool -- 58) HQ122017: Tried to correct invalid "host" value "0.0.0.0" for "http-connector" connector, but received an exception.: java.net.UnknownHostException: ip-123-45-67-8: ip-123-45-67-8 
    at java.net.InetAddress.getLocalHost(InetAddress.java:1473) [rt.jar:1.7.0_65] 
    at org.hornetq.jms.server.impl.JMSServerManagerImpl.correctInvalidNettyConnectorHost(JMSServerManagerImpl.java:1883) [hornetq-jms-server-2.4.1.Final.jar:] 
    at org.hornetq.jms.server.impl.JMSServerManagerImpl.internalCreateCFPOJO(JMSServerManagerImpl.java:1379) [hornetq-jms-server-2.4.1.Final.jar:] 
    at org.hornetq.jms.server.impl.JMSServerManagerImpl.internalCreateCF(JMSServerManagerImpl.java:1324) [hornetq-jms-server-2.4.1.Final.jar:] 
    at org.hornetq.jms.server.impl.JMSServerManagerImpl.access$1300(JMSServerManagerImpl.java:103) [hornetq-jms-server-2.4.1.Final.jar:] 
    at org.hornetq.jms.server.impl.JMSServerManagerImpl$5.runException(JMSServerManagerImpl.java:1187) [hornetq-jms-server-2.4.1.Final.jar:] 
    at org.hornetq.jms.server.impl.JMSServerManagerImpl.runAfterActive(JMSServerManagerImpl.java:1845) [hornetq-jms-server-2.4.1.Final.jar:] 
    at org.hornetq.jms.server.impl.JMSServerManagerImpl.createConnectionFactory(JMSServerManagerImpl.java:1173) [hornetq-jms-server-2.4.1.Final.jar:] 
    at org.jboss.as.messaging.jms.ConnectionFactoryService$1.run(ConnectionFactoryService.java:66) [wildfly-messaging-8.0.0.Final.jar:8.0.0.Final] 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_65] 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_65] 
    at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_65] 
    at org.jboss.threads.JBossThread.run(JBossThread.java:122) [jboss-threads-2.1.1.Final.jar:2.1.1.Final] 

더 - 주변의 작품은 호스트 이름을 포함하도록/etc/hosts 파일을 업데이트하는 것입니다 .0.1 로컬 호스트

후/etc/hosts 파일 : 127.0.0.1 발-에서 호스트 이름 파일의 로컬 호스트 인스턴스가 호스트 이름을 찾을 수 있지만 성공적으로 결합 할 수있는 VPC 내에서 실행에 대해 다른 무엇

그것?

+0

0.0.0.0이 유효하지 않은 이유는 무엇입니까? 그렇지 않습니다. – EJP

+0

모르겠다. 걱정하지 않았다. jboss가 인터페이스를 찾는 방법을 기록하는 것처럼 보입니다. – LizH

답변

3

이것은 VPC 구성의 문제 일 가능성이 큽니다.

DHCP 옵션 세트는 호스트를 DHCP를 통해 지정하여 정규화되지 않은 호스트 이름을 자격 부여 할 때 호스트 이름을 포함하여 지정할 때 사용되는 도메인 이름 접미사를 결정합니다. 이 구성 결과는 /etc/resolv.conf에 표시됩니다.

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) 
#  DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN 
nameserver 192.0.2.2 
search ec2.internal 

여기에서 ec2.internal은 US-East-1의 VPC에 대한 기본값입니다. 다른 지역은 형식이 다르지만 내부 호스트를 찾는 목적으로 VPC 내에 만 존재하는 도메인입니다.

VPC 내부의 인스턴스 (예 : 192.0.2.100)가 호스트 이름에서 주소를 조회하면 ip-192-0-2-100.ec2.internal을 찾습니다. VPC 구성에서 DNS ResolutionDNS Hostnames을 사용하는 경우 AWS에서 제공 한 DNS 서버에 따라 유효한 호스트 이름입니다.

는 자신의 example.com 도메인 인스턴스에 할당 한 후 호스트 이름 (다시, 예를 들어, IP-192-0-2-100)를 사용하도록 설정하여 DHCP 옵션을 구성한 경우 내부의 유효한 호스트되어야 함 도메인이므로 ip-192-0-2-100.example.com은 해결할 수있는 호스트 이름이어야하며 올바른 주소로 확인해야합니다.

http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html 인프라 구성 층이 변경 또는 해제 할 수 없기 때문은 EC2 고전에서 문제가되지 http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-dns.html

. 모든 EC2-classic 인스턴스는 AWS가 제공하는 내부 도메인 *.internal에 대해 자체 호스트 이름을 검색하고 자체 IP를 가져올 수 있습니다.

이 잘못된 구성 문제의 또 다른 증상은 sudo을 사용하고 경고 메시지 sudo: unable to resolve host ip-x-x-x-x을 볼 때입니다.

+0

분명한 답변을 주셔서 감사합니다. – LizH

+0

알았어요. DNS 호스트 이름과 DNS 확인이 활성화되었지만 DNS 트래픽이 보안 그룹에 의해 차단되었습니다. /etc/resolv.conf에 나열된 서버로 /부터 DNS 트래픽을 허용하는 규칙이 추가되었습니다. VPC 내부와 외부의 로그가 일치합니다. – LizH

관련 문제