Utilisation d'IBM Cloud Direct Link pour se connecter à IBM Cloud Object Storage
Vous pouvez configurer IBM Cloud® Direct Link de manière à pouvoir accéder à IBM Cloud Object Storage (COS). Bien que les méthodes décrites ici ont été conçues et testées avec COS, elles peuvent fonctionner pour certains autres services IBM Cloud.
Selon la règle, IBM Cloud Direct Link rejette l'accès aux noeuds finaux de service privés IBM Cloud, y compris à ceux utilisés par COS. La technique décrite dans le présent document s'appuie sur un accès indirect à COS via les serveurs hébergés dans le compte IBM Cloud d'un client. Après l'installation et la configuration, chaque serveur de client peut acheminer le trafic de façon bidirectionnelle entre les noeuds finaux de service privés IBM Cloud et leurs réseaux distants connectés par Direct Link.
Qu'est-ce qu'IBM Cloud Object Storage ?
IBM Cloud Object Storage (COS) est une solution basée sur le Web qui stocke des données non structurées. Elle fournit fiabilité, sécurité, disponibilité et reprise après incident sans réplication manuelle.
Les informations stockées dans IBM Cloud Object Storage sont chiffrées et réparties dans plusieurs emplacements géographiques. Elles sont accessibles via une implémentation de l'API S3. Ce service utilise les technologies de stockage réparti fournies par le service IBM Cloud Object Storage.
IBM COS est disponible dans trois configuration :
- Le service Inter-régional permet une plus grande durabilité et une meilleure disponibilité que lorsqu'une seule région est utilisée, mais au détriment de temps d'attente légèrement plus élevés. Ce service est disponible aujourd'hui aux Etats-Unis et dans l'UE. L'utilisation d'un dispositif de routeur virtuel (VRA) vous permet également d'utiliser Direct Link pour vous connecter à COS dans la région Asie-Pacifique.
- Le service régional fournit l'inverse. Il distribue des objets sur plusieurs zones de disponibilité dans une seule région. Si une région ou une zone de disponibilité est inaccessible, le conteneur d'objets continue de fonctionner sans problèmes. Les éventuelles modifications manquées sont appliquées lorsque le centre de données inaccessible est à nouveau en ligne.
- Le service Site unique offre un accès abordable à COS dans un centre de données sélectionné.
Noeuds finaux publics et privés COS
Les noeuds finaux sont des URL que les applications utilisent pour exécuter des commandes COS et échanger des données avec COS. Chaque noeud final utilise la même interface de programmation d'application (API) pour interagir avec COS.
Les serveurs mis à disposition dans IBM Cloud utilisent les noeuds finaux d'API privés des services, y compris COS. Les noeuds finaux privés fournissent à vos serveurs IBM Cloud des clients des connexions directes très rapides avec les services, sans coût supplémentaire lié à la bande passante.
Les points d'extrémité privés du COS permettent aux clients de IBM Cloud d'accéder aux mêmes données du COS que celles accessibles à partir de IBM Cloud, tandis que les points d'extrémité publics permettent d'y accéder à partir de n'importe quel endroit équipé d'un accès à Internet.
Deux avertissements s'appliquent aux noeuds finaux publics COS :
- L'utilisation de noeuds finaux publics peut engendrer des coûts à l'utilisation liés à la bande de passante qui dépassent les frais d'utilisation imposés par le service COS.
- Bien que toutes les données soient chiffrées pendant leur transfert, les clients peuvent être confrontés à des problèmes de confidentialité ou de restriction réglementaire concernant les données transmises via Internet.
Qu'est-ce qu'IBM Cloud Direct Link ?
IBM Cloud Direct Link on Classic est une suite de produits qui permet aux clients de créer des connexions privées sécurisées entre leurs environnements de réseau distant et leurs déploiements IBM Cloud. Les données échangées par Direct Link ne sont jamais exposées sur Internet.
Utilisation de Cloud Object Storage (COS) sur IBM Cloud Direct Link
Les ingénieurs IBM ont mis au point une méthode permettant à un client IBM Cloud qui acquiert les services COS et Direct Link d'établir des connexions distantes à des noeuds finaux privés COS. Ce type de connexion étend les avantages des noeuds finaux de service privés, ce qui les rend utilisables par des systèmes client en dehors des installations IBM Cloud.
Cette solution est présentée sous forme de diagramme et décrite dans les sections qui suivent.
Proxy inverse
Principe de base : Les clients distants transmettent des demandes, y compris des informations d'identification sécurisées, à COS par l'intermédiaire d'un serveur privé.

Les demandes COS HTTPS sont initiées à partir d'un client au niveau d'un site distant. Elles sont transmises de manière sécurisée via IBM Cloud Direct Link, en ciblant l'un des clusters de serveurs proxy inverse déployés dans le compte IBM Cloud d'un client. A partir de là, les demandes sont transmises à un noeud final privé COS, elles sont traitées, puis les résultats sont renvoyés au client appelant distant.
Tout exemple de code client qui fonctionne avec COS devrait également fonctionner à travers un serveur proxy inverse. La seule modification requise est que, au lieu de cibler une URL de noeud final privé COS publiée par IBM, le client cible l'adresse IP ou l'URL du serveur proxy inverse.
Installation de votre proxy inverse Nginx
NginX est un serveur Web open source mature, compact et rapide, qui excelle dans les tâches spécialisées, notamment dans le rôle de serveur proxy inverse.
Les instructions et les informations de configuration indiquées ci-après (relatives à l'installation et la configuration d'un serveur proxy inverse NginX) peuvent fonctionner une fois que vous avez adapté ce dernier à votre environnement. Si vous êtes bloqué ou si vous avez besoin d'informations supplémentaires, consultez la partie sur le proxy inverse de la documentation de Nginx ou cherchez des exemples sur stackoverflow.
- Mettez à disposition vos serveurs VSI ou bare metal avec une version Linux RHEL ou CentOS minimale (recommandée).
- Pour chaque VSI, activez les règles de groupe de sécurité suivantes sur l'interface publique :
allow_http
,allow_https
,allow_outbound
,allow_ssh
. - Pour chaque VSI, activez les règles
allow_all
etallow_outbound
sur l'interface privée ; sélectionnez Sauvegarder. - A l'aide de PuTTY dans Windows ou du programme terminal de votre bureau, connectez-vous en tant qu'utilisateur root à votre nouveau serveur via
ssh
. - Mettez à niveau votre système d'exploitation (
yum update
). - Installez le référentiel EPEL (
yum install epel-release
). - Installez NginX (
yum install nginx
). - Démarrez NginX (
nginx
) et ouvrez l'adresse IP de votre serveur dans un navigateur. - L'emplacement par défaut de
nginx.conf
est/etc/nginx
. Créez une copie limitée. - Déplacez l'exemple de fichier de configuration
nginx.conf
dans/etc/nginx
. - Achetez des certificats SSL via la console IBM Cloud ou exécutez la commande
yum install easy-rsa
et consultez vos documents en ligne préférés pour obtenir des astuces relatives à la création de certificats autosignés. - Ajoutez vos informations de certificat au fichier de configuration
nginx.conf
. - Testez la configuration NginX modifiée avec la commande
nginx -t
. - Si le test aboutit, redémarrez
nginx
avec la commandenginx -s quit; sleep 3; nginx
. - Votre client est à présent en mesure de soumettre des demandes COS aux adresses IP ou aux URL du serveur NginX (proxy).
**Remarques : **
- La solution part du principe que Direct Link a été commandé et correctement déployé, même si elle peut être testée sans ce service.
- La mémoire ou le cache-disque facultatifs peuvent être utilisés avec
proxy_cache
. - Une valeur
proxy_read_timeout
plus élevée peut s'avérer nécessaire pour des transferts de fichiers plus importants. - Utilisez
keepalive
ou Pacemaker pour une haute disponibilité (reprise en ligne automatique).
Fichier de configuration : nginx.conf
L'exemple de fichier de configuration est présenté dans la section suivante. Vous pouvez le copier et le coller.
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
events {
worker_connections 1024;
}
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 5;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
proxy_http_version 1.1;
proxy_buffering off;
proxy_intercept_errors on;
# IBM COS Endpoints
# US
server {
listen 443 ssl http2;
server_name us-cos.myibmcloud.com;
ssl_certificate "/etc/pki/tls/certs/star.myibmcloud.com.pem";
ssl_certificate_key "/etc/pki/tls/private/star.myibmcloud.com.key";
location / {
proxy_set_header Host $server_name;
proxy_pass https://s3-api.us-geo.objectstorage.service.networklayer.com;
}
}
# Dallas
server {
listen 443 ssl http2;
server_name dal-cos.myibmcloud.com;
ssl_certificate "/etc/pki/tls/certs/star.myibmcloud.com.pem";
ssl_certificate_key "/etc/pki/tls/private/star.myibmcloud.com.key";
location / {
proxy_set_header Host $server_name;
proxy_pass https://s3-api.dal-us-geo.objectstorage.service.networklayer.com;
}
}
}
Voir Points de terminaison et emplacements de stockage pour une liste de points de terminaison privés à utiliser dans ces entrées proxy_pass
.
Astuces :
- Pour accélérer la mise à l'échelle et la résilience, déployez plusieurs serveurs proxy associés à différents points finaux.
- Utilisez DNS de façon circulaire côté client pour des fonctions de basculement et d'équilibrage de charge rudimentaires.
- Les serveurs proxy peuvent être placés derrière un dispositif de routeur virtuel à des fins de protection et de journalisation centralisée.
Gestion et mise à disposition de fonctions IBM Cloud
Cette section contient des liens rapides vers la documentation de certaines offres IBM Cloud PaaS et SaaS auxquelles vous pouvez vous connecter à l'aide d'IBM Cloud Direct Link.
Mise à disposition de serveurs bare metal
Pour obtenir des instructions détaillées sur la mise à disposition de serveurs bare metal, voir Mise à disposition : Sélection depuis les serveurs les plus populaires.
Mise à disposition d'un dispositif de routeur virtuel (VRA)
Pour obtenir des instructions détaillées sur la mise à disposition d'un dispositif de routeur virtuel, voir le guide d'initiation sur IBM Virtual Router Appliance.
Mise à disposition d'IBM Cloud Object Storage (COS)
- Pour obtenir des instructions détaillées sur la mise à disposition de COS, voir la documentation sur Cloud Object Storage.
- Utilisez l'un des noeuds finaux privés (indiqués précédemment) pour créer une interface avec votre compartiment ou n'importe quel objet dans votre compte COS mis à disposition.