Blogi 23.2.2021

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

Kiva kun löysit tämän artikkelin! Se sisältää varmasti hyvää tietoa, mutta pidäthän mielessä, että se on kirjoitettu 5 vuotta sitten.

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 

cloud

Security server

Sidecar

X-Road

Raul Martinez

Site Lead / People Person / Senior Software Developer

Raúl Martinez is a senior software engineer and a specialist with 14 years of experience in secure system integration, PKI and API architectures, Linux-based infrastructure, and multi-country X-Road deployments. He is driven by the challenge of building secure, reliable national-scale digital infrastructure, while remaining understandable, transparent, and ultimately beneficial for the people and citizens it serves.

Takaisin ylös