AWS LambdaでのIronPDF(Dockerなしで)

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDFはAWS Lambdaで動作しますが、カスタムDockerコンテナイメージから構築されたLambda関数内部でのみ動作します。 標準の、非DockerのLambdaランタイムにはIronPDFが必要とするネイティブLinuxライブラリが存在しません。したがって、そこではPDFの作業が失敗します。

IronPDFは、以下を含むいくつかのネイティブLinuxライブラリに依存しています:

  • gcc-c++
  • glibc-devel.i686
  • glibc.i686
  • pango.x86_64

それらのライブラリは、標準のAWS Lambda環境にはデフォルトで存在しません。 これらなしでIronPDFを非DockerのLambda関数で実行すると、以下のいずれかが通常表面化します:

Native errors related to missing libraries
Failures in PDF generation or rendering
Crashes or instability when calling IronPdf methods

根本原因はレンダリングエンジンです:IronPDFは内部的にChromeを使用しており、ChromeそのものもネイティブのLinuxコンポーネントに依存しています。 ストックAWS Lambdaのような最小限のサーバーレスランタイムにはこれらのコンポーネントが出荷されておらず、ランタイムで信頼性高くインストールすることはできません。

解決策

すべての必要なネイティブ依存関係を事前にインストールするカスタムDockerコンテナイメージの内部にIronPDFをデプロイします。 そうすることで、ストリップされたランタイムではなく完全に互換性のある環境をLambdaに提供します。

FROM public.ecr.aws/lambda/dotnet:8
# install necessary packages
RUN dnf update -y
RUN dnf install -y gcc-c++ pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 dbus-glib-devel
RUN dnf install -y libXdamage.x86_64 libXi.x86_64 libXtst.x86_64 cups-libs.x86_64 libXScrnSaver.x86_64
RUN dnf install -y libXrandr.x86_64 alsa-lib.x86_64 atk.x86_64 gtk3.x86_64 ipa-gothic-fonts xorg-x11-fonts-100dpi
RUN dnf install -y xorg-x11-fonts-75dpi xorg-x11-fonts-cyrillic xorg-x11-fonts-Type1 xorg-x11-fonts-misc
RUN dnf install -y mesa-libgbm.x86_64
RUN dnf install -y nss-3.90.0-3.amzn2023.0.4.x86_64
WORKDIR /var/task
COPY "bin/Release/lambda-publish"  .
CMD ["AWSLambdaNet8Container::AWSLambdaNet8Container.PrintPdf::FunctionHandler"]

dnf installラインはChromeレンダリング依存関係を取り込みます; CMDエントリはLambdaで公開された出力内の関数ハンドラにポイントします。

注意標準のAWS LambdaランタイムはDockerなしではIronPDFを実行できません。 Dockerベースの関数を使用しないとPDF生成が失敗します。)"]

完全なウォークスルーは、AWS LambdaでのIronPDFによるPDFファイルの作成方法をご覧ください。

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

準備はできましたか?
Nuget ダウンロード 20,296,129 | バージョン: 2026.7 リリースされたばかり
Still Scrolling Icon

まだスクロールしていますか?

すぐに証拠が欲しいですか? PM > Install-Package IronPdf
サンプルを実行するHTML が PDF に変換されるのを確認します。