2017-10-12 15 views
0

EC2インスタンスにタグを追加することで、請求の使用状況をよりよく追跡したり、インスタンスを管理したりすることができます。ECSタスクにタグを付けるベストプラクティス?

ECSでコンテナを展開するときに達成する方法はありますか?私は実行中のコンテナに、現在どのタグが付いているかを知ることができるようにしたいと思います。

答えて

1

実際にあなたが最終的に視覚化しようとしているものに依存します。私は以下のいくつかの控えめな考えを分かち合いましょう。あなたのニーズを満たす何かを構築するために、これらを推定することもできます。


おそらく認識しているように、ECSタスク自体はタグの概念をサポートしていませんが、考慮できるいくつかの回避策があります。たとえば、アプリケーションの動作をどのようにロギングするかによって(たとえば、CloudWatchログへのバッチログ)、区切られたタグの配列を含むECSタスクごとのログストリーム名を作成できます。

私は最近作成したPOCの一部として、自動生成されたコンピュータ名を使用してCloudWatch Log Streamの名前を動的に作成しました。コンテナーイメージに埋め込んだタグデータを簡単に追加または追加してから、後でCloudWatchログストリームからタグ情報を照会することができます。


別のオプションは、単にECR内の各ユニークなタスク定義のオフに実行されているECSのタスクの数に基づいて、CloudWatchのメトリックにメトリックをログに記録するだろう。

ECSタスクを各クラスタで照会する非常に単純なラムダ関数を構築し、ユニークなタスク定義ごとにタスク数をCloudWatchメトリックに分単位で書き込むことができます。 CloudWatchイベントルールを使用すると、cronスケジュールでラムダ関数をトリガーすることができます。これにより、希望する期間にカスタマイズすることができます。

このメトリックデータを使用すると、ECSクラスタ、その上で実行されるサービスおよびタスク、およびECSクラスタをサポートする基礎となるEC2コンピューティングインスタンスに関するスケーリングの決定を促進できます。

これが役に立ちます。

+0

@Trevorの情報をお寄せいただきありがとうございます。私は、実行中のコンテナが独自に "タグ"をプログラムで照会できるように、ユーザーがECSタスクにタグ付けできるようにしようとしています。私は環境変数を渡すことがこれを達成する方法だと思いますが、私は環境変数のアプローチがユーザーフレンドリーではないと思います。 :) 情報ありがとうTrevor!ほんとうにありがとう。 – cyc115