클라우드의 무한한 힘으로 원격 GUI 앱을 실행합니다.
아래는 약 10-15분이 소요되며 필요한 Linux GUI 도구를 실행할 준비가 된 강력한 원격 데스크톱 환경을 얻을 수 있습니다. 과학 연구, 3D 모델링 또는 잠시 동안 더 빠른 컴퓨터를 임대하십시오.
QGIS은 지리 공간 데이터를 로드, 분석 및 시각화하는 데 도움이 되는 도구입니다. 하지만 내 M1 기반 Mac용 빌드가 없습니다. 또한 많은 데이터를 로드하고 싶습니다.
명령줄 또는 스크립팅 작업을 위해 VSCode remote development 또는 SageMaker Studio 노트북을 사용합니다. GUI 앱의 경우 데스크탑 환경을 Ubuntu에 추가하고 VNC를 통해 액세스해야 합니다.
Ubuntu 22.04 EC2 인스턴스로 시작합니다.
저는 CDK을 사용하여 이를 회전시켰지만 콘솔, AWS CLI 또는 사용자에게 편한 것을 사용하십시오.
instance = ec2.Instance(self, "DevInstance",
instance_type=ec2.InstanceType('t3.micro'),
machine_image=ec2.MachineImage.generic_linux(
{'eu-west-1': 'ami-0d75513e7706cf2d9'}
# The above is Ubuntu22.04 in the Ireland region
# If you use another region, you'll want to find
# the AMI for your region
),
block_devices=[
ec2.BlockDevice(
device_name="/dev/sda1",
volume=ec2.BlockDeviceVolume.ebs(
)
],
vpc=ec2.Vpc.from_lookup(self, "VPC", is_default=True)
)
instance.role.add_managed_policy(
policy=iam.ManagedPolicy.from_aws_managed_policy_name(
"AmazonSSMManagedInstanceCore"
)
)
CfnOutput(self, "InstancePublicIp",
value=instance.instance_id,
)
EC2 인스턴스에 대한 CLI 액세스 권한을 얻습니다.
저는 AWS의 SSM Session Manager를 사용하고 있기 때문에 SSH 키나 포트 열기에 대해 걱정할 필요가 없습니다.
aws ssm start-session --target $AWS_INSTANCE_ID
데스크톱 환경과 VNC 서버를 설치합니다.
Tiger VNC를 사용하고 있으며 비밀번호로 보호하고 있습니다. 우분투 사용자로 이것을하십시오
sudo su
su ubuntu
sudo apt update
sudo apt install -y \
xfce4 xfce4-goodies \
tigervnc-standalone-server tigervnc-common tigervnc-tools
이제 비밀번호 설정과 같은 일부 초기 구성을 수행하기 위해 vnc 서버의 "처음 실행"을 수행해야 합니다.
vncserver
비밀번호를 생성하라는 메시지가 표시되며 선택적으로 사용자가 보기만 할 수 있도록 "보기 전용"비밀번호를 생성합니다. 나는 보기만 설정하지 않았으며 아마도 필요하지 않을 것입니다.
이제 VNC 서버 설정을 계속할 수 있습니다.
cat > /home/ubuntu/.vnc/xstartup<< EOF
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
/usr/bin/startxfce4
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
x-window-manager &
EOF
chmod u+x /home/ubuntu/.vnc/xstartup
echo ':1=ubuntu' | sudo tee -a /etc/tigervnc/vncserver.users
sudo systemctl start tigervncserver@:1.service
sudo systemctl enable tigervncserver@:1.service
서버에서 포트 5901에 대한 액세스를 허용합니다.
SSM Session Manager를 사용하여 터널을 생성했습니다. 이렇게 하면 localhost:5901이 remote:5901로 터널링됩니다. AWS에서 해당 포트를 열지 않아도 되고 모든 것이 더 안전해집니다.
aws ssm start-session --target $AWS_INSTANCE_ID \
--document-name AWS-StartPortForwardingSession \
--parameters \
'{"portNumber":["5901"], "localPortNumber":["5901"]}'
VNC 클라이언트 연결을 엽니다.
macOS는 하나와 함께 제공됩니다! Or, download a VNC client for your machine
Mac의 파인더에서 "이동"메뉴를 사용하고 "서버에 연결"을 선택하고(또는 command-K를 누름) VNC 연결 경로를 추가합니다.
vnc://127.0.0.1:5901
이제 로컬 Mac의 창에 해당 Ubuntu 서버의 데스크탑 환경이 있습니다. 해당 서버 또는 원하는 GUI 앱에 QGIS를 설치할 수 있습니다. 해당 원격 시스템은 초고속 네트워크 연결을 가지고 있으며 내 네트워크 연결을 통해 (낮은 대역폭) 화면 활동만 스트리밍하면 됩니다. 작은 AWS 인스턴스를 사용하여 비용을 낮추거나 더 많은 데이터를 로드해야 하는 경우 최대 24TB의 RAM과 수백 개의 CPU를 가질 수 있습니다! 내 초라한 노트북은 정말 양의 탈을 쓴 늑대가 될 수 있습니다.
Reference
이 문제에 관하여(클라우드의 무한한 힘으로 원격 GUI 앱을 실행합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/inrange/running-remote-gui-apps-with-the-infinite-power-of-the-cloud-2clp텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)