1
私はAWS LambdaのNodeJSから作業しています。私はECSクラスタ内の特定のコンテナのIP /ホスト名を取得しようとしています。 ELBは私たちのために問題になっていないか、ただ使っています。これは、API呼び出しの非常に多く、ちょうど私が欲しいものを得るために、複雑なオブジェクトに穴を掘るたくさんのように思えるECSコンテナのIPアドレスを取得する
const AWS = require('aws-sdk');
const ecs = new AWS.ECS({region: 'us-east-1'});
const ec2 = new AWS.EC2({region: 'us-east-1'});
const CLUSTER = 'MyClusterNameHere';
function getIP() {
return ecs.listContainerInstances({ cluster: CLUSTER }).promise()
.then(data => ecs.describeContainerInstances({ containerInstances: data.containerInstanceArns, cluster: CLUSTER }).promise())
.then(data => ec2.describeInstances({ InstanceIds: [ data.containerInstances[0].ec2InstanceID ] }).promise())
.then(data => data.Reservations[0].Instances[0].PrivateDnsName);
}
getIP().then(data => console.log(data))
:
これは私が思いついたものです。私はこれを得るより速く、より強烈な方法が大好きです。
NB:散発的に
私はこの質問がラムダに関係するとは思わない。 Lambdaはこれに追加のツールを提供しておらず、通常のAWS SDKソリューションをブロックしてはいけません。しかし、文脈を特定することに害はない。 –
あなたはそうです。私はそれをタグを解除します。私はそれがコールをするための私の出発点として適切かもしれないので、それだけを言及した。 – Raychaser
あなたのECSホストで特定のタグを使用しない限り、Yoursが優先されます。 –