

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.

# Erweiterte Konnektivitätsszenarien
<a name="connectivity-scenarios"></a>

AWS SDK für SAP ABAP verbraucht, AWS-Services indem es HTTPS-Aufrufe an AWS Endpunkte tätigt. Im Allgemeinen sind AWS Endpunkte über das Internet zugänglich. Ein SAP-System muss in der Lage sein, auf das Internet zuzugreifen, um diese ausgehenden Verbindungen herzustellen. Das SDK für SAP ABAP benötigt niemals eine eingehende Verbindung vom Internet zum SAP-System.

Die folgenden Szenarien bieten verschiedene Möglichkeiten, die ausgehende Verbindung herzustellen.

**Topics**
+ [Verbindung über einen Proxyserver](#proxy-server)
+ [Verbindung über eine Firewall zur Paketinspektion](#packet-firewall)
+ [Gateway-Endpunkte](#gateway-endpoints)
+ [Endpunkte für benutzerdefinierte Benutzeroberflächen](#interface-endpoints)
+ [Erweitertes Routing](#advanced-routing)
+ [Per-service Überschreiben des Proxyservers](#proxy-server-override)
+ [Zugreifen auf Endpunkte in mehreren Regionen](#multiple-regions)

## Verbindung über einen Proxyserver
<a name="proxy-server"></a>

Gehen Sie wie folgt vor, um eine Verbindung über einen Proxyserver herzustellen.

1. Gehen Sie im SDK zu Transaction **`SICF`**.

1. Wählen Sie **Ausführen**.

1. Wählen Sie im Menü **Client** > **Proxyserver**.

1. Stellen Sie die **Proxyeinstellung** auf **Aktiv** ein.

1. Führen Sie im Feld **Kein Proxy für die folgenden Adressen** alle Ausnahmen auf, die durch Semikolons getrennt sind.

1. Geben Sie in den Feldern **HTTP-Protokoll** und **HTTPS-Protokoll** die Verbindungsdetails für Ihren Proxyserver an.

Das SDK kennt den Proxyserver nicht und benötigt keine Einstellungen, um die Proxy-Serverkonfiguration des SAP-Systems zu verwenden.

**Anmerkung**  
Wenn Sie die [Amazon EC2 EC2-Instance-Metadaten-Authentifizierung](https://docs.aws.amazon.com/sdk-for-sapabap/latest/developer-guide/system-authentication.html#metadata-authentication) verwenden, kann das SAP-System den Proxy-Server nicht verwenden, um auf die lokalen Instance-Metadaten unter `http://169.254.169.254` zuzugreifen. Sie müssen `169.254.169.254` in das Feld „*Kein Proxy“ die folgenden Adressen* aufnehmen.

**Anmerkung**  
Sie können das Verhalten des Proxyservers für jeden Dienst im Abschnitt **Erweitertes Routing** von `/AWS1/IMG` außer Kraft setzen. Weitere Informationen finden Sie unter [Per-service Überschreiben des Proxyservers](#proxy-server-override).

## Verbindung über eine Firewall zur Paketinspektion
<a name="packet-firewall"></a>

Sie können eine Firewall zur Paketinspektion für ausgehende Verbindungen konfigurieren. Diese Firewalls entschlüsseln den SSL-Verkehr und verschlüsseln ihn dann erneut, bevor er an den Endpunkt weitergeleitet wird. Bei dieser Konfiguration muss die Firewall in der Regel ihre eigenen Zertifikate für das SAP-System ausstellen, das eine verwendet. AWS-Service Sie müssen das CA-Zertifikat Ihrer Firewall in installieren`STRUST`. Weitere Informationen finden Sie unter [HTTPS-Konnektivität](https://docs.aws.amazon.com/sdk-for-sapabap/latest/developer-guide/prerequisites.html#https-connectivity).

## Gateway-Endpunkte
<a name="gateway-endpoints"></a>

Einige AWS-Services bieten Gateway-Endpunkte an, um eine VPC mit Hochleistungszugriff ohne Internet bereitzustellen. Diese Endpunkte sind für das SDK für SAP ABAP transparent und erfordern keine Konfiguration.

Weitere Informationen finden Sie unter [Gateway-Endpunkte](https://docs.aws.amazon.com/vpc/latest/privatelink/gateway-endpoints.html).

## Endpunkte für benutzerdefinierte Benutzeroberflächen
<a name="interface-endpoints"></a>

Wenn Sie die standardmäßige Endpunktauflösung durch einen benutzerdefinierten Endpunkt überschreiben müssen, können Sie einen Schnittstellenendpunkt verwenden, um Ihrer VPC einen Hochleistungszugriff ohne Internet zu ermöglichen. Weitere Informationen finden Sie unter [Konfigurieren eines Schnittstellenendpunkts](https://docs.aws.amazon.com/vpc/latest/privatelink/interface-endpoints.html).

Wenn kein privates DNS verwendet wird, haben diese Endpunkte ihre eigenen DNS-Adressen, und ein ABAP-Programm muss die übliche Logik der Endpunktauflösung explizit außer Kraft setzen. Weitere Informationen finden Sie unter AWS re:Post — [Warum kann ich Dienstdomänennamen für einen Schnittstellen-VPC-Endpunkt nicht auflösen](https://repost.aws/knowledge-center/vpc-interface-configure-dns)?

Im folgenden Beispiel wird ein Schnittstellenendpunkt für AWS STS und Amazon Translate erstellt. Das SAP-System verwendet kein privates DNS und ruft die Dienste mit einem benutzerdefinierten Endpunkt auf. Die in definierten logischen Ressourcen `/AWS1/IMG` stellen die Endpunktadressen der physischen Schnittstelle `vpce-0123456789abcdef-hd52vxz.translate.us-west-2.vpce.amazonaws.com` dar, wie z. Dadurch wird eine harte Codierung des DNS im Code vermieden.

Im folgenden Code `/AWS1/IMG` werden die logischen Ressourcen in zunächst in physische Endpunktnamen aufgelöst. Sie werden dann für die Factory-Methoden der AWS Sitzungsklasse (die verwendet wird, AWS STS um eine IAM-Rolle anzunehmen) und der Translate-API-Klasse bereitgestellt.

```
" This example assumes we have defined our logical endpoints in /AWS1/IMG
" as logical resources so that we don't hardcode our endpoints in code.
" The endpoints may be different in Dev, QA and Prod environments.
DATA(lo_config) = /aws1/cl_rt_config=>create( 'DEMO' ).
DATA(lo_resolver) = /aws1/cl_rt_lresource_resolver=>create( lo_config ).

" logical resource STS_ENDPOINT should resolve to the interface endpoint
" for example vpce-0123456789-abcdefg.sts.us-west-2.vpce.amazonaws.com
DATA(lv_sts_endpoint) = lo_resolver->resolve_lresource( 'STS_ENDPOINT' ).

" logical resource XL8_ENDPOINT should resolve to the interface endpoint
" e.g. vpce-0123456789abcdefg-12345567.translate.us-west-2.vpce.amazonaws.com
DATA(lv_xl8_endpoint) = lo_resolver->resolve_lresource( 'XL8_ENDPOINT' ).

" the session itself uses the sts service to assume a role, so the
" session creation process requires a custom endpoint, specified here
DATA(lo_session) = /aws1/cl_rt_session_aws=>create(
  iv_profile_id = 'DEMO'
  iv_custom_sts_endpoint = |https://{ lv_sts_endpoint }|
).

" now we create an API object, and override the default endpoint with 
" the custom endpoint
DATA(lo_xl8)     = /aws1/cl_xl8_factory=>create(
  io_session = lo_session
  iv_custom_endpoint = |https://{ lv_xl8_endpoint }| " provide custom endpoint
).
" now calls to lo_xl8 go to custom endpoint...
```

Wie im Beispiel gezeigt, werden alle Methodenaufrufe an `go_xl8` den Endpunkt `https://vpce-0123456789abcdefg-12345567.translate.us-west-2.vpce.amazonaws.com` weitergeleitet. Es ist auch möglich, den benutzerdefinierten Routing-Endpunkt in der IMG-Konfiguration statt im Code zu definieren, wie im nächsten Abschnitt gezeigt. 

## Erweitertes Routing
<a name="advanced-routing"></a>

 Im vorherigen Abschnitt haben wir gezeigt, wie ein benutzerdefinierter Endpunkt im `iv_custom_endpoint` Argument der Factory-Methoden für die SDK-Module angegeben werden kann. Da die Anzahl der ABAP-Programme, die das SDK verwenden, zunimmt, kann es schwierig werden, dies zu verwalten. Es ist möglich, eine Zuordnung von einem AWS-Service zu einem benutzerdefinierten Endpunkt im SDK-Profil zu konfigurieren. Für jede SID, jeden Client und jedes Szenario kann die aus drei Buchstaben bestehende Dienstabkürzung (TLA) einer Endpunkt-URL zugeordnet werden: 


|  TLA  |  Benutzerdefinierte Endpunkt-URL  | 
| --- | --- | 
| BDR | https://vpce-23456789abcdef012-3c4d5e6f.bedrock-runtime.us-east-1.vpce.amazonaws.com | 
| LMD | https://vpce-123456789abcdef01-2b3c4d5e.lambda.us-east-1.vpce.amazonaws.com | 
| S3 | https://vpce-0123456789abcdef0-1a2b3c4d.s3.us-east-1.vpce.amazonaws.com | 

 Bei dieser Konfiguration müssen Sie `iv_custom_endpoint` in der Werkseinstellung keine Methodenaufrufen angeben. Der benutzerdefinierte Endpunkt wird automatisch aus der Konfigurationstabelle ausgewählt. Die Konfiguration ist spezifisch für das SDK-Profil, sodass Sie je nach Bedarf mehrere Profile mit unterschiedlichem Routing erstellen können. Wie bei anderen SDK-Profilkonfigurationen ist das Routing SID- und Client-spezifisch, sodass für verschiedene Systeme ein separates Routing definiert werden kann. 

## Per-service Überschreiben des Proxyservers
<a name="proxy-server-override"></a>

Standardmäßig verwendet das SDK die in Transaction konfigurierten Proxyserver-Einstellungen `SICF` (siehe[Verbindung über einen Proxyserver](#proxy-server)). Die Proxyeinstellungen `SICF` gelten global für alle ausgehenden HTTP-Verbindungen aus dem SAP-System. In einigen Umgebungen benötigen Sie möglicherweise eine genauere Kontrolle darüber, welche Benutzer den Proxyserver AWS-Services verwenden und welche direkt eine Verbindung herstellen.

Im Abschnitt **Erweitertes Routing** von `/AWS1/IMG` können Sie für jeden Dienst die Einstellung **Proxyserver verwenden** konfigurieren. Diese Einstellung steuert, ob das SDK Anfragen für diesen Dienst über den in definierten Proxyserver weiterleitet`SICF`, unabhängig von der globalen Proxyaktivierung oder den Filtereinstellungen.

Die folgenden Werte sind verfügbar:
+ **Standard** — Verwenden Sie das Proxyverhalten, für das Sie konfiguriert sind`SICF`. Wenn der Proxy aktiv ist und der Endpunkt nicht durch den Filter ausgeschlossen wird, wird der Proxy verwendet. Dies ist das Standardverhalten.
+ **Immer** — Leitet Anfragen für diesen Dienst immer über den in definierten Proxyserver weiter`SICF`, unabhängig von den globalen Aktivierungs- oder Filtereinstellungen.
+ **Nie** — Leitet Anfragen für diesen Dienst niemals über den Proxyserver weiter, unabhängig von den globalen Aktivierungs- oder Filtereinstellungen. Verwenden Sie dies, wenn ein Service-Endpunkt ohne Proxy direkt erreichbar ist, z. B. wenn Sie einen VPC-Endpunkt verwenden.

Sie könnten beispielsweise Amazon S3 so konfigurieren, dass der Proxy niemals verwendet wird (da auf sie über VPC-Gateway-Endpunkte zugegriffen wird), während Amazon SNS immer den Proxy verwendet, da er nur über das Internet erreichbar ist. AWS STS 


| TLA | Verwenden Sie den Proxyserver | 
| --- | --- | 
| EC2 | Standard | 
| S3 | Niemals | 
| SNS | Immer | 
| STS | Niemals | 

Diese Konfiguration wird pro SDK-Profil, SID, Client und Szenario definiert. Sie können mehrere Profile mit unterschiedlichem Proxy-Routing für unterschiedliche Umgebungen oder Anwendungsfälle erstellen.

**Anmerkung**  
Der Host und der Port des Proxyservers werden immer auf der Registerkarte **HTTPS-Protokoll** der Proxyeinstellungen in Transaction definiert`SICF`. Die Überschreibung pro Dienst steuert nur, ob der Proxy verwendet wird, nicht, welcher Proxyserver verwendet wird.

## Zugreifen auf Endpunkte in mehreren Regionen
<a name="multiple-regions"></a>

AWS Der Endpunkt wird automatisch anhand Ihrer Standardeinstellung bestimmt AWS-Region , die im SDK-Profil definiert ist. Sie können eine Region auch programmgesteuert angeben und dabei die Standardregion überschreiben. Dies kann in der `CREATE()` Factory-Methode oder später mit dem Konfigurationsobjekt des SDK außer Kraft gesetzt werden. Weitere Informationen finden Sie unter [Programmatische](https://docs.aws.amazon.com/sdk-for-sapabap/latest/developer-guide/features.html#programmatic-configuration) Konfiguration.

Im folgenden Beispiel wird die `CREATE()` Factory-Methode verwendet, um die Region festzulegen und die Amazon SQS SQS-Warteschlangen `us-east-1` sowohl `us-west-2` in Regionen als auch in Regionen aufzulisten.

```
REPORT zdemo_sqs_queue_list.
parameters: profile type /AWS1/RT_PROFILE_ID OBLIGATORY.

START-OF-SELECTION.
DATA(go_session) = /aws1/cl_rt_session_aws=>create( profile ).
data(lt_region) = VALUE stringtab(
  ( |us-east-1| )
  ( |us-west-2| )
).

LOOP AT lt_region INTO DATA(lv_region).
  DATA(go_sqs)  = /aws1/cl_sqs_factory=>create(
    io_session = go_session
    iv_region = conv /AWS1/RT_REGION_ID( lv_region )
  ).
  WRITE: / lv_region COLOR COL_HEADING.
  LOOP AT go_sqs->listqueues( )->get_queueurls( ) INTO DATA(lo_url).
    WRITE: / lo_url->get_value( ).
  ENDLOOP.
ENDLOOP.
```