[解決済み] タスク実行時にAWS ECSエラーが発生しました。クラスタにコンテナインスタンスが見つかりませんでした。
質問内容
をデプロイしようとしています。
docker
コンテナイメージを
AWS
を使って
ECS
が、EC2インスタンスが作成されない。なぜ、次のようなエラーが発生するのか、インターネットを検索してみました。
RunTask操作の呼び出し時にクライアントエラー(InvalidParameterException)が発生しました。クラスタにコンテナインスタンスが見つかりませんでした。
以下は私の手順です。
1. UbuntuからAmazon ECSのリポジトリにDockerイメージをPushしました。
2. ECS Task Definitionを登録。
aws ecs register-task-definition --cli-input-json file://path/to/my-task.json
3. タスクを実行した。
aws ecs run-task --task-definition my-task
それでも、失敗する。
これが私のタスクです。
{
"family": "my-task",
"containerDefinitions": [
{
"environment": [],
"name": "my-container",
"image": "my-namespace/my-image",
"cpu": 10,
"memory": 500,
"portMappings": [
{
"containerPort": 8080,
"hostPort": 80
}
],
"entryPoint": [
"java",
"-jar",
"my-jar.jar"
],
"essential": true
}
]
}
また、マネージメントコンソールでクラスタとサービスを設定しようとしましたが、同じエラーが表示されます。 また、どのようなコンテナインスタンスを使用する必要があるのでしょうか? そもそもこの作業ってEC2インスタンスを作ることじゃなかったっけ!?
解決方法は?
さらに数時間調査してわかりました。Amazonさん、もし聞いていたら、クラスタを作成するとき、あるいはクラスタにインスタンスを追加するときに、マネジメントコンソールのどこかにこのことを記述しておいてください。
ECSインスタンスをクラスターに追加する前に、まずEC2マネジメントコンソールで
ecs-optimized
を持つIAMロールを持つインスタンスです。AmazonEC2ContainerServiceforEC2Role
ポリシーが添付されています。
以下、リグマールです。
1. あなたの
EC2ダッシュボード
をクリックします。
Launch Instance
ボタンをクリックします。
2. 下
Community AMIs
を検索してください。
ecs-optimized
を選択し、プロジェクトのニーズに最も適したものを選択してください。どれでもかまいません。次へ」をクリックします。
3. インスタンスの詳細の設定]が表示されたら、その中の
create new IAM role link
という新しいロールを作成します。
ecsInstanceRole
.
4. を貼り付けます。
AmazonEC2ContainerServiceforEC2Role
ポリシーをそのロールに適用します。
5. そして、ECSインスタンスの設定を完了します。
注意事項
Webサーバーを作成する場合は、80番ポートへのアクセスを許可するsecurityGroupを作成することをお勧めします。
数分後、インスタンスが初期化されて実行されると、インスタンスを追加しようとしているECSインスタンスタブをリフレッシュすることができます。
関連
-
[解決済み】aws cli: update-kubeconfig が期待通りに動作しない。
-
[解決済み] -bash: aws: コマンドが見つかりませんでした。
-
[解決済み] Amazon SQSを複数のコンシューマで使用する
-
[解決済み] S3からモデルをロードしようとすると、チェーン内の任意のプロバイダからAWS認証情報をロードできない - エラー - が発生する
-
[解決済み] AzureにはAWSのCloudFormationのようなIaCツールはあるのでしょうか?[クローズド]
-
[解決済み] as select in redshiftに挿入する。
-
[解決済み] AWS KinesisとEventBridgeの違いは何ですか?
-
[解決済み] CLIコマンドでAWSグルージョブを作成する方法とは?
-
[解決済み] AWSの169.254.169.254IPアドレスは何が特別なのか?[クローズド]
-
[解決済み] EC2でインスタンスを削除するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】AWS CLI S3 HeadObject操作の呼び出し時に、クライアントエラー(403)が発生しました。Forbidden
-
[解決済み】S3 Bucket アクションがどのリソースにも適用されない
-
[解決済み] RDS コンソールで Aurora の読み取りレプリカを作成するオプションが表示されない
-
[解決済み] CloudFormation Stack Errors with REST API Doesn't Contain Any Methods
-
[解決済み] スケジュールされたイベントソースをトリガーとするラムダ関数を設定するには、terraformを使用します。
-
[解決済み] AWSとPuTTy。悪いサービス要求のssh-connection [閉鎖]。
-
[解決済み] ウェブサイトがAmazonネームサーバーを持っているが、別のサーバーでホストされている方法
-
[解決済み] AWS 0.0.0.0/0と::/0の意味は何ですか?
-
[解決済み] aws-cliでdynamodbのitemを返却する方法
-
[解決済み] AWSプライベートリンクとVPCエンドポイント