EC2 + EFS + ECSのセットアップで、いくつかのDockerコンテナーを実行しています。 EC2インスタンスが停止し、新しいインスタンスが起動しましたが、新しいインスタンスでタスクを開始すると、次のエラーメッセージが表示されます
error looking up volume plugin Amazon-ecs-volume-plugin: plugin "Amazon-ecs-volume-plugin" not found
このプラグインが見つからないため、EC2起動構成で何を見逃しましたか?プラグイン名をグーグルしても、ヒントはまったくありません。
最新のECS最適化AMIでEC2インスタンスを実行するか、yumパッケージ全体のアップグレードを停止します。
私は同じ問題に直面しており、問題のあるコンテナーインスタンスでecs-initバージョンの不一致を発見しました。最初にインストールされたのは1.37.0ですが、当時使用されていたのは1.39.0です。 ecs-init 1.38.0以降、「ecs-volume-plugin」機能があります ですが、インストールされたパッケージを古いAMIでアップグレードするだけではうまく機能しないようです。
そのため、ユーザーデータ内のパッケージ全体のアップグレードを停止しようとしました。以下のようにユーザーデータを修正しました。
前:
#cloud-config
repo_update: true
repo_upgrade: all
後:
#cloud-config
repo_update: true
repo_upgrade: security # the default is "security"
参照: https://docs.aws.Amazon.com/AWSEC2/latest/UserGuide/Amazon-linux-AMI-basics.html#security-updates
そして今、私のECSタスクはうまく実行されています。また、AMIをアップグレードすることでうまく機能します。