どういうわけかAWS SDKを介して「スナップショット ログ」をリクエストすることは可能ですか?
AWS コンソールから実行できます。
Amazon フォーラムにクロス投稿しました。
ログ スナップショットの要求は、3 ステップのプロセスです。まず、環境情報リクエストを行う必要があります。
elasticBeanstalk.requestEnvironmentInfo(
new RequestEnvironmentInfoRequest()
.withEnvironmentName(envionmentName)
.withInfoType("tail"));
次に、環境情報を取得する必要があります。
final List<EnvironmentInfoDescription> envInfos =
elasticBeanstalk.retrieveEnvironmentInfo(
new RetrieveEnvironmentInfoRequest()
.withEnvironmentName(environmentName)
.withInfoType("tail")).getEnvironmentInfo();
これは、EC2 インスタンス ID と、ログ スナップショットを含む S3 オブジェクトへの URL を含む、環境情報の説明のリストを返します。次に、次の方法でログを取得できます。
DefaultHttpClient client = new DefaultHttpClient();
DefaultHttpRequestRetryHandler retryhandler =
new DefaultHttpRequestRetryHandler(3, true);
client.setHttpRequestRetryHandler(retryhandler);
for (EnvironmentInfoDescription environmentInfoDescription : envInfos) {
System.out.println(environmentInfoDescription.getEc2InstanceId());
HttpGet rq = new HttpGet(environmentInfoDescription.getMessage());
try {
HttpResponse response = client.execute(rq);
InputStream content = response.getEntity().getContent();
System.out.println(IOUtils.toString(content));
} catch ( Exception e ) {
System.out.println("Exception fetching " +
environmentInfoDescription.getMessage());
}
}
これが役立つことを願っています!