AWS Lambda Docker: libnss3 및 Chrome 배포 오류

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

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"
$vbLabelText   $csharpLabel

AWS Lambda Docker 설정에 대한 전체 참조는 AWS 배포 가이드를 참조하세요.

Curtis Chau
기술 문서 작성자

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.

커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다.

시작할 준비 되셨나요?
Nuget 다운로드 20,088,359 | 버전: 2026.7 방금 출시
Still Scrolling Icon

아직도 스크롤하고 계신가요?

빠른 증거를 원하시나요? PM > Install-Package IronPdf
샘플을 실행하세요 HTML이 PDF로 변환되는 것을 지켜보세요.