Ziek van het Beheren van Servers? Hier is Hoe te beginnen met Containers op AWS

0
203

Containers pakket tot alle van de code van uw app, dependencies, configuratie en in een enkel beeld dat u kunt uitvoeren op Amazon ‘ s Elastic Container Service zonder het configureren of beheren van een enkele EC2 instance.

Wat Zijn Containers, en Hoe Kan ik Ze Gebruiken?

Containers zijn een Unix-concept, waarmee de toepassingen worden uitgevoerd in geïsoleerde gevirtualiseerde omgevingen, vrij van de prestaties die geleverd wordt met draaiende virtuele machines.

Je kunt ze beschouwen als Cd ‘ s die alles bevatten wat uw app moet uitvoeren. U kunt het verzenden van deze CD AWS, en zij om zullen gaan maken van kopieën en distributie van het aan werknemer meerdere servers. Deze servers draaien de app verpakt in de CD, en kan snel worden opgestart en beëindigd als onderdeel van een auto-scaling groep komen beide overeen met het verschuiven van lading en het optimaliseren van de kosten.

Terwijl ze zeer nuttig zijn in hun eigen recht, containers dienen ook een ander belangrijk doel: ze brengen je de infrastructuur en de activiteiten op de dezelfde versie management workflow als uw code, en ze synchroniseren met de ontwikkeling en productie omgevingen. Uw code wordt uitgevoerd hetzelfde op de lokale ontwikkeling van de machine als het op uw server. En, omdat alle van de configuratie van uw server is een onderdeel van de container, het kan beheerd worden via git net zoals je zou het beheren van uw broncode.

Er zijn enkele beperkingen van containers al. Ze zijn meestal alleen-lezen; orkestratie tools zoals ECS en Kubernetes zijn ontworpen rond containers staatloosheid. Je wil eigenlijk alleen te gebruiken voor het berekenen van nooit—opslag-als u containers op een gereserveerde EC2 bijvoorbeeld, kan het fijn zijn om een database op hen, maar toepassingen die worden uitgevoerd op ECS zijn ontworpen om flexibele begin-en eindtijden. Alle gegevens die zijn opgeslagen op hen is vluchtig, net als RAM-geheugen.

Als uw applicatie maakt gebruik van een database of lokale opslag, wilt u misschien overwegen om het verplaatsen van een aparte dienst, die kan goedkoper zijn dan het op EC2 toch. AWS heeft veel beheerde database diensten, en de S3 is erg goedkoop voor opslag in vergelijking met EBS of EFS.

Het verpakken van Uw App met de Docker

Dit is het moeilijkste deel en het deel dat het meest geschikt is voor uw app—het maken en configureren van de container. Ironisch genoeg, dit is zeer vergelijkbaar met het configureren van servers, behalve u zult alleen maar om een keer te doen, alle van uw configuratie wordt op een centrale plek en u zult in staat zijn om te synchroniseren met de ontwikkeling en productie omgevingen. De voordelen sterk opwegen tegen de initiële hoofdpijn.

Je wilt installeren Docker Desktop voor uw besturingssysteem kunt u het uitvoeren en beheren van containers op uw lokale machine.

Het belangrijkste punt van binnenkomst bepaalt dat alle configuratie voor de Docker is wel een Dockerfile. U wilt voor het maken van een nieuw project directory en maak een nieuwe Dockerfile, simpelweg genoemd Dockerfilewith geen extensie:

raak Dockerfile

Binnen dit bestand, gebruik je Docker commando ‘ s te instrueren Dokwerker op het bouwen van uw exemplaar. Om te beginnen, zult u waarschijnlijk willen een vork een reeds bestaande beeld van de Dokwerker Hub, zoals Ubuntu, met de opdracht:

VAN ubuntu

Er zijn vele vooraf gedefinieerde Docker images om uit te kiezen, zoals beelden met software als nginx vooraf is geïnstalleerd.

U kunt een koppeling van lokale mappen in dit project directory naar de daadwerkelijke mappen op de afbeelding met de opdracht KOPIËREN. Bijvoorbeeld, als u een project map met de naam nginx/ met alle van de configuratie van nginx, je kunt kopiëren dat dan met:

KOPIEER nginx /etc/nginx/

Dit zal ervoor zorgen dat de uiteindelijke container is voorzien van de juiste instellingen op de standaard nginx locatie.

De Docker is veel ingewikkelder dan dit, en er zijn veel opdrachten voor het uitvoeren van de initialisatie scripts, het passeren van stateful informatie containers, en het runnen van uw app bij het opstarten. U kunt lees onze volledige gids over het inpakken van uw toepassing met Docker om meer te leren.

Stuur Uw Dockerfile Amazon ‘ s ECS

Je moet voor het uploaden van uw foto op in een ECR-gegevensopslagruimte. Ga dan naar de KASSA Management Console, en het maken van een nieuw archief met een unieke naam. Kies “Bekijk Push Commando’ s,” en u zult worden gepresenteerd in dit dialoogvenster dat zou u moeten helpen uw link docker opdrachtgever met de gegevensopslagruimte, het bouwen van uw afbeelding, en upload het naar de KASSA.

Kortom, dient u in te loggen met uw AWS referenties, het bouwen van het beeld, geef het een label en vervolgens op uitvoeren:

docker druk

Met uw archief URI.

Zodra u klaar bent met deze, ga dan naar de ECS Management Console en selecteer “aan de Slag.” Kies “Custom” als het type afbeelding:

Voer in de volledige URI voor uw beeld; het moet er als volgt uitzien:

aws_account_id.dkr.ecr.region.amazonaws.com/repository:latest

Er is een ton van extra configuratie in dit dialoogvenster onder “Geavanceerde Configuratie” en u zult willen ervoor zorgen dat je alles lezen en vul alles wat nuttig voor u is. Een belangrijke ding om te controleren of “Automatisch te Configureren CloudWatch Logs”, die zal uw link container-app logs te CloudWatch.

De standaard is dat de app voor de AWS Fargate als de compute engine, niet EC2. Fargate is AWS ‘ s versie van Kubernetes; het integreert en beheert het uitvoeren van uw containers. Het belangrijkste nadeel is dat je niet inloggen toegang tot alle feitelijke instanties, dus je zult moeten om wijzigingen door docker updates (die je zou toch). Als u geen gebruik wilt maken van Fargate, kunt u gebruik maken van standaard EC2 exemplaren, die zal lopen van de AWS ECS Container Agent.

In het volgende scherm, zult u definiëren hoe veel van uw containers te voeren, en u krijgt de optie voor het maken van een taakverdeling tussen hen:

U kunt ook uw service configureren om Automatisch te Schalen, die de schaal van uw toepassing op en neer afhankelijk van de vraag.

Zodra u klaar bent, klikt u op “Create” om te lanceren uw cluster. Het zal zichtbaar zijn onder de “Clusters” tabblad van het ECS Management Console als het eenmaal is gemaakt.