

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)
+ [Zugriff 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 [ EC2 Amazon-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 zuzugreifen`http://169.254.169.254`. Sie müssen die *folgenden Adressen `169.254.169.254` in das Feld „Kein Proxy*“ aufnehmen.

## 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 normalerweise 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, z. B. 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 `go_xl8` Methodenaufrufen an 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 dreibuchstabige 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. 

## Zugriff 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.
```