Docker イメージから AWS Lambda 関数を作成する際に、「Runtime.InvalidEntrypoint」というエラーが表示されました。
Lambda 関数の設定のエントリが正しくない場合に、「Runtime.InvalidEntrypoint」エラーが発生します。
この問題を解決するには、Lambda 関数の次の設定を確認してください。
コンテナイメージの ENTRYPOINT と CMD に、場所として絶対パスが含まれていることを確認します。また、イメージにエントリポイントとしてシンボリックリンクを含めることはできません。
Lambda 関数の設定で ENTRYPOINT が正しいことを確認します。ENTRYPOINT は ランタイムに使用されるコンテナの Dockerfile 内のコマンドと一致する必要があります。
コンテナイメージが正しい Amazon Elastic Container Registry (Amazon ECR) にプッシュされていることを確認します。
Docker イメージのアーキテクチャと Lambda 関数が同じであることを確認します。Lambda では arm64 と x86_64 の命令セットアーキテクチャがサポートされています。コンテナイメージをビルドするときは、必ず linux/amd64 または linux/arm64 プラットフォームを使用してください。 例:
docker build platform linux/amd64 -t docker-image:test
Lambda デプロイパッケージに適切なセキュリティのアクセス許可がない場合、「Runtime.InvalidEntrypoint」エラーとともに「permission denied」エラーが表示されます。正しいアクセス許可を確認するには、Wikipedia ウェブサイトで Unix の権限の記号表記を参照してください。Lambda デプロイパッケージ内のすべてのファイルについて、正しいアクセス許可の設定は 644 です。デプロイパッケージ内のフォルダーの場合、正しいアクセス許可の設定は 755 です。詳細については、「Lambda デプロイパッケージをアップロードする際に表示される「アクセス許可が拒否されました」と「unable to import module」というエラーを解決するにはどうすればよいですか?」を参照してください。
Docker でシミュレートされた Lambda 環境を使用して、Lambda レイヤーを作成する方法を教えてください。
Lambda でのコンテナイメージに関する問題のトラブルシューティング
Lambda でコンテナイメージを使用するにはどうすればよいですか?