Cloud Workstations는 같은 VPC 네트워크에 있는 Filestore 네트워크 파일 시스템(NFS) 인스턴스를 마운트할 수 있습니다. Filestore 인스턴스는 동시에 여러 Cloud Workstations 인스턴스에서 액세스할 수 있습니다.
Filestore에 대한 자세한 내용은 Filestore 문서를 참조하세요.
시작하기 전에
프로젝트 만들기
워크스테이션 프로젝트에서 Filestore API 및 Cloud Workstations API를 사용 설정했는지 확인합니다.
gcloud
CLI를 설치하고 초기화합니다.gcloud
CLI를 초기화하려면 다음 명령어를 실행합니다.gcloud init
필요한 역할
워크스테이션을 만들고 업데이트하는 데 필요한 권한을 얻으려면 관리자에게 워크스테이션 프로젝트에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.
-
Cloud Workstations 관리자인 경우 관리자에게 Cloud Workstations 관리자(
roles/workstations.admin
) 역할을 부여해 달라고 요청하세요. -
Filestore 관리자인 경우 관리자에게 Filestore 편집자(
roles/file.editor
) 역할을 부여해 달라고 요청하세요.
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.
Filestore 인스턴스 만들기
아직 Filestore 인스턴스를 만들지 않았으면 다음 gcloud
CLI filestore instances create
명령어를 사용하여 만듭니다. 이름 지정 정보는 Filestore 인스턴스 이름 지정 및 파일 공유 이름 지정을 참조하세요.
gcloud filestore instances create INSTANCE_ID \
--file-share=name=FILE_SHARE_NAME,capacity=1TiB \
--tier=ENTERPRISE \
--network=name=NETWORK_NAME \
--region=LOCATION \
--project WORKSTATIONS_PROJECT_ID
다음을 바꿉니다.
INSTANCE_ID
: Filestore 인스턴스를 고유하게 식별하는 ID입니다.FILE_SHARE_NAME
: Filestore 인스턴스에서 제공되는 디렉터리의 이름입니다(예:vol1
).NETWORK_NAME
: 인스턴스가 연결된 VPC 네트워크의 이름입니다. Cloud Workstations 클러스터의 네트워크와 일치해야 합니다(예:default
).LOCATION
: Filestore 인스턴스 리전입니다. 워크스테이션 클러스터 리전과 일치해야 합니다.WORKSTATIONS_PROJECT_ID
: 워크스테이션 프로젝트 ID입니다.
Filestore 인스턴스의 IP 주소 가져오기
Filestore 인스턴스가 생성된 후 filestore instances describe gcloud
CLI 명령어를 사용하여 IP 주소를 가져옵니다.
gcloud filestore instances describe INSTANCE_ID \
--region=LOCATION \
--project WORKSTATIONS_PROJECT_ID
다음을 바꿉니다.
INSTANCE_ID
: Filestore 인스턴스를 고유하게 식별하는 ID입니다.LOCATION
: Filestore 인스턴스 리전입니다. 워크스테이션 클러스터 리전과 일치해야 합니다.WORKSTATIONS_PROJECT_ID
: 워크스테이션 프로젝트 ID입니다.
이 명령어는 IP 주소를 다음 형식으로 출력합니다.
...
networks:
- connectMode: DIRECT_PEERING
ipAddresses:
- FILESTORE_IP_ADDRESS
...
이후 단계에서 필요하므로 FILESTORE_IP_ADDRESS
를 기록해 둡니다.
워크스테이션 클러스터 만들기
워크스테이션 클러스터를 아직 만들지 않았으면 gcloud
CLI clusters create
명령어를 사용하여 만듭니다.
gcloud workstations clusters create \
WORKSTATIONS_CLUSTER_NAME \
--network=NETWORK_NAME \
--region=LOCATION \
--project=WORKSTATIONS_PROJECT_ID
다음을 바꿉니다.
WORKSTATIONS_CLUSTER_NAME
: 워크스테이션 클러스터의 이름입니다.NETWORK_NAME
: Cloud Workstations 인스턴스가 연결된 VPC 네트워크의 이름입니다. Filestore 인스턴스 네트워크와 일치해야 합니다(예:default
).LOCATION
: 워크스테이션 클러스터의 리전 이름입니다. Filestore 인스턴스 리전과 일치해야 합니다.WORKSTATIONS_PROJECT_ID
: 워크스테이션 프로젝트 ID입니다.
워크스테이션 구성 및 워크스테이션 만들기
Cloud Workstations 구성과 워크스테이션 인스턴스를 아직 만들지 않았으면 워크스테이션 구성 만들기 및 워크스테이션 만들기를 참조하세요.
워크스테이션에 Filestore 인스턴스 마운트
Cloud Workstations 인스턴스를 실행한 후 터미널 창으로 이동하고 다음 명령어를 실행하여 Filestore 인스턴스를 마운트합니다.
sudo rpcbind
mkdir -p FILE_SHARE_NAME
sudo mount -o rw,intr FILESTORE_IP_ADDRESS:/FILE_SHARE_NAME FILE_SHARE_NAME
다음을 바꿉니다.
FILE_SHARE_NAME
: Filestore 인스턴스에서 제공되는 디렉터리의 이름입니다(예:vol1
).FILESTORE_IP_ADDRESS
: Filestore 인스턴스 IP 주소입니다.
mount
명령어가 완료되면 파일 공유 경로에 Filestore 인스턴스 콘텐츠가 표시됩니다.
Filestore 인스턴스 마운트에 대한 자세한 내용은 Compute Engine 클라이언트에 파일 공유 마운트를 참조하세요.
Filestore 자동 마운트를 위한 커스텀 컨테이너 이미지 만들기
다음 Dockerfile을 사용하여 시작 시 자동으로 Cloud Workstations에 Filestore 인스턴스를 마운트하는 커스텀 컨테이너 이미지를 만들 수 있습니다.
FROM us-central1-docker.pkg.dev/cloud-workstations-images/predefined/code-oss:latest
RUN echo "#!/bin/bash\n\
sudo rpcbind\n\
sudo mkdir -p /home/user/FILE_SHARE_NAME\n\
sudo mount -o rw,intr FILESTORE_IP_ADDRESS:/FILE_SHARE_NAME /home/user/FILE_SHARE_NAME" | sudo tee -a /etc/workstation-startup.d/011_mount-filestore.sh
RUN sudo chmod +x /etc/workstation-startup.d/011_mount-filestore.sh
다음을 바꿉니다.
FILE_SHARE_NAME
: Filestore 인스턴스에서 제공되는 디렉터리의 이름입니다(예:vol1
).FILESTORE_IP_ADDRESS
: Filestore 인스턴스 IP 주소입니다.
Cloud Workstations의 커스텀 컨테이너 이미지를 만드는 방법에 대한 자세한 내용은 컨테이너 이미지 맞춤설정을 참조하세요.