--- title: "Cloud Functions FAQ" slug: "cloud-functions-faq" tags: ["Cloud Functions FAQ"] updated: 2026-10-22T09:12:13Z published: 2026-10-22T09:12:13Z canonical: "guide-gov.ncloud-docs.com/cloud-functions-faq" --- > ## Documentation Index > Fetch the complete documentation index at: https://guide-gov.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # Cloud Functions FAQ Classic 환경에서 이용 가능합니다. 사용 가이드를 읽기 전 자주 하는 질문에 대한 답변으로 궁금증을 빠르게 해소할 수 있습니다. 만약 다음의 자주 하는 질문에서 원하는 답을 얻지 못한 경우 사용 가이드에서 원하는 내용을 찾아서 확인해 보십시오. Cloud Functions FAQ는 다음과 같은 몇 가지 주제로 구성되어 있습니다. - [서비스 일반](/docs/cloud-functions-faq#%EC%84%9C%EB%B9%84%EC%8A%A4-%EC%9D%BC%EB%B0%98) - [시스템](/docs/cloud-functions-faq#%EC%8B%9C%EC%8A%A4%ED%85%9C) - [제한 사양](/docs/cloud-functions-faq#%EC%A0%9C%ED%95%9C-%EC%82%AC%EC%96%91) - [네트워크](/docs/cloud-functions-faq#%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC) - [로그](/docs/cloud-functions-faq#%EB%A1%9C%EA%B7%B8) - [리소스](/docs/cloud-functions-faq#%EB%A6%AC%EC%86%8C%EC%8A%A4) - [연동 서비스](/docs/cloud-functions-faq#%EC%97%B0%EB%8F%99-%EC%84%9C%EB%B9%84%EC%8A%A4) ## 서비스 일반 Cloud Functions에 대해 일반적으로 자주하는 질문과 답변은 다음과 같습니다. ### Q. Cloud Functions은 어떤 용도로 사용할 수 있습니까? A. Cloud Functions과 연동된 서비스에 따라 웹 서버나 API 서버, 로그 저장용 Rule 서버, 배치 작업 등 조합에 따라 다양한 용도로 사용할 수 있습니다. 서비스 단위를 작게 나눌 수 있다면 일반적인 마이크로 프로그래밍 형태로 작성하여 좀 더 큰 비지니스 로직의 구현도 가능합니다. ### Q. Cloud Functions는 어떤 사용자가 이용하면 더욱 유용합니까? A. 서버 구입이나 구축에 부담이 있는 스타트 업이나 서버 관리가 힘든 영세 상인, 대학생 등 간단히 코드를 작성하여 서비스를 제작해 보고 싶은 누구에게나 좋습니다. 사용량이 많아지기 전까지 수익 창출이 힘든 앱이나 게임에서도 유용하게 사용할 수 있습니다. ## 시스템 시스템과 관련하여 자주하는 질문과 답변은 다음과 같습니다. ### Q. Native Library의 사용이 가능합니까? A. 런타임 환경에 기본적으로 포함되지 않은 Native Library는 액션 코드 첨부 파일에 포함할 수 있습니다. 하지만 런타임별 실행 환경이 상이하고 별도 고지없이 변경될 수 있으므로 사용을 권장하지 않습니다. ### Q. 런타임별 지원하는 운영체제 종류와 버전이 있습니까? A. 런타임별 지원하는 운영체제 종류와 버전은 내부 정책에 따라 변경 가능성이 있기 때문에 운영체제 환경에 독립적인 코드 작성을 권장합니다. ## 제한 사양 제한 사양과 관련하여 자주하는 질문과 답변은 다음과 같습니다. ### Q. 코드 사이즈의 제한이 있습니까? A. [Cloud Functions 사용 준비](/docs/cloudfunctions-spec)를 참고해 주십시오. ### Q. CPU 사용량 제한이 있습니까? A. CPU 사용량은 메모리 사용량에 비례하며 제약 사항은 별도로 존재하지 않습니다. 또한 내부 인프라 및 다른 액션 동작 여부 등에 영향을 받아 특정한 값으로 한정하기 어렵습니다. 다만 액션 컨테이너에서 사용할 수 있는 최대 프로세스 개수는 1,024개로 제한하고 있습니다. ## 네트워크 Cloud Functions를 이용하는 네트워크 환경 구성과 관련하여 자주하는 질문과 답변은 다음과 같습니다. ### Q. ACG에서 Cloud Functions 액션만 허용이 가능하도록 설정할 수 있습니까? A. Cloud Functions를 Classic 환경에서 이용 중인 경우 Source가 Any(0.0.0.0/0)인 ACG 설정이 필요합니다. ### Q. 액션이 실행되는 서버 IP 대역대나 IP 규칙이 있습니까? A. IP 대역대는 실행하는 상황에 따라 내부 스케줄링 알고리즘에 의해 결정되기 때문에 특정하기 어렵습니다. ## 로그 로그와 관련하여 자주하는 질문과 답변은 다음과 같습니다. ### Q. 실행 결과 로그를 다운로드할 수 있습니까? A. Cloud Functions 실행 결과 로그는 네이버 클라우드 플랫폼의 Cloud Log Analytics에 저장됩니다. Cloud Log Analytics에서 엑셀 파일로 다운로드하거나 Object Storage의 내보내기 기능을 활용하여 다운로드할 수 있습니다. ## 리소스 액션, 트리거, 패키지과 관련하여 자주하는 질문과 답변은 다음과 같습니다. ### Q. Java, C#을 이용하여 액션은 어떻게 생성할 수 있습니까? A. Java의 경우 Jar 빌드 시 외부 라이브러리 jar가 모두 포함된 uber(fat) jar 형태로 패키징하여 액션을 생성할 수 있습니다. C#은 `dotnet add package` 명령어를 통해서 필요 패키지를 추가하여 액션을 생성할 수 있습니다. Java, C# 외에 런타임별 액션 생성 방법은 이 가이드의 **Cloud Functions 예제 > 런타임별 액션 생성과 활용**을 참고해 주십시오. ### Q. 액션에서 특정 경로에 위치한 파일을 사용하거나 참조할 수 있습니까? A. Cloud Functions 실행 환경은 stateless하여 실행되는 호스트의 특정 경로에 일부 파일을 영구적으로 위치하여 사용할 수 없습니다. Object Storage와 같은 Cloud Storage 사용을 권장합니다. 다만 외부 라이브러리 사용처럼 압축 파일에 필요한 파일을 첨부하고 코드에서 상대 경로로 참조할 수 있습니다. ### Q. DB Connection과 같이 비용이 많이 드는 리소스의 재활용이 가능합니까? A. 각각의 액션 실행은 stateless하기 때문에 커넥션 유지를 보장할 수 없습니다. 따라서 액션 호출이 잦을 경우 실행 속도 향상을 위해서 실행된 컨테이너를 재활용하고 첨부된 코드와 같이 커넥션을 재활용할 수는 있지만 명시적으로 커넥션 종료가 되지 않아 장애의 요인이 될 수 있기 때문에 사용을 권장하지 않습니다. 다음 예제 코드를 참고해 주십시오. ``` from kafka import KafkaProducer from kafka.errors import KafkaError import json, requests # Create NAVER Cloud Data Streaming Service connection producer = None def main(args): try: reuse = True global producer if producer is None: reuse = False producer = KafkaProducer( bootstrap_servers=['10.0.20.6:9092', '10.0.20.7:9092', '10.0.20.8:9092'], acks=1, value_serializer=lambda v: json.dumps(v, ensure_ascii = False).encode('utf-8'), key_serializer=lambda k: k.encode('utf-8')) # Send messages producer.send('iot.demo', key=args['deviceId'], value=args) producer.flush() # Return a result return {"result": "success", "reuse": reuse} except Exception as ex: # Return an error result return {"result": "error", "error": str(ex)} ``` ## 연동 서비스 연동 서비스에 관련하여 자주 하는 질문과 답변은 다음과 같습니다. ### Q. API Gateway를 통해 실행된 액션의 결과값을 HTTP Response Body로 받으려면 어떻게 해야 합니까? A. HTTP Request Query Parameter로 "blocking=true&result=true" 값을 추가해 주십시오. 다만 액션이 1분 이상 실행되어 HTTP Request가 1분을 넘어 가면 activationId(실행 UUID) 값만 Response로 전달됩니다. ### Q. API Gateway를 통해 실행된 액션의 HTTP Response Header를 커스터마이징할 수 있습니까? A. 액션 설정 중 웹 액션 설정을 활성화 한 후 웹 액션의 타입을 json이 아닌 http로 요청하면 다음 예제 코드와 같이 Response Header, Body 등을 정의할 수 있습니다. ``` function main(params) { return { statusCode: 200, headers: { 'Content-Type': 'application/json', 'Custom-Header': 'Cloud Functions' }, body: { 'name': 'NAVER CLOUD'} }; } ``` ### Q. Cloud Functions 코드에 다른 서비스를 연동할 수 있습니까? A. 액션 코드 내에서 전달되거나 가공된 데이터를 연동하고자 하는 서비스의 OpenAPI로 호출하여 연동할 수 있습니다. 서비스별 OpenAPI 사용 방법은 [API 가이드](https://api-gov.ncloud-docs.com/)를 참고해 주십시오.