Blogi • 23.02.2021

Suomi.fi-palveluun on nyt entistä helpompi liittyä

Suomi.fi-palveluun on nyt entistä helpompi liittyä

Johdanto

Globaalille X-Roadtiedonsiirtoalustalle on kehitetty uusi liityntäpalvelinvaihtehto ”Sidecar. Se on Docker-teknologiaa hyödyntävä kontitettu liityntäpalvelin, joka voidaan asentaa samaan ympäristöön, jossa integroitava tietojärjestelmäkin sijaitsee. Konttitettu ratkaisu tekee liityntäpalvelimen käyttämisestä kustannustehokkaampaa, ja se sopii erityisesti ympäristöihin, joissa tietojärjestelmät jo käyttävät konttiteknologiaa. Uusi liityntäpalvelin on kehitetty Suomen Digi- ja Väestötietovirastolle, ja se julkaistaan MIT-lisensoituna avoimen lähdekoodin komponenttina X-Road-tiedonsiirtoalustan yhteydessä. X-Roadia hallinnoi ja kehittää Nordic Institute for Interoperability Solutions (NIIS). 

Asennus

Sidecarin myötä liityntäpalvelimen asennusprosessi yksinkertaistuu verrattuna perinteiseen palvelinkeskusasennukseen. Kontitettu liityntäpalvelin vaatii ympäristökseen vain Dockerin Linux-alustalle. Windowsia ja MacOS:ää ei vielä tueta virallisesti, mutta niitäkin voidaan käyttää testaus- ja kehitystarkoituksiin.  

Suomi.fipalveluväylään liittymisessä voi käyttää NIIS:in Dockerhub:ssa julkaistuja kontitettuja liityntäpalvelimia. Käyttöönotossa määritellään tarvittavat parametrit, joilla varmistetaan liityntäpalvelimen oikeanlainen ja ekosysteemiin yhteensopiva konfiguraatio. Samassa yhteydessä liityntäpalvelin luo tarvittavat TLS-avaimet ja varmenteet, sekä määrittää järjestelmävalvojan tunnistetiedot ja ohjelmiston PIN-koodin. 

Kontitettuun liityntäpalvelimeen voidaan määrittää myös ulkoinen tietokanta. Tällöin parametreiksi tarvitaan tietokantapalvelimen nimi, portti ja pääkäyttäjän tunnistetiedot. Liityntäpalvelin tukee myös erilaisia PostgreSQLyhteensopivia pilvitietokantoja, kuten AWS, RDS ja Azure.

Ohjelmistopaketit 

Kontitetusta liityntäpalvelimesta on saatavilla useita versioita, joista Suomi.fipalveluväylän jäsenet voivat valita sopivimman. Ohjelmistopaketit asentavat määritellyt moduulitjoko pelkän perusversion tai haluamansa lisäosat. Esimerkiksi versiossa 6.25.0 on mukana viestiloki, sekä operoinnin ja ympäristön seurannan moduulit, kun taas 6.25.0-slim versio ei niitä sisällä. Slimversiota suositellaan käytettäväksi ensisijaisesti X-Road palveluiden hyödyntäjille. Lisäksi saatavilla on maakohtaisia kokoonpanoversioita, esimerkiksi 6.25.0-fi -versio suomalaiselle palveluväylälle.  

 

Käyttöönotto 

Merkittävin kontitetun liityntäpalvelimen eduista on, että se toimii asiakkaan tai palvelun tietojärjestelmän kanssa samassa ympäristössä, mutta omassa erillisessä kontissaan. Kontitettua liityntäpalvelinta voi saman verkon/klusterin kautta käyttää yksi tai useampi tietojärjestelmä. Kehitteillä on myös liityntäpalvelin-klusterin automaattinen skaalautuvuus kuormitusvaihtelujen hallintaan ja tämä tulee auttamaan liityntäpalvelinklusterin asianmukaisessa mitoituksessa. 

Kun liityntäpalvelin viedään tuotantoympäristöön, pitää kiinnittää erityistä huomiota sen vikasietoisuuteen. Myös kontitetulla liityntäpalvelimella voidaan täyttää korkean saavutettavuuden vaatimukset kuormanjaon avulla. X-Roadin sisäistä kuormanjakoa käytettäessä on määritettävä useita liityntäpalvelinkontteja samalla jäsen- ja palvelukoodiyhdistelmällä – näin Suomi.fi-palveluväylä reitittää yhteyspyynnöt nopeimmin vastaavalle liityntäpalvelimelle. 

 

Ulkoiset tietokannat 

Toinen kontitetun liityntäpalvelimen mukanaan tuoma etu on mahdollisuus käyttää sisäistä tai ulkoista tietokantaa. Tuotantoympäristössä on erittäin suositeltavaa määrittää kontitettu liityntäpalvelin käyttämään ulkoista tietokantaa. Näin liityntäpalvelimen konfiguraatiota ei menetetä, vaikka kyseinen kontti tuhotaan. Docker sallii saman konfiguraation käyttämisen usealle liityntäpalvelinkontille, mikä mahdollistaa esimerkiksi suoraviivaiset versiopäivitykset. Ensin luodaan varmuuskopio konfiguraatiosta. Sitten tuodaan uusi ohjelmistoversio tuotantoympäristöön ja palautetaan sille varmuuskopioitu konfiguraatio – tai asetetaan se käyttämään tallennustilaa, jossa konfiguraatio on määritelty.

 

Turvallisuus 

Turvallisuusmielessä Docker takaa, että kontitetut sovellukset pysyvät täysin erillään. Kontitetun liityntäpalvelimen yhteydessä pitää kuitenkin huomioida joitain tietoturvariskejä, jotka johtuvat sovelluskerroksen ja infrastruktuurikerroksen erottamisesta. Käyttäjän tulee tarkistaa huolellisesti Docker-tietoturvakäytännöt (englanniksi) liityntäpalvelimen suojaamiseksi. Kattava tietoturvaopas löytyy dokumentaatiosta, jossa kuvataan tärkeimmät suositukset yleisten turvallisuusongelmien välttämiseksi.  

Samassa ympäristössä ajettavien sovellusten ja konttien yhteydet kontitettuun liityntäpalvelimeen tulee estää määrittämällä yhteydet vain sallituille konteille. On myös erittäin suositeltavaa tallentaa tietoturvallisuuden kannalta arkaluontoiset tiedot käytetyn kontin ulkopuolelle. 

 

Katso myös: Digi- ja Väestotietoviraston tiedote 

Raul Martinez

Raul is a Software Engineer with more than 10 years of international experience in Software Consultancy firms around Europe with experience in Software Architecture, Systems Integration, and Project Management. Besides managing the operations of Gofore Spain, Raul works in Digital Transformation projects with the Finnish Digital Agency and Nordic Institute for Interoperability Solutions (NIIS) on the X-Road secure data exchange platform. Enthusiast of applying new technologies to make the world a better place bit by bit. Tireless traveler loves to meet people from different cultures and enjoys practicing his skills in food and music in his spare time.

Linkedin profile

Piditkö lukemastasi? Jaa se myös muille.