Tworzenie load balancera TERMINATED_HTTPS (SSL)
W usłudze Atman Cloud istnieje możliwość terminacji loadbalancera SSL, którego zasada działania została zaprezentowana na rysunku poniżej.
Proces tworzenia takiego loadbalancera składa się z dwóch faz:
Utworzenie kontenera kluczy, który będzie przechowywał certyfikat oraz klucz prywatny
Utworzenie TERMINATED_HTTPS loadbalancera i przypisanie do niego wcześniej utworzonego kontenera kluczy
Tworzenie kontenera kluczy
Utworzenie kontenera kluczy jest możliwe jedynie z poziomu CLI. Nasz użytkownik musi posiadać uprawnienia do tworzenia kluczy(jeżeli nasz użytkownik nie posiada takich uprawnień, należy skontaktować się z opiekunem handlowym). Dodatkowo, musimy posiadać CLI do usługi barbican przystosowanego do obsługi pythona w wersji 3: https://pkgs.org/download/python3-barbicanclient
TLS: certyfikat, klucz oraz łańcuch certyfikatów pośredniczących (intermediate certificate chain) muszą spełniać poniższe założenia:
powinny być otrzymane z zewnętrznego CA (Certificate Authority)
Klucz oraz certyfikat muszą być zakodowane za pomocą PEM, a łańcuch certyfikatów pośredniczących (intermediate certificate chain) musi być konkatenacją wszystkich certyfikatów pośredniczących, zakodowanych za pomocą PEM
Klucz nie może być zahasłowany
Z tak przygotowanymi certyfikatami i kluczem (na potrzeby przykładów nazwijmy certyfikat server.crt, a klucz server.key) tworzymy dwa klucze:
barbican secret store --payload-content-type='text/plain' --name='certificate_terminated_https' --payload="$(cat /ścieżka/do/server.crt)"
barbican secret store --payload-content-type='text/plain' --name='key_terminated_https' --payload="$(cat /ścieżka/do/server.key)"
A na samym końcu tworzymy z nich kontener kluczy:
barbican secret container create --name='tls_container_terminated_https' --type='certificate' --secret="certificate=$(barbican secret list -s opaque | awk '/ certificate_terminated_https / {print $2}')" --secret="private_key=$(barbican secret list -s opaque | awk '/ key_terminated_https / {print $2}')"
Tworzenie load balancera
Tworzenie loadbalancera odbywa się tak samo jak dotychczas. Jedyną różnicą jest wybór typu listenera. Należy wybrać opcję TERMINATED_HTTPS:
Po wypełnieniu wszystkich pożądanych ustawień, należy wybrać uprzednio stworzony certyfikat SSL:
I utworzyć loadbalancer za pomocą przycisku Create Load Balancer