AI 에이전트를 호스팅하는 데 Cloud Run을 사용할 때의 주요 장점 중 하나는, 보안 실행 환경을 사용하여 코드를 격리한다는 점입니다. Cloud Run에서 코드 샌드박스 도구를 구축하고 이를 컨테이너 내에서 실행하면, 원하는 모든 프로그래밍 언어를 사용하여 애플리케이션 코드를 실행할 수 있습니다.
보안 2레이어 샌드박싱
Cloud Run은 2레이어 샌드박스를 사용하여 모든 인스턴스를 격리합니다. 이 샌드박스는 개별 VM과 동등한 하드웨어 기반 레이어(x86 가상화)와 소프트웨어 커널 레이어로 구성됩니다. 자세한 내용은 보안 설계 개요를 참조하세요.
코드를 배포할 때 Cloud Run은 코드를 샌드박스 환경 내에 제한합니다. 이러한 격리 기능을 통해 대규모 언어 모델(LLM)이 생성한 코드와 같은 신뢰할 수 없는 코드를 보다 안전하게 실행할 수 있습니다. 신뢰할 수 없는 코드를 실행할 때는 Cloud Run 서비스의 IAM 권한을 제한하고 VPC 방화벽 규칙을 사용하여 코드가 인터넷에 호출을 수행하지 못하도록 해야 합니다.
코드 실행 모드
Cloud Run은 코드 실행을 위해 다음과 같은 모드를 제공합니다.
비동기 실행: 기본 애플리케이션 흐름을 방해하지 않기 위해, 장시간 실행되거나 백그라운드에서 수행되는 작업의 경우 Cloud Run 작업을 사용하여 비동기적으로 실행하세요. 예를 들어 코드를 Cloud Storage에 업로드하고 필요한 종속 항목을 설치한 다음, 결과를 다시 Cloud Storage에 처리 및 저장하는 Cloud Run 작업을 실행할 수 있습니다.
동기 실행: 즉각적인 응답이 필요한 프로세스의 경우 Cloud Run 서비스를 사용하세요. Cloud Run 서비스의 최대 제한 시간은 1시간으로, 코드가 실행될 수 있는 충분한 시간을 제공합니다. 한 번에 하나의 요청만 처리하도록 인스턴스를 제한하려면 동시 실행 값을
1로 설정합니다. 또한 실행할 코드를 요청 본문의 일부로 전달하고, 응답에 결과를 반환한 다음, 컨테이너 인스턴스를 종료할 수도 있습니다.다음 이미지는 두 가지 코드 실행 모드를 보여줍니다.
그림 1. Cloud Run의 코드 실행 모드