Klik je nog steeds handmatig op uitvoerbare bestanden om ArcGIS Enterprise te implementeren? Zou het niet fijn zijn om dat proces te automatiseren? Door Amazon Cloud Development Kit (CDK), Amazon Web Services (AWS) Systems Manager en Esri’s PowerShell Desired State Configuration (DSC) bibliotheken te combineren, kun je ArcGIS Enterprise-implementaties naar een hoger niveau tillen! Door Infrastructure as Code te gebruiken om implementaties te automatiseren, maak je ArcGIS Enterprise-implementaties efficiënt, consistent en eenvoudig.<\/P>
Het opslaan van je infrastructuur als code is een essentiële taak geworden voor IT-afdelingen. Het stelt systeembeheerders in staat om snel consistente architecturen uit te rollen, op een herhaalbare manier; en vermindert het risico op gebruikersfouten tijdens implementatie en configuratie. Deze blog geeft instructies over hoe je Infrastructure as Code kunt gebruiken om AWS-infrastructuur te implementeren en vervolgens ArcGIS Enterprise met die infrastructuur te installeren en configureren. Deze blog maakt gebruik van Amazon’s System Manager Run Commands om de instantie voor te bereiden en ArcGIS Enterprise te implementeren zonder in te loggen op een machine!<\/P>
Momenteel biedt Esri CloudFormation-sjablonen en een CloudBuilder-applicatie waarmee je AWS-implementaties kunt automatiseren. De implementatiepatronen voor die tools zijn vrij rigide qua beschikbare architecturen. De aanpak die in deze blog wordt beschreven, maakt een flexibelere architectuur mogelijk en biedt ook toegang tot de code via de arcgis_cdk GitHub-repository.<\/P>
De blog is verdeeld in twee secties:<\/P>
- Implementatie van infrastructuur met de AWS CDK; en<\/LI>
- Implementatie van ArcGIS Enterprise met AWS Systems Manager & PowerShell DSC<\/LI><\/UL>
Het wordt aanbevolen om de links te volgen die verwijzen naar gedetailleerde stappen voor implementatieprocedures binnen de repo. <\/P>
Implementatie van infrastructuur met de CDK:<\/STRONG><\/P>De CDK stelt je in staat om in een taal naar keuze te programmeren en infrastructuur met die taal uit te rollen. De arcgis_cdk gebruikt de CDK om infrastructuur in python te definiëren. Het is ontworpen met veelvoorkomende architectuurpatronen die Esri ziet dat organisaties gebruiken voor ArcGIS Enterprise binnen AWS. De architecturen zijn een gelaagde (componenten opgesplitst in individuele machines) hoog beschikbare configuratie en een gelaagde single instance stack. Een volledige uiteenzetting van de vereisten, implementatiestappen, configuratieparameters en beschikbare architecturen is te vinden binnen de repo. Een logisch diagram van high-level configuratieopties is hieronder weergegeven.<\/P>
<\/span><\/P>Opmerking: Een configuratieparameter stelt de gebruiker in staat om een hoog beschikbaar patroon te kiezen. Als deze parameter waar is, omvat de architectuur de lichtere delen van het bovenstaande diagram (hoog beschikbaar). Als deze onwaar is, omvat het alleen de volledig gekleurde componenten (niet hoog beschikbaar). <\/EM><\/P>Als je deze implementatie probeert, is dit een goed moment om pauze te nemen en de eerste stappen te volgen om de CDK in je omgeving op te zetten vanuit de repo<\/A>.<\/P>Zodra de arcgis_cdk is geïmplementeerd, neem dan een kijkje in je AWS-account om de volgende infrastructuur op te merken: <\/P>
- Er is een nieuwe VPC gemaakt met meerdere publieke/private subnets<\/LI>
- Instanties zijn toegevoegd aan de private subnets (aantal afhankelijk van je architectuurconfiguratie)<\/LI>
- Security Groups zijn gemaakt die alleen specifiek verkeer naar de instanties toestaan<\/LI>
- Er is een application load balancer gemaakt met 2 target groups, een listener met pad-gebaseerde routeringsregels, en een ACM-certificaat gekoppeld<\/LI>
- Route53 Public Zone werd gebruikt om een Record Set aan de Application Load Balancer toe te wijzen<\/LI>
- Een Route53 private hosted zone werd gemaakt en record sets werden toegewezen aan het interne IP-adres van elke EC2-instantie<\/LI><\/UL>
Onze AWS-infrastructuur staat nu klaar, we zijn klaar om ArcGIS Enterprise te installeren!<\/P>
Implementatie van ArcGIS Enterprise met Systems Manager & PowerShell DSC:<\/STRONG><\/P>AWS System Manager is een AWS-service die zichtbaarheid en controle over je cloudinfrastructuur biedt. Deze implementatie maakt gebruik van
AWS System Manager Run Commands. Run Commands kunnen worden gebruikt om code uit te voeren zonder in te loggen op je EC2-instanties. Er bestaat al een Run Command Document dat PowerShell op onze instanties uitvoert,<\/SPAN> die zijn uitgerold vanuit de eerder genoemde CDK-oefeningen. Run Commands worden gebruikt om zowel het systeem voor te bereiden als ons PowerShell DSC-script aan te roepen. Alternatief kan er ook een run command document worden gemaakt vanuit de PowerShell-bestanden in de arcgis_cdk repo. <\/P>Voorbereiding van machines<\/EM><\/P>Voordat we ArcGIS Enterprise kunnen installeren, licentiëren en configureren, moeten we onze instanties voorbereiden voor de PowerShell DSC-scripts. Deze voorbereiding omvat:<\/P>Download Esri-software en licenties uit de S3-bucket die door CDK is gemaakt<\/LI>Configureer een serviceaccount op elke machine<\/LI>Zet het bestandssysteem op als je site HA is<\/LI>Bereid elke server voor op Windows Remote Management. <\/LI><\/UL>Een gedetailleerde walkthrough en voorbeeldscript voor het voorbereiden van de instanties is te vinden in de repo of code bij dit bericht "EC2InstancePrep.ps1"<\/EM>. Ik heb ook een screenshot vastgelegd van het PowerShell-script uit het Run Command voordat het commando werd uitgevoerd.<\/P>
<\/span><\/P>De machines zijn nu voorbereid voor onze ArcGIS Enterprise-installatie. De volgende stap is het gebruik van PowerShell DSC voor de implementatie van ArcGIS Enterprise!<\/P>ArcGIS Enterprise PowerShell DSC:<\/EM><\/P>Esri's PowerShell DSC wordt gebruikt om te installeren<\/EM>, te licentiëren<\/EM>, en te configureren<\/EM> ArcGIS Enterprise. Zodra de infrastructuur door Amazon CDK is uitgerold en de EC2-instanties door Amazon Systems Manager zijn voorbereid, zijn we klaar om ArcGIS Enterprise uit te rollen met PowerShell DSC. Dit kan ook vanuit Systems Manager worden uitgevoerd, of vanaf de orkestratie EC2-instantie.<\/P>
<\/span><\/P>Terwijl PowerShell DSC ArcGIS Enterprise installeert, licentieert en configureert, kan dit enige tijd duren. Het is gebruikelijk dat een hoog beschikbare implementatie meer dan 4 uur duurt, niet-hoog beschikbare implementaties zijn meestal binnen 2 uur klaar. <\/P>Eén configureerbare optie voor Amazon’s System Manager, is het uitrollen van outputlogs naar S3. Dit stelt je in staat deze logs te controleren om te begrijpen hoe je implementatie vordert. Zodra dit onderdeel voltooid is, heb je een werkende basisimplementatie van ArcGIS Enterprise! <\/P>Samenvatting<\/STRONG><\/P>Dit bericht behandelde Infrastructure as Code door gebruik te maken van Amazon CDK om AWS-infrastructuur uit te rollen en Amazon Systems Manager zowel voor het voorbereiden als uitrollen van ArcGIS Enterprise. Dit voorbeeld gebruikte Windows AMI's en PowerShell DSC maar kan worden uitgebreid naar Linux AMI's en Chef voor implementatie. Ik raad aan om de taal en het besturingssysteem te kiezen waar je het meest vertrouwd mee bent en de oplossing uit te breiden. De GitHub-repo is open als je je eigen code wilt vertakken of wilt verbeteren wat er al is. De kracht van de tools die in deze blog worden gebruikt geeft je ultieme vrijheid om ArcGIS Enterprise uit te rollen in de architectuur die je nodig hebt, met programmeertalen waar je al vertrouwd mee bent.<\/P> <\/P> <\/P> <\/P> <\/P> <\/P> <\/P> <\/P> <\/P> <\/P>