私は、spring-cloud-netflix eurekaサーバーをawsに展開するための適切な方法についてガイダンスを探しているインターネットを精査しています。私たちは、スプリングクラウドとnodejの両方を使ったマイクロサービスにドッカーをかなり使用していました。そのため、私はスプリングブートのスプリングクラウドユーレカアプリをECSに導入しようとしていました。春のクラウドのドキュメントには非常に限られた情報しかありませんが、ここではかなり有用な情報が見つかりました:https://www.slideshare.net/ToddMiller34/spring-cloud-into-production。これに基づき、私は現在、次のようにありますspring-cloud-netflix eureka aws deployment
の
@Bean
@Autowired
@Profile("aws")
public EurekaInstanceConfigBean eurekaInstanceConfigBean(InetUtils inetUtils) {
EurekaInstanceConfigBean config = new EurekaInstanceConfigBean(inetUtils);
AmazonInfo info = AmazonInfo.Builder.newBuilder().autoBuild("eureka");
config.setHostname(info.get(AmazonInfo.MetaDataKey.publicHostname));
config.setIpAddress(info.get(AmazonInfo.MetaDataKey.publicIpv4));
config.setDataCenterInfo(info);
return config;
}
関連部分を持つ標準のスプリング・クラウド・スターター・ユーレカ・サーバー(春・クラウドCamden.SR5、春ブート1.5.1)クラウドコンフィグレポからの設定:脇
eureka:
instance:
non-secure-port: ${server.port}
environment: test
client:
eurekaServerDNSName: test.mydomain.com
datacenter: cloud
client:
region: us-west-2
registerWithEureka: true
fetchRegistry: true
eurekaServerURLContext: eureka
eurekaServerPort: 8761
useDnsForFetchingServiceUrls: true
:私はeureka.client.regionが必要だったことに驚きましたが、それなしでDNSサービスURLのフェッチtxt.us-東-1をする...デフォルトで行きました。
route53のTXTレコードは、プライベートホストされたゾーンで:
txt.us-west-2.test.mydomain.com = "us-west-2a.test.mydomain.com" "us-west-2b.test.mydomain.com"
txt.us-west-2a.test.mydomain.com = "ec2-123-456-789-123.us-west-2.compute.amazonaws.com"
txt.us-west-2b.test.mydomain.com = "ec2-987-654-321-123.us-west-2.compute.amazonaws.com"
私はいくつかのeureka.server.bindingStrategyが「route53」に設定されていたが、これは動作しませんが(私に見つけることができないというエラーになりますRoute53Binder行135からのローカルホストのフリードメイン)。
私はec2コンテナインスタンスからec2 - ###ホスト名を取得しましたが、動作しているようですが、コンテナインスタンスが再起動されるたびにこれらのホスト名が変更される可能性が非常に高いです。私はroute53バインディングについて読んだことがありますが、DNSからサービスURLを取得することと互換性がないようで、netflix自身でもうまくサポートされていないようです(netflixエンジニアによるバグコメントを読んでいますコミュニティから寄付されたコード、そしてnetflixでそれを使用していないことなど)。私はEIPバインディングについても読んだことがありますが、ECSでどのように使用するかはわかりません。私はeurekaサーバーを持っているのと同じくらい多くのEIPを作成し、route53のtxtレコードに入れて、ユーレカが自動的に関連付けますか?これはすべてドキュメントに欠けているようです。
あなたは全体的なデザインに関するさらに詳しい情報を提供できますか?私は最初のSpring CloudアプリケーションをECSで動かすのに少し問題があります。git repoの例はとても役に立ちます... –