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
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.
Szenarien
Verbindung über einen Proxyserver
Gehen Sie wie folgt vor, um eine Verbindung über einen Proxyserver herzustellen.
-
Gehen Sie im SDK zu Transaction
SICF. -
Wählen Sie Ausführen.
-
Wählen Sie im Menü Client > Proxyserver.
-
Stellen Sie die Proxyeinstellung auf Aktiv ein.
-
Führen Sie im Feld Kein Proxy für die folgenden Adressen alle Ausnahmen auf, die durch Semikolons getrennt sind.
-
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 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.
Verbindung über eine Firewall zur Paketinspektion
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 installierenSTRUST. Weitere Informationen finden Sie unter HTTPS-Konnektivität.
Gateway-Endpunkte
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.
Endpunkte für benutzerdefinierte Benutzeroberflächen
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.
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
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
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
Standardmäßig verwendet das SDK die in Transaction konfigurierten Proxyserver-Einstellungen SICF (sieheVerbindung über einen Proxyserver). 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 weiterleitetSICF, 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 definiertSICF. Die Überschreibung pro Dienst steuert nur, ob der Proxy verwendet wird, nicht, welcher Proxyserver verwendet wird.
Zugreifen auf Endpunkte in mehreren Regionen
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 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.