{"id":3473,"date":"2021-08-20T13:59:00","date_gmt":"2021-08-20T11:59:00","guid":{"rendered":"https:\/\/blog.besharp.it\/?p=3473"},"modified":"2021-08-20T13:47:32","modified_gmt":"2021-08-20T11:47:32","slug":"come-sfruttare-i-servizi-gestiti-di-aws-e-i-container-docker-per-semplificare-la-gestione-di-un-sito-wordpress-su-aws","status":"publish","type":"post","link":"https:\/\/blog.besharp.it\/it\/come-sfruttare-i-servizi-gestiti-di-aws-e-i-container-docker-per-semplificare-la-gestione-di-un-sito-wordpress-su-aws\/","title":{"rendered":"Come sfruttare i servizi gestiti di Aws e i container Docker per semplificare la gestione di un sito WordPress su AWS"},"content":{"rendered":"\n

WordPress \u00e8 la piattaforma di creazione contenuti pi\u00f9 facile ed immediata da utilizzare. La flessibilit\u00e0 che mette a disposizione \u00e8 ci\u00f2 che la rende la piattaforma pi\u00f9 diffusa in assoluto tra gli autori: utilizzando alcuni plugin \u00e8 possibile creare e mantenere in modo semplice e con pochi clic qualsiasi tipo di contenuto, da semplici gallerie di immagini, fino ai pi\u00f9 complessi siti di e-commerce.<\/p>\n\n\n\n

Se per gli autori di contenuti WordPress risulta essere quindi una vera e propria manna dal cielo, dal punto di vista di chi lavora nell\u2019IT \u00e8 spesso considerato un software infernale. Garantirne il buon funzionamento \u00e8 un compito che tiene svegli sistemisti e DevOps di tutto il mondo: la scalabilit\u00e0 non \u00e8 immediata, l\u2019installazione non \u00e8 scriptata ed uno stack LAMP non \u00e8 facile da mantenere aggiornato.\u00a0<\/p>\n\n\n\n

In questo articolo vi forniremo alcuni suggerimenti tecnici per rendere meno tragica la gestione di  WordPress ospitati in un ambienti Cloud. In particolare,sfrutteremo i servizi offerti dal provider Amazon Web Services utilizzando il maggior numero possibile di servizi gestiti. In questo modo,  elimineremo tutte le attivit\u00e0 ripetitive, e quindi potenzialmente pi\u00f9 pericolose, semplificando notevolmente gestione e manutenzione. <\/p>\n\n\n\n

Database<\/h2>\n\n\n\n

Per prima cosa, vogliamo che il nostro database possa essere altamente affidabile e che riesca a scalare sostenendo senza fatica l\u2019andamento del traffico. La miglior scelta per soddisfare questi requisiti risiede nell\u2019utilizzo di Amazon Aurora MySQL. <\/p>\n\n\n\n

Utilizzando Amazon Aurora, infatti, non dovremo preoccuparci dello spazio utilizzato perch\u00e9 lo storage pu\u00f2 scalare automaticamente quando necessario. Inoltre, il point-in-time recovery rende possibile il recupero dei dati con la granularit\u00e0 di secondi.<\/p>\n\n\n\n

Sono possibili anche configurazioni \u201cMulti-AZ\u201d con repliche in lettura (read replica) che possono essere promosse in caso di fallimento di una availability zone: quando si crea un cluster Aurora, AWS assegna automaticamente un endpoint (a cui \u00e8 associato un record DNS) per la lettura e uno per la scrittura. <\/p>\n\n\n\n

In caso di fallimento (o di operazioni di manutenzione) la read replica viene automaticamente promossa per diventare l\u2019istanza di scrittura e l\u2019endpoint viene modificato di conseguenza.<\/p>\n\n\n\n

Basta semplicemente impostare il file wp-config.php per utilizzare l\u2019endpoint di scrittura ed AWS si occuper\u00e0 di fare tutto il resto. Con Amazon Aurora \u00e8 possibile aggiungere fino a 15 read replica. <\/p>\n\n\n\n

Se il tipo di traffico che il sito dovr\u00e0 sopportare sar\u00e0 prevalentemente di lettura \u00e8 possibile sfruttare questa possibilit\u00e0, ma occorre fare in modo che WordPress riesca ad utilizzare tutte le repliche. Il plugin hyperdb (https:\/\/wordpress.org\/plugins\/hyperdb\/<\/a>) permette proprio di fare questo, definendo un database master ed un numero di repliche a piacere.
Il file di configurazione \u00e8 ben documentato (
https:\/\/plugins.trac.wordpress.org\/browser\/hyperdb\/trunk\/db-config.php<\/a> ) e questa \u00e8 una configurazione di esempio:<\/p>\n\n\n\n

wpdb->add_database(array(\n 'host'\t=> mydbcluster.cluster-123456789012.us-east-1.rds.amazonaws.com,\n 'user'\t=> DB_USER,\n 'password'\t=> DB_PASSWORD,\n  'name' \t=> DB_NAME,\n));\n\n$wpdb->add_database(array(\n 'host' \t=> mydbcluster.cluster-ro-123456789012.us-east-1.rds.amazonaws.com,\n 'user'\t=> DB_USER,\n 'password'\t=> DB_PASSWORD,\n 'name'\t=> DB_NAME,\n 'write'\t=> 0,\n 'read'\t=> 1,\n));<\/code><\/pre>\n\n\n\n

In caso di basso traffico al sito o di traffico incerto in cui non \u00e8 noto quando e se sia necessario scalare, invece,  la miglior scelta possibile ricade su Aurora Serverless. Questo database ha la possibilit\u00e0 di scalare la capacit\u00e0 computazionale in modo automatico e di rimanere \u201cin pausa\u201d quando il sito web non \u00e8 utilizzato, permettendo di ottimizzare al massimo i costi.<\/p>\n\n\n\n

Compute<\/h2>\n\n\n\n

Vogliamo poter utilizzare l\u2019elasticit\u00e0 che i servizi cloud mettono a disposizione, per cui gli Autoscaling Group di EC2 potrebbero sembrare la soluzione pi\u00f9 naturale. Ci spingeremo oltre e utilizzeremo container Docker su un cluster ECS in modalit\u00e0 Fargate, anche se sar\u00e0 necessario un po\u2019 di refactoring applicativo. <\/p>\n\n\n\n

L\u2019utilizzo di container, infatti, riduce le attivit\u00e0 di manutenzione necessarie per l\u2019aggiornamento dei sistemi operativi e rende pi\u00f9 semplice implementare la scalabilit\u00e0. Un ulteriore vantaggio ottenibile con poco sforzo deriva dalla possibilit\u00e0 di automatizzare l’intero flusso di deployment attraverso l’utilizzo di Pipeline. Pi\u00f9 avanti nell\u2019articolo vedremo come fare.<\/p>\n\n\n\n

WordPress mette a disposizione una immagine docker gi\u00e0 pronta con una installazione di default: https:\/\/hub.docker.com\/_\/wordpress<\/a> <\/p>\n\n\n\n

Possiamo utilizzare questa immagine ed adattarla alle nostre esigenze, automatizzando l\u2019installazione di plugin mediante l\u2019uso di wp-cli. In questo esempio installeremo il plugin wordpress-seo (assumendo che abbiate gi\u00e0 a disposizione il file wp-config.php).<\/p>\n\n\n\n

La configurazione e le soluzioni proposte in questo articolo sono solo di esempio. Per utilizzarla dovrete prima adattarla alle vostre esigenze. Vi raccomandiamo inoltre di indagare sempre sul software in esecuzione nei vostri ambienti, specialmente in soluzioni basate su container.<\/p>\n\n\n\n

Ecco un esempio di Dockerfile:<\/p>\n\n\n\n

FROM wordpress\n\nCOPY wp-config.php \/usr\/src\/wordpress\/\n\nRUN  curl -O https:\/\/raw.githubusercontent.com\/wp-cli\/builds\/gh-pages\/phar\/wp-cli.phar && chmod +x wp-cli.phar && mv wp-cli.phar \/usr\/local\/bin\/wp\n\nWORKDIR \/usr\/src\/wordpress\/\n\nRUN wp --allow-root core update\nRUN wp --allow-root plugin install wordpress-seo  \n\nWORKDIR \/var\/www\/html<\/code><\/pre>\n\n\n\n

In questo modo abbiamo automatizzato la nostra installazione, rendendola manutenibile e pronta per test in ambienti differenti. <\/p>\n\n\n\n

\u00c8 possibile utilizzare docker-compose per effettuare il test o, in alternativa, eseguire <\/p>\n\n\n\n

docker build . -t myawesomewordpresscontainer<\/code><\/pre>\n\n\n\n

per avere un container pronto di cui fare deploy.<\/p>\n\n\n\n

Creare un ambiente serverless AWS ECS \u00e8 molto semplice: <\/p>\n\n\n\n

Sulla AWS Console fare click su ECS -> Create Cluster, selezionare \u201cNetworking Only\u201d per creare un cluster Fargate:<\/p>\n\n\n\n

\"Cluster<\/figure>\n\n\n\n

Diamogli un nome:<\/p>\n\n\n\n

\"Cluster<\/figure>\n\n\n\n

A questo punto \u00e8 necessario creare un repository Docker per l\u2019immagine. Basta fare click su \u201cAmazon ECR\u201d – Repositories.<\/p>\n\n\n\n

\"Repository\"<\/figure>\n\n\n\n

<\/p>\n\n\n\n

Facendo click sul repository appena creato \u00e8 possibile avere le istruzioni pronte all\u2019uso per fare la build e l\u2019upload del container facendo click sul pulsante \u201cView push commands\u201d.<\/p>\n\n\n\n

\"Wordpress<\/figure>\n\n\n\n

<\/p>\n\n\n\n

Terminato l\u2019upload dell\u2019immagine del container \u00e8 possibile definire una task definition che si occuper\u00e0 di definire come eseguire il nostro container nel cluster ECS.<\/p>\n\n\n\n

Facendo click su \u201ctask definitions\u201d sulla barra a lato e selezionando \u201cCreate new Task Definition\u201d si avvier\u00e0 la procedura guidata di creazione:<\/p>\n\n\n\n

\"Task<\/figure>\n\n\n\n

<\/p>\n\n\n\n

Selezionare Fargate<\/p>\n\n\n\n

\"Launch<\/figure>\n\n\n\n

<\/p>\n\n\n\n

A questo punto occorre solo dare un nome alla task definition e definire le risorse assegnate. Per questa piccola demo selezioneremo 0.25 unit\u00e0 per la CPU e 0.5GB di memoria. \u00c8 sempre buona cosa tenere presente che \u00e8 meglio avere la possibilit\u00e0 di scalare orizzontalmente utilizzando pi\u00f9 container piccoli. <\/p>\n\n\n\n

Facendo click su \u201cadd container\u201d si specificano i parametri per l\u2019ambiente di esecuzione Docker, facendo attenzione a definire un mapping per esporre la porta 80 del webserver. <\/p>\n\n\n\n

\"Container\"<\/figure>\n\n\n\n

Terminata la creazione della task definition occorre solamente passare alla creazione di un service:<\/p>\n\n\n\n

\"Deploy\"<\/figure>\n\n\n\n

<\/p>\n\n\n\n

Il service appena definito si occupa di fare il deploy e di mantenere attivi due task, in questo modo la nostra installazione di wordpress sar\u00e0 in altamente affidabile e con bilanciamento del traffico. <\/p>\n\n\n\n

Essendo configurazioni ordinarie su AWS, non ci occuperemo in questo articolo della creazione del load balancer e dei security group associati. Se volete saperne di pi\u00f9, scriveteci!<\/p>\n\n\n\n

Storage<\/strong><\/p>\n\n\n\n

I container Docker sono stateless (per definizione), quindi rimane solo un ultimo tema da affrontare: la persistenza dei dati statici. <\/p>\n\n\n\n

In questo caso il servizio di riferimento \u00e8 Amazon EFS: un filesystem distribuito e condiviso.<\/p>\n\n\n\n

Possiamo memorizzare le risorse statiche contenute nella directory wp-content\/uploads aggiungendo semplicemente un file system EFS nella task definition:<\/p>\n\n\n\n

\"Storage\"<\/figure>\n\n\n\n

<\/p>\n\n\n\n

Dopo aver assegnato il filesystem il container \u00e8 in grado di utilizzarlo:<\/p>\n\n\n\n

\"Storage<\/figure>\n\n\n\n

<\/p>\n\n\n\n

Non dimenticatevi di definire un job di AWS Backup per la share EFS ! <\/p>\n\n\n\n

Esistono anche plugin WordPress per utilizzare S3 che non useremo in questo articolo per mantenere il nostro esempio semplice. \u00c8 bene per\u00f2 sapere che esistono per poterli tenere in considerazione nel caso di un’installazione in ambiente di produzione.<\/p>\n\n\n\n

Caching<\/strong><\/p>\n\n\n\n

Come regola generale, anche se non mostreremo la procedura passo passo, \u00e8 possibile ridurre i costi e rendere il sito pi\u00f9 veloce per gli utenti aggiungendo una distribuzione CloudFront in fronte al load balancer.<\/p>\n\n\n\n

Per quanto riguarda la cache applicativa \u00e8 possibile usare Amazon Elasticache for Redis ed il plugin WordPress redis-cache per ridurre il carico delle query al database e mantenere le sessioni utente. <\/p>\n\n\n\n

Il deploy richiede solo alcuni minuti: basta cliccare sul pulsante \u201cCreate\u201d sulla Console AWS alla voce \u201cElasticache\u201d.<\/p>\n\n\n\n

\"ElastiCache<\/figure>\n\n\n\n

<\/p>\n\n\n\n

Per mantenere il cluster privato ed in alta affidabilit\u00e0 occorre creare un nuovo subnet group selezionando almeno due subnet in due Availability Zones differenti. Le impostazioni si trovano alla sezione \u201cAdvanced Redis settings\u201d. Per fare in modo che i container WordPress riescano a raggiungere il servizio Redis basta selezionare o creare un security group adatto allo scopo. <\/p>\n\n\n\n

Una volta fatto click sul pulsante \u201cCreate\u201d il cluster sar\u00e0 disponibile nel giro di alcuni minuti.<\/p>\n\n\n\n

Terminata la creazione del cluster baster\u00e0 aggiungere al Dockerfile la riga:<\/p>\n\n\n\n

RUN --allow-root plugin install redis-cache<\/code><\/pre>\n\n\n\n

E successivamente configurare il plugin per fare cache delle sessioni utente utilizzando il primary endpoint visualizzabile nei dettagli del cluster.<\/p>\n\n\n\n

WAF<\/strong><\/p>\n\n\n\n

Per mitigare attacchi e vulnerabilit\u00e0 applicative possiamo tenere in considerazione l\u2019attivazione di AWS WAF, abilitando il set di regole \u201cManaged AWS Rules for AWS Firewall\u201d. Il servizio WAF \u00e8 associabile all\u2019Application Load Balancer o alla distribuzione CloudFront (se avete optato per utilizzarla).<\/p>\n\n\n\n

Manutenzione ed aggiornamento (le Pipeline)<\/strong><\/p>\n\n\n\n

La nostra scelta per l\u2019automatizzazione della manutenzione del nostro container WordPress \u00e8 l\u2019accoppiata CodeBuild\/CodePipeline.<\/p>\n\n\n\n

Per questi aspetti basta seguire l\u2019ottimo articolo di Alessio (https:\/\/blog.besharp.it\/aws-fargate-services-deployment-with-continuous-delivery-pipeline\/<\/a> ) e la strategia di deploy Blue\/Green descritta da Alessandro (https:\/\/blog.besharp.it\/how-to-setup-a-continuous-deployment-pipeline-on-aws-for-ecs-blue-green-deployments\/<\/a> ) <\/p>\n\n\n\n

Con i giusti servizi managed \u00e8 possibile mantenere l\u2019attenzione ed il focus sulla creazione di contenuti: delegando le operazioni per mantenere alta affidabilit\u00e0 e riducendo i costi operativi si rende pi\u00f9 facile l\u2019implementazione ed il deploy di un ambiente WordPress a partire da zero.<\/p>\n","protected":false},"excerpt":{"rendered":"

WordPress \u00e8 la piattaforma di creazione contenuti pi\u00f9 facile ed immediata da utilizzare. La flessibilit\u00e0 che mette a disposizione \u00e8 […]<\/p>\n","protected":false},"author":13,"featured_media":3465,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[241],"tags":[375,373],"yoast_head":"\nCome sfruttare i servizi gestiti di Aws e i container Docker per semplificare la gestione di un sito Wordpress su AWS - Proud2beCloud Blog<\/title>\n<meta name=\"description\" content=\"I suggerimenti dei nostri Cloud Expert per facilitare la gestione di\u00a0WordPress in ambienti Cloud sfruttando container e servizi gestiti AWS.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.besharp.it\/it\/come-sfruttare-i-servizi-gestiti-di-aws-e-i-container-docker-per-semplificare-la-gestione-di-un-sito-wordpress-su-aws\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Come sfruttare i servizi gestiti di AWS e i container Docker per semplificare la gestione di un sito WordPress su AWS\" \/>\n<meta property=\"og:description\" content=\"I suggerimenti dei nostri Cloud Expert per facilitare la gestione di\u00a0WordPress in ambienti Cloud sfruttando container e servizi gestiti AWS.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.besharp.it\/it\/come-sfruttare-i-servizi-gestiti-di-aws-e-i-container-docker-per-semplificare-la-gestione-di-un-sito-wordpress-su-aws\/\" \/>\n<meta property=\"og:site_name\" content=\"Proud2beCloud Blog\" \/>\n<meta property=\"article:published_time\" content=\"2021-08-20T11:59:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-08-20T11:47:32+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.besharp.it\/wp-content\/uploads\/2021\/08\/Deploying-a-WordPress-site-to-the-AWS-social-ita.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Damiano Giorgi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Come sfruttare i servizi gestiti di AWS e i container Docker per semplificare la gestione di un sito WordPress su AWS\" \/>\n<meta name=\"twitter:description\" content=\"I suggerimenti dei nostri Cloud Expert per facilitare la gestione di\u00a0WordPress in ambienti Cloud sfruttando container e servizi gestiti AWS.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/blog.besharp.it\/wp-content\/uploads\/2021\/08\/Deploying-a-WordPress-site-to-the-AWS-social-ita.jpg\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Damiano Giorgi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.besharp.it\/it\/come-sfruttare-i-servizi-gestiti-di-aws-e-i-container-docker-per-semplificare-la-gestione-di-un-sito-wordpress-su-aws\/\",\"url\":\"https:\/\/blog.besharp.it\/it\/come-sfruttare-i-servizi-gestiti-di-aws-e-i-container-docker-per-semplificare-la-gestione-di-un-sito-wordpress-su-aws\/\",\"name\":\"Come sfruttare i servizi gestiti di Aws e i container Docker per semplificare la gestione di un sito Wordpress su AWS - Proud2beCloud Blog\",\"isPartOf\":{\"@id\":\"https:\/\/blog.besharp.it\/it\/#website\"},\"datePublished\":\"2021-08-20T11:59:00+00:00\",\"dateModified\":\"2021-08-20T11:47:32+00:00\",\"author\":{\"@id\":\"https:\/\/blog.besharp.it\/it\/#\/schema\/person\/a9195473e4a658b45cb12d3df3fdf293\"},\"description\":\"I suggerimenti dei nostri Cloud Expert per facilitare la gestione di\u00a0WordPress in ambienti Cloud sfruttando container e servizi gestiti AWS.\",\"breadcrumb\":{\"@id\":\"https:\/\/blog.besharp.it\/it\/come-sfruttare-i-servizi-gestiti-di-aws-e-i-container-docker-per-semplificare-la-gestione-di-un-sito-wordpress-su-aws\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.besharp.it\/it\/come-sfruttare-i-servizi-gestiti-di-aws-e-i-container-docker-per-semplificare-la-gestione-di-un-sito-wordpress-su-aws\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.besharp.it\/it\/come-sfruttare-i-servizi-gestiti-di-aws-e-i-container-docker-per-semplificare-la-gestione-di-un-sito-wordpress-su-aws\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.besharp.it\/it\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Come sfruttare i servizi gestiti di Aws e i container Docker per semplificare la gestione di un sito WordPress su AWS\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.besharp.it\/it\/#website\",\"url\":\"https:\/\/blog.besharp.it\/it\/\",\"name\":\"Proud2beCloud Blog\",\"description\":\"il blog di beSharp\",\"alternateName\":\"Proud2beCloud Blog\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.besharp.it\/it\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.besharp.it\/it\/#\/schema\/person\/a9195473e4a658b45cb12d3df3fdf293\",\"name\":\"Damiano Giorgi\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/blog.besharp.it\/it\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9a20b8c97250d4fb49857192f7e4bedf?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9a20b8c97250d4fb49857192f7e4bedf?s=96&d=mm&r=g\",\"caption\":\"Damiano Giorgi\"},\"description\":\"Ex sistemista on-prem, pigro e incline all'automazione di task noiosi. Alla ricerca costante di novit\u00e0 tecnologiche e quindi passato al cloud per trovare nuovi stimoli. L'unico hardware a cui mi dedico ora \u00e8 quello del mio basso; se non mi trovate in ufficio o in sala prove provate al pub o in qualche aeroporto!\",\"url\":\"https:\/\/blog.besharp.it\/it\/author\/damiano-giorgi\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Come sfruttare i servizi gestiti di Aws e i container Docker per semplificare la gestione di un sito Wordpress su AWS - Proud2beCloud Blog","description":"I suggerimenti dei nostri Cloud Expert per facilitare la gestione di\u00a0WordPress in ambienti Cloud sfruttando container e servizi gestiti AWS.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.besharp.it\/it\/come-sfruttare-i-servizi-gestiti-di-aws-e-i-container-docker-per-semplificare-la-gestione-di-un-sito-wordpress-su-aws\/","og_locale":"it_IT","og_type":"article","og_title":"Come sfruttare i servizi gestiti di AWS e i container Docker per semplificare la gestione di un sito WordPress su AWS","og_description":"I suggerimenti dei nostri Cloud Expert per facilitare la gestione di\u00a0WordPress in ambienti Cloud sfruttando container e servizi gestiti AWS.","og_url":"https:\/\/blog.besharp.it\/it\/come-sfruttare-i-servizi-gestiti-di-aws-e-i-container-docker-per-semplificare-la-gestione-di-un-sito-wordpress-su-aws\/","og_site_name":"Proud2beCloud Blog","article_published_time":"2021-08-20T11:59:00+00:00","article_modified_time":"2021-08-20T11:47:32+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/blog.besharp.it\/wp-content\/uploads\/2021\/08\/Deploying-a-WordPress-site-to-the-AWS-social-ita.jpg","type":"image\/jpeg"}],"author":"Damiano Giorgi","twitter_card":"summary_large_image","twitter_title":"Come sfruttare i servizi gestiti di AWS e i container Docker per semplificare la gestione di un sito WordPress su AWS","twitter_description":"I suggerimenti dei nostri Cloud Expert per facilitare la gestione di\u00a0WordPress in ambienti Cloud sfruttando container e servizi gestiti AWS.","twitter_image":"https:\/\/blog.besharp.it\/wp-content\/uploads\/2021\/08\/Deploying-a-WordPress-site-to-the-AWS-social-ita.jpg","twitter_misc":{"Scritto da":"Damiano Giorgi","Tempo di lettura stimato":"9 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blog.besharp.it\/it\/come-sfruttare-i-servizi-gestiti-di-aws-e-i-container-docker-per-semplificare-la-gestione-di-un-sito-wordpress-su-aws\/","url":"https:\/\/blog.besharp.it\/it\/come-sfruttare-i-servizi-gestiti-di-aws-e-i-container-docker-per-semplificare-la-gestione-di-un-sito-wordpress-su-aws\/","name":"Come sfruttare i servizi gestiti di Aws e i container Docker per semplificare la gestione di un sito Wordpress su AWS - Proud2beCloud Blog","isPartOf":{"@id":"https:\/\/blog.besharp.it\/it\/#website"},"datePublished":"2021-08-20T11:59:00+00:00","dateModified":"2021-08-20T11:47:32+00:00","author":{"@id":"https:\/\/blog.besharp.it\/it\/#\/schema\/person\/a9195473e4a658b45cb12d3df3fdf293"},"description":"I suggerimenti dei nostri Cloud Expert per facilitare la gestione di\u00a0WordPress in ambienti Cloud sfruttando container e servizi gestiti AWS.","breadcrumb":{"@id":"https:\/\/blog.besharp.it\/it\/come-sfruttare-i-servizi-gestiti-di-aws-e-i-container-docker-per-semplificare-la-gestione-di-un-sito-wordpress-su-aws\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.besharp.it\/it\/come-sfruttare-i-servizi-gestiti-di-aws-e-i-container-docker-per-semplificare-la-gestione-di-un-sito-wordpress-su-aws\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/blog.besharp.it\/it\/come-sfruttare-i-servizi-gestiti-di-aws-e-i-container-docker-per-semplificare-la-gestione-di-un-sito-wordpress-su-aws\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.besharp.it\/it\/"},{"@type":"ListItem","position":2,"name":"Come sfruttare i servizi gestiti di Aws e i container Docker per semplificare la gestione di un sito WordPress su AWS"}]},{"@type":"WebSite","@id":"https:\/\/blog.besharp.it\/it\/#website","url":"https:\/\/blog.besharp.it\/it\/","name":"Proud2beCloud Blog","description":"il blog di beSharp","alternateName":"Proud2beCloud Blog","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.besharp.it\/it\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"it-IT"},{"@type":"Person","@id":"https:\/\/blog.besharp.it\/it\/#\/schema\/person\/a9195473e4a658b45cb12d3df3fdf293","name":"Damiano Giorgi","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/blog.besharp.it\/it\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/9a20b8c97250d4fb49857192f7e4bedf?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9a20b8c97250d4fb49857192f7e4bedf?s=96&d=mm&r=g","caption":"Damiano Giorgi"},"description":"Ex sistemista on-prem, pigro e incline all'automazione di task noiosi. Alla ricerca costante di novit\u00e0 tecnologiche e quindi passato al cloud per trovare nuovi stimoli. L'unico hardware a cui mi dedico ora \u00e8 quello del mio basso; se non mi trovate in ufficio o in sala prove provate al pub o in qualche aeroporto!","url":"https:\/\/blog.besharp.it\/it\/author\/damiano-giorgi\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.besharp.it\/it\/wp-json\/wp\/v2\/posts\/3473"}],"collection":[{"href":"https:\/\/blog.besharp.it\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.besharp.it\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.besharp.it\/it\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.besharp.it\/it\/wp-json\/wp\/v2\/comments?post=3473"}],"version-history":[{"count":0,"href":"https:\/\/blog.besharp.it\/it\/wp-json\/wp\/v2\/posts\/3473\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.besharp.it\/it\/wp-json\/wp\/v2\/media\/3465"}],"wp:attachment":[{"href":"https:\/\/blog.besharp.it\/it\/wp-json\/wp\/v2\/media?parent=3473"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.besharp.it\/it\/wp-json\/wp\/v2\/categories?post=3473"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.besharp.it\/it\/wp-json\/wp\/v2\/tags?post=3473"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}