

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Verbindung zu VPC mit Subnetzen ohne Internetzugang herstellen
<a name="remote-access-local-ide-setup-vpc-no-internet"></a>

Bevor Sie Ihre Remote-IDE mit Studio-Spaces in privaten Subnetzen ohne Internetzugang verbinden, stellen Sie sicher, dass Ihr Administrator dies getan hat[Einrichten von Studio für die Ausführung mit Subnetzen ohne Internetzugang innerhalb einer VPC](remote-access-remote-setup-vpc-subnets-without-internet-access.md).

Sie haben die folgenden Optionen, um Ihre Remote-IDE mit Studio-Bereichen in privaten Subnetzen zu verbinden:
+ Richten Sie einen HTTP-Proxy ein (unterstützt für VS Code und Kiro)
+ Vorgefertigte Remoteserver und Erweiterungen (nur VS Code)

**Wichtig**  
Der Cursor wird für die Verbindung zu Studio-Bereichen in privaten Subnetzen ohne ausgehenden Internetzugang nicht unterstützt.

**Topics**
+ [HTTP-Proxy mit kontrollierter Zulassungsliste](#remote-access-local-ide-setup-vpc-no-internet-http-proxy-with-controlled-allow-listing)
+ [Vorkonfigurierte Remoteserver und Erweiterungen (nur VS Code)](#remote-access-local-ide-setup-vpc-no-internet-pre-packaged-vs-code-remote-server-and-extensions)

## HTTP-Proxy mit kontrollierter Zulassungsliste
<a name="remote-access-local-ide-setup-vpc-no-internet-http-proxy-with-controlled-allow-listing"></a>

Wenn sich Ihr Studio-Bereich hinter einer Firewall oder einem Proxy befindet, bitten Sie Ihren Administrator, den Zugriff auf Ihren IDE-Server und Ihre Endpunkte im Zusammenhang mit Erweiterungen CDNs zu gewähren. Weitere Informationen finden Sie unter [Einrichten eines HTTP-Proxys mit kontrollierter Zulassungsliste](remote-access-remote-setup-vpc-subnets-without-internet-access.md#remote-access-remote-setup-vpc-subnets-without-internet-access-setup-http-proxy-with-controlled-allow-listing).

------
#### [ VS Code ]

Konfigurieren Sie den HTTP-Proxy für die Fernentwicklung mit VS Code, indem Sie die Proxy-URL mit der Einstellung `remote.SSH.httpProxy` oder `remote.SSH.httpsProxy` angeben.

**Anmerkung**  
Erwägen Sie, „Remote.ssh: Use Curl And Wget Configuration Files“ zu aktivieren, um die Konfiguration aus den Dateien und Dateien der Remote-Umgebung zu verwenden. `curlrc` `wgetrc` Auf diese Weise können die `wgetrc` Dateien `curlrc` und, die sich an ihren jeweiligen Standardspeicherorten im SageMaker Space befinden, zur Aktivierung bestimmter Fälle verwendet werden.

------
#### [ Kiro ]

Konfigurieren Sie den HTTP-Proxy für die Fernentwicklung mit Kiro, indem Sie die `aws.sagemaker.ssh.kiro.httpsProxy` Einstellung auf Ihren HTTP- oder HTTPS-Proxyendpunkt setzen.

Wenn Sie MCP-Server (Model Context Protocol) in Kiro verwenden, müssen Sie Ihrer MCP-Serverkonfiguration auch die Proxy-Umgebungsvariablen hinzufügen:

```
"env": {
    "http_proxy": "${http_proxy}",
    "https_proxy": "${https_proxy}"
}
```

------

Diese Option funktioniert, wenn Sie einen HTTP-Proxy einrichten dürfen, und ermöglicht Ihnen die flexible Installation zusätzlicher Erweiterungen, da einige Erweiterungen einen öffentlichen Endpunkt erfordern.

## Vorkonfigurierte Remoteserver und Erweiterungen (nur VS Code)
<a name="remote-access-local-ide-setup-vpc-no-internet-pre-packaged-vs-code-remote-server-and-extensions"></a>

**Anmerkung**  
Diese Option ist nur für Visual Studio Code verfügbar. Kiro und Cursor unterstützen kein vorkonfiguriertes Remote-Server-Setup.

Wenn Ihre Studio-Bereiche keinen Zugriff auf externe Endpunkte haben, um den VS-Code-Remoteserver und Erweiterungen herunterzuladen, können Sie diese vorab paketieren. Bei diesem Ansatz kann Ihr Administrator einen Tarball exportieren, der das `.VS Code-server`-Verzeichnis für eine bestimmte Version von VS Code enthält. Anschließend verwendet der Administrator ein SageMaker AI Lifecycle Configuration (LCC) -Skript, um den Tarball in Ihr Home-Verzeichnis () zu kopieren und zu extrahieren. `/home/sagemaker-user` Weitere Informationen finden Sie unter [Richten Sie vorgefertigte Remoteserver und Erweiterungen ein (nur VS Code)](remote-access-remote-setup-vpc-subnets-without-internet-access.md#remote-access-remote-setup-vpc-subnets-without-internet-access-setup-pre-packaged-vs-code-remote-server-and-extensions).

**Anweisungen zum Vorverpacken Ihres VS-Code-Remoteservers und der Erweiterungen**

1. Installieren Sie VS Code auf Ihrem lokalen Computer.

1. Wenn Sie eine Verbindung zum Space herstellen: SageMaker 
   + Verwenden Sie das Standardprofil, um die Kompatibilität mit vorkonfigurierten Erweiterungen sicherzustellen. Andernfalls müssen Sie Erweiterungen mithilfe heruntergeladener VSIX-Dateien installieren, nachdem Sie eine Verbindung zum Studio-Bereich hergestellt haben.
   + Wählen Sie ein für die VS-Code-Version spezifisches LCC-Skript aus, das beim Starten des Bereichs an den Bereich angehängt werden soll.

### Beispiel für die Verwendung von Dockerfile für das Vorverpacken Ihres Remoteservers von VS Code und der Erweiterungen
<a name="remote-access-local-ide-setup-vpc-no-internet-pre-packaged-vs-code-remote-server-and-extensions-example-dockerfile"></a>

Im Folgenden finden Sie ein Beispiel für eine Dockerfile-Datei zum Starten eines lokalen Containers mit vorinstalliertem SSH-Server, falls es nicht möglich ist, einen Bereich mit Remotezugriff und Internetverbindung einzurichten.

**Anmerkung**  
In diesem Beispiel erfordert der SSH-Server keine Authentifizierung und wird nur zum Exportieren des VS-Code-Remoteservers verwendet.
Der Container sollte auf einer x64-Architektur erstellt und ausgeführt werden.

```
FROM amazonlinux:2023

# Install OpenSSH server and required tools
RUN dnf install -y \
    openssh-server \
    shadow-utils \
    passwd \
    sudo \
    tar \
    gzip \
    && dnf clean all

# Create a user with no password
RUN useradd -m -s /bin/bash sagemaker-user && \
    passwd -d sagemaker-user

# Add sagemaker-user to sudoers via wheel group
RUN usermod -aG wheel sagemaker-user && \
    echo 'sagemaker-user ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/sagemaker-user && \
    chmod 440 /etc/sudoers.d/sagemaker-user

# Configure SSH to allow empty passwords and password auth
RUN sed -i 's/^#\?PermitEmptyPasswords .*/PermitEmptyPasswords yes/' /etc/ssh/sshd_config && \
    sed -i 's/^#\?PasswordAuthentication .*/PasswordAuthentication yes/' /etc/ssh/sshd_config

# Generate SSH host keys
RUN ssh-keygen -A

# Expose SSH port
EXPOSE 22

WORKDIR /home/sagemaker-user
USER sagemaker-user

# Start SSH server
CMD ["bash"]
```

Verwenden Sie die folgenden Befehle, um den Container zu erstellen und auszuführen:

```
# Build the image
docker build . -t remote_server_export

# Run the container
docker run --rm -it -d \
  -v /tmp/remote_access/.VS Code-server:/home/sagemaker-user/.VS Code-server \
  -p 2222:22 \
  --name remote_server_export \
  remote_server_export
  
# change the permisson for the mounted folder
docker exec -i remote_server_export \
       bash -c 'sudo chown sagemaker-user:sagemaker-user ~/.VS Code-server'

# start the ssh server in the container 
docker exec -i remote_server_export bash -c 'sudo /usr/sbin/sshd -D &'
```

Stellen Sie mit dem folgenden Befehl eine Verbindung her:

```
ssh sagemaker-user@localhost -p 2222
```

Bevor dieser Container verbunden werden kann, konfigurieren Sie in der `.ssh/config`-Datei Folgendes. Danach können Sie den `remote_access_export` als Hostnamen im Remote-SSH-Seitenbereich sehen, wenn Sie eine Verbindung herstellen. Beispiel:

```
Host remote_access_export
  HostName localhost
  User=sagemaker-user
  Port 2222
  ForwardAgent yes
```

Archivieren Sie `/tmp/remote_access/.VS Code-server` und folgen Sie den Schritten in den vorgefertigten VS-Code-Remoteservern und Erweiterungen, um eine Verbindung herzustellen und die Erweiterung zu installieren. Stellen Sie nach dem Entpacken sicher, dass der `.VS Code-server`-Ordner als übergeordneter Ordner angezeigt wird.

```
cd /tmp/remote_access/
sudo tar -czvf VS Code-server-with-extensions-for-1.100.2.tar.gz .VS Code-server
```

### Beispiel für ein LCC-Skript (LCC-install-VS C ode-server-v 1.100.2)
<a name="remote-access-local-ide-setup-vpc-no-internet-pre-packaged-vs-code-remote-server-and-extensions-example-lcc"></a>

Im Folgenden finden Sie ein Beispiel für die Installation einer bestimmten Version des VS-Code-Remoteservers.

```
#!/bin/bash

set -x

remote_server_file=VS Code-server-with-extensions-for-1.100.2.tar.gz

if [ ! -d "${HOME}/.VS Code-server" ]; then
    cd /tmp
    aws s3 cp s3://S3_BUCKET/remote_access/${remote_server_file} .
    tar -xzvf ${remote_server_file}
    mv .VS Code-server "${HOME}"
    rm ${remote_server_file}
else
    echo "${HOME}/.VS Code-server already exists, skipping download and install."
fi
```