AWS Lambda Docker: libnss3 및 Chrome 배포 오류
Docker 컨테이너 이미지를 사용하여 AWS Lambda에 IronPDF를 배포할 때, 애플리케이션이 시작 시 IronSoftwareDeploymentException을(를) 발생시킵니다.
IronSoftwareDeploymentException: Multiple issues occurred while trying to deploy Chrome (libnss3.so: cannot open shared object file: No such file or directory)... (Read-only file system: '/var/task/runtimes')
두 가지 문제가 이 오류를 초래합니다. 첫째, IronPDF의 Chrome 엔진은 Lambda 베이스 이미지에 없는 libnss3.so와 같은 공유 라이브러리에 의존합니다. 둘째, Lambda는 /var/task/runtimes에 대한 쓰기 접근을 제한하므로 IronPDF의 내장 배포 메커니즘이 해당 위치에 바이너리를 추출할 수 없습니다.
해결책
Dockerfile에서 필요한 Linux 패키지를 설치하고, 자동 구성을 비활성화하며, Lambda에서 유일한 쓰기 가능한 경로인 /tmp로 IronPDF의 배포 디렉터리를 리디렉션합니다.
Dockerfile
FROM public.ecr.aws/lambda/dotnet:8
WORKDIR /var/task
RUN dnf update -y \
&& dnf install -y gcc-c++ pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 dbus-glib-devel \
&& dnf install -y libXdamage.x86_64 libXi.x86_64 libXtst.x86_64 cups-libs.x86_64 libXScrnSaver.x86_64 \
&& dnf install -y libXrandr.x86_64 alsa-lib.x86_64 atk.x86_64 gtk3.x86_64 ipa-gothic-fonts xorg-x11-fonts-100dpi \
&& dnf install -y xorg-x11-fonts-75dpi xorg-x11-fonts-cyrillic xorg-x11-fonts-Type1 xorg-x11-fonts-misc \
&& dnf install -y mesa-libgbm.x86_64 \
&& dnf install -y nss-3.90.0-3.amzn2023.0.4.x86_64
COPY "bin/Release/lambda-publish" .
IronPDF 초기화
첫 번째 ChromePdfRenderer 호출 전에 이 속성을 설정하세요:
IronPdf.Installation.AutomaticallyDownloadNativeBinaries = false;
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;
IronPdf.Installation.CustomDeploymentDirectory = "/tmp/ironpdf";
IronPdf.Installation.AutomaticallyDownloadNativeBinaries = false;
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;
IronPdf.Installation.CustomDeploymentDirectory = "/tmp/ironpdf";
Imports IronPdf
Installation.AutomaticallyDownloadNativeBinaries = False
Installation.ChromeGpuMode = Engines.Chrome.ChromeGpuModes.Disabled
Installation.LinuxAndDockerDependenciesAutoConfig = False
Installation.CustomDeploymentDirectory = "/tmp/ironpdf"
AWS Lambda Docker 설정에 대한 전체 참조는 AWS 배포 가이드를 참조하세요.

