Application Integration에 지원되는 커넥터를 참조하세요.
시작 스크립트 만들기
이 페이지에서는 웹 서비스의 시작 스크립트를 만들고 스크립트를 검증하는 방법을 설명합니다.
웹 서비스를 실행하는 데 수동 개입이 필요하지 않도록 하려면 시작 스크립트를 만들어야 합니다. 시작 스크립트는 다음 작업을 실행합니다.
- 가상 머신 (VM) 메타데이터를 읽고
CONNECTOR_ENV
접두사가 있는 메타데이터의 환경 변수를 설정합니다. 소비자가 필요로 하는 데이터는 VM 생성 중에 마켓에서 가져와 docker의 환경 변수로 설정됩니다. 그런 다음 이러한 환경 변수를 애플리케이션에서 읽고 적절하게 처리할 수 있습니다. - 적절한 환경 변수를 사용하여 웹 서비스가 포함된 Docker 컨테이너를 시작합니다.
다음 코드는 샘플 시작 스크립트입니다.
#!/bin/bash # 1. Fetch Metadata Keys metadata_keys_url="http://metadata.google.internal/computeMetadata/v1/instance/attributes/" metadata_keys=$(curl -H "Metadata-Flavor: Google" "$metadata_keys_url") # 2. Set Environment Variables for CONNECTOR_ENV Keys (with error handling) for key in $metadata_keys; do if [[ $key == CONNECTOR_ENV_* ]]; then metadata_value_url="http://metadata.google.internal/computeMetadata/v1/instance/attributes/$key" # Fetch value with error handling value=$(curl -H "Metadata-Flavor: Google" "$metadata_value_url" 2>/dev/null) if [[ -z "$value" ]]; then echo "Warning: No value found for key '$key'. Skipping." >&2 # Log the warning to stderr continue # Skip to the next iteration fi export "$key=$value" fi done # 3. Run Docker with Environment Variables sudo docker stop connector-service || true sudo docker run \ --name connector-service \ $(env | grep CONNECTOR_ENV_ | sed 's/=/="/;s/$/"/' | sed 's/^/-e /') \ -d -p $CONNECTOR_ENV_PORT:$CONNECTOR_ENV_PORT \ --restart=unless-stopped \ connector-container
시작 스크립트 검사
- VM 인스턴스에서 VM 생성 중에 필요한 포트 및 기타 모든 매개변수의 메타데이터를 추가합니다.
gcloud compute instances add-metadata VM_NAME \ --zone=VM_ZONE \ --project=PROJECT_NAME \ --metadata=CONNECTOR_ENV_PORT=8081
- UI에서 VM을 수정하고 자동화 섹션에 언급된 시작 스크립트를 추가합니다.
다음 gcloud 명령어를 사용할 수도 있습니다.
gcloud compute instances add-metadata VM_NAME \ --zone=VM_ZONE \ --project=PROJECT_NAME \ --metadata-from-file startup-script=gcp-start.sh
- 시작 스크립트를 추가한 후 VM에 SSH로 연결하고 다음 명령어를 실행합니다.
sudo google_metadata_script_runner startup
- 다음 명령어를 실행하여 Docker 컨테이너가 언급된 포트에서 실행되고 있는지 확인합니다.
sudo docker ps
- 다음 명령어를 실행하여 Docker 서비스를 중지하고 삭제합니다. 테스트 후에는 서비스가 VM에서 실행되고 있으면 안 됩니다.
sudo docker rm -f connector-service
- VM 배포 스크립트를 만드는 방법을 알아봅니다.