AWS CloudShell environnement informatique : spécifications et logiciels - AWS CloudShell

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

AWS CloudShell environnement informatique : spécifications et logiciels

Lors du lancement AWS CloudShell, un environnement informatique basé sur Amazon Linux 2023 est créé pour héberger l'expérience shell. L'environnement est configuré avec des ressources de calcul (v CPU et mémoire) et fournit une large gamme de logiciels préinstallés accessibles depuis l'interface de ligne de commande. Assurez-vous que tous les logiciels que vous installez dans l'environnement informatique sont corrigés et à jour. Vous pouvez également configurer votre environnement par défaut en installant un logiciel et en modifiant les scripts shell.

Ressources de l'environnement informatique

Les ressources de mémoire CPU et de mémoire suivantes sont attribuées à chaque environnement de AWS CloudShell calcul :

  • 1 v CPU (unité centrale virtuelle)

  • 2 Go RAM

De plus, l'environnement est provisionné avec la configuration de stockage suivante :

  • 1 Go de stockage persistant (le stockage persiste après la fin de la session)

Pour de plus amples informations, veuillez consulter Stockage permanent.

CloudShell exigences du réseau

WebSockets

CloudShell dépend du WebSocket protocole, qui permet une communication interactive bidirectionnelle entre le navigateur Web de l'utilisateur et le CloudShell service dans le AWS Cloud. Si vous utilisez un navigateur sur un réseau privé, l'accès sécurisé à Internet est probablement facilité par des serveurs proxy et des pare-feux. WebSocket les communications peuvent généralement traverser les serveurs proxy sans problème. Mais dans certains cas, les serveurs proxy ne WebSockets peuvent pas fonctionner correctement. Si ce problème se produit, votre CloudShell interface signale l'erreur suivante :Failed to open sessions : Timed out while opening the session.

Si cette erreur se produit à plusieurs reprises, consultez la documentation de votre serveur proxy pour vous assurer qu'il est configuré pour autoriser WebSockets. Vous pouvez également contacter l'administrateur système de votre réseau.

Note

Si vous souhaitez définir des autorisations détaillées en répertoriant des autorisations spécifiquesURLs, vous pouvez ajouter une partie de celles URL que la AWS Systems Manager session utilise pour ouvrir une WebSocket connexion permettant d'envoyer des entrées et de recevoir des sorties. (Vos AWS CloudShell commandes sont envoyées à cette session Systems Manager.)

Le format StreamUrl utilisé par Systems Manager estwss://ssmmessages.region.amazonaws.com/v1/data-channel/session-id?stream=(input|output).

La région représente l'identifiant de région d'une AWS région prise en charge par AWS Systems Manager, par exemple us-east-2 pour la région USA Est (Ohio).

L'identifiant de session étant créé après le démarrage réussi d'une session Systems Manager spécifique, vous ne pouvez le spécifier que wss://ssmmessages.region.amazonaws.com lors de la mise à jour de votre liste d'autorisations. URL Pour plus d'informations, voir l'StartSessionopération dans la AWS Systems Manager APIréférence.

Logiciel préinstallé

Note

L'environnement de AWS CloudShell développement étant régulièrement mis à jour pour permettre l'accès aux derniers logiciels, nous ne fournissons pas de numéros de version spécifiques dans cette documentation. Nous décrivons plutôt comment vous pouvez vérifier quelle version est installée. Pour vérifier la version installée, entrez le nom du programme suivi de l'--versionoption (par exemple,git --version).

Coquillages

Coques préinstallées
Name (Nom) Description Version information

Bash

Le shell Bash est l'application shell par défaut pour AWS CloudShell.

bash --version

PowerShell (mousqueton)

Offrant une interface de ligne de commande et un support de langage de script, PowerShell il s'appuie sur celui de Microsoft. NETExécution du langage de commande. PowerShell utilise des commandes légères appelées cmdlets accept et return. NETobjets.

pwsh --version

Coque Z (zsh)

Le Z Shell, également connu sous le nom dezsh, est une version étendue du Bourne Shell qui offre un support de personnalisation amélioré pour les thèmes et les plugins.

zsh --version

AWS interfaces de ligne de commande (CLI)

CLI
Name (Nom) Description Version information

AWS CDK Boîte à outils CLI

La AWS CDK boîte à outils, la CLI commandecdk, est le principal outil qui interagit avec votre AWS CDK application. Il exécute votre application, interroge le modèle d'application que vous avez défini, produit et déploie les AWS CloudFormation modèles générés par le. AWS CDK

Pour plus d'informations, consultez la section AWS CDK Boîte à outils.

cdk --version

AWS CLI

AWS CLI Il s'agit d'une interface de ligne de commande que vous pouvez utiliser pour gérer plusieurs AWS services à partir de la ligne de commande et les automatiser à l'aide de scripts. Pour de plus amples informations, veuillez consulter Gérez les AWS services de CLI l'intérieur CloudShell.

Pour plus d'informations sur la manière dont vous pouvez vous assurer que vous utilisez la up-to-date AWS CLI version 2 au maximum, voirInstallation AWS CLI dans votre répertoire personnel.

aws --version

EB CLI

AWS Elastic Beanstalk CLIFournit une interface de ligne de commande pour simplifier la création, la mise à jour et la surveillance d'environnements à partir d'un référentiel local.

Pour plus d'informations, consultez la section Utilisation de l'interface de ligne de commande CLI (EB) d'Elastic Beanstalk dans le manuel du développeur.AWS Elastic Beanstalk

eb --version

Amazon ECS CLI

L'interface de ligne de commande Amazon Elastic Container Service (AmazonECS) (CLI) fournit des commandes de haut niveau pour simplifier la création, la mise à jour et le suivi des clusters et des tâches.

Pour plus d'informations, consultez la section Utilisation de l'interface de ligne de ECS commande Amazon dans le manuel du développeur Amazon Elastic Container Service.

ecs-cli --version

AWS SAM CLI

AWS SAM CLIest un outil de ligne de commande qui fonctionne sur un AWS Serverless Application Model modèle et un code d'application. Vous pouvez effectuer plusieurs tâches. Il s'agit notamment d'invoquer des fonctions Lambda localement, de créer un package de déploiement pour votre application sans serveur et de déployer votre application sans serveur dans le cloud. AWS

Pour plus d'informations, consultez la référence des AWS SAM CLI commandes dans le Guide du AWS Serverless Application Model développeur.

sam --version

AWS Tools for PowerShell Ce AWS Tools for PowerShell sont des PowerShell modules basés sur les fonctionnalités exposées par le AWS SDK for .NET. Avec AWS Tools for PowerShell, vous pouvez scripter des opérations sur vos AWS ressources à partir de la ligne de PowerShell commande.

AWS CloudShell préinstalle la version modulaire (AWS.Tools) du. AWS Tools for PowerShell

Pour plus d'informations, reportez-vous à la section Utilisation AWS des outils PowerShell dans le guide de AWS Tools for PowerShell l'utilisateur.

pwsh --Command ' Get-Module -ListAvailable -Name AWS.Tools.Common'

Runtimes et AWS SDKs : Node.js et Python 3

Runtimes et AWS SDKs
Name (Nom) Description Version information

Node.js (avec npm)

Node.js est un JavaScript environnement d'exécution conçu pour faciliter l'application de techniques de programmation asynchrones. Pour plus d'informations, consultez la documentation sur le site officiel de Node.js.

npm est un gestionnaire de paquets qui donne accès à un registre de JavaScript modules en ligne. Pour plus d'informations, consultez la documentation sur le site officiel de npm.

  • Node.js : node --version

  • npm : npm --version

SDKpour JavaScript dans Node.js

Le kit de développement logiciel (SDK) permet de simplifier le codage en fournissant JavaScript des objets pour AWS des services tels qu'Amazon S3, AmazonEC2, DynamoDB et Amazon. SWF Pour plus d’informations, consultez le Guide du développeur AWS SDK for JavaScript.

npm -g ls --depth 0 2>/dev/null | grep aws-sdk

Python

Python 3 est prêt à être utilisé dans l'environnement shell. Python 3 est désormais considéré comme la version par défaut du langage de programmation (le support de Python 2 a pris fin en janvier 2020). Pour plus d'informations, consultez la documentation sur le site officiel de Python.

De plus, pip, le programme d'installation du package pour Python, est préinstallé. Vous pouvez utiliser ce programme en ligne de commande pour installer des packages Python à partir d'index en ligne tels que le Python Package Index. Pour plus d'informations, consultez la documentation fournie par la Python Packaging Authority.

  • Python 3 : python3 --version

  • pépin : pip3 --version

SDKpour Python (Boto3)

Boto est le kit de développement logiciel (SDK) que les développeurs Python utilisent pour créer, configurer et gérer Services AWS, comme Amazon EC2 et Amazon S3. SDKIl fournit un accès easy-to-use orienté objet API ainsi qu'un accès de bas niveau à. Services AWS

Pour plus d'informations, consultez la documentation de Boto3.

pip3 list | grep boto3

Outils de développement et utilitaires shell

Outils de développement et utilitaires shell
Name (Nom) Description Version information

bash-completion

bash-completion est un ensemble de fonctions shell qui permettent l'autocomplétion de commandes ou d'arguments partiellement saisis en appuyant sur la touche Tab. Vous pouvez trouver les packages pris en charge par bash-completion dans. /usr/share/bash-completion/completions

Pour configurer la saisie semi-automatique des commandes d'un package, le fichier du programme doit être source. Par exemple, pour configurer la saisie semi-automatique pour les commandes Git, ajoutez la ligne suivante .bashrc afin que la fonctionnalité soit disponible chaque fois que votre AWS CloudShell session démarre :

source /usr/share/bash-completion/completions/git

Si vous souhaitez utiliser des scripts de complétion personnalisés, ajoutez-les à votre répertoire personnel persistant ($HOME) et créez-les directement dans celui-ci.bashrc.

Pour plus d'informations, consultez la READMEpage du projet sur GitHub.

dnf info bash-completion

CodeCommit utilitaire pour Git

git-remote-codecommit est un utilitaire qui fournit une méthode simple pour transférer et extraire du code depuis des CodeCommit référentiels en étendant Git. Il s'agit de la méthode recommandée pour prendre en charge les connexions établies avec un accès fédéré, des fournisseurs d'identité et des informations d'identification temporaires.

Pour plus d'informations, consultez les étapes de configuration des HTTPS connexions à AWS CodeCommit with git-remote-codecommit dans le Guide de AWS CodeCommit l'utilisateur.

pip3 list | grep git-remote-codecommit

Git

Git est un système de contrôle de version distribué qui prend en charge les pratiques modernes de développement logiciel par le biais de flux de travail de branche et de mise en scène de contenu. Pour plus d'informations, consultez la page de documentation sur le site officiel de Git.

git --version

iputils

Le paquet iputils contient des utilitaires pour les réseaux Linux. Pour plus d'informations sur les utilitaires fournis, consultez le référentiel iputils sur. GitHub

Exemples d'outil iputils : arping -V

jq L'utilitaire jq analyse les données JSON formatées pour produire une sortie modifiée par des filtres de ligne de commande. Pour plus d'informations, consultez le manuel jq hébergé sur GitHub.

jq --version

kubectl

kubectl est un outil en ligne de commande permettant de communiquer avec le plan de contrôle d'un cluster Kubernetes, à l'aide de Kubernetes. API

kubectl --version

make

L'utilitaire make permet makefiles d'automatiser des ensembles de tâches et d'organiser la compilation du code. Pour plus d'informations, consultez la documentation GNU Make.

make --version

man

La commande man fournit des pages de manuel pour les utilitaires et outils de ligne de commande. man lsRenvoie, par exemple, la page de manuel de la ls commande répertoriant le contenu des répertoires. Pour plus d'informations, consultez l'entrée Wikipédia sur la page de manuel.

man --version

nano nano est un petit éditeur convivial pour une interface texte. Pour plus d'informations, consultez la documentation sur les GNU nanotechnologies.

nano --version

procps

procps est un utilitaire d'administration système que vous pouvez utiliser pour surveiller et arrêter les processus en cours d'exécution. Pour plus d'informations, consultez le README fichier qui répertorie les programmes pouvant être exécutés avec procps.

ps --version

SSHclient

SSHles clients utilisent le protocole Secure Shell pour les communications cryptées avec un ordinateur distant. Open SSH est le SSH client préinstallé. Pour plus d'informations, consultez le SSHsite Open géré par OpenBSD.

ssh -V

sudo

Avec l'utilitaire sudo, les utilisateurs peuvent exécuter un programme avec les autorisations de sécurité d'un autre utilisateur, généralement le superutilisateur. Sudo est utile lorsque vous devez installer des applications en tant qu'administrateur système. Pour plus d'informations, consultez le manuel de Sudo.

sudo --version

tar

tar est un utilitaire de ligne de commande que vous pouvez utiliser pour regrouper plusieurs fichiers dans un seul fichier d'archive (souvent appelé tarball). Pour plus d'informations, consultez la documentation GNU tar.

tar --version

tmux

tmux est un multiplexeur de terminaux que vous pouvez utiliser pour exécuter différents programmes simultanément dans plusieurs fenêtres. Pour plus d'informations, consultez un blog qui fournit une introduction concise à tmux.

tmux -V

unzip

Pour plus d'informations, voir zip/unzip.
vim

vim est un éditeur personnalisable avec lequel vous pouvez interagir via une interface texte. Pour plus d'informations, consultez les ressources de documentation fournies sur vim.org.

vim --version

wget

wget est un programme informatique utilisé pour récupérer du contenu à partir de serveurs Web spécifiés par des points de terminaison dans la ligne de commande. Pour plus d'informations, consultez la documentation de GNU Wget.

wget --version

zip/décompressez

Les utilitaires zip/unzip utilisent un format de fichier d'archive qui permet une compression des données sans perte de données. Appelez la commande zip pour regrouper et compresser des fichiers dans une seule archive. Utilisez unzip pour extraire des fichiers d'une archive dans un répertoire spécifique.

unzip --version

zip --version

Docker

Docker est une plateforme ouverte pour le développement, l'expédition et l'exécution d'applications. Docker vous permet de séparer vos applications de votre infrastructure afin de pouvoir fournir des logiciels rapidement. Il vous permet de créer des Dockerfiles à l'intérieur AWS CloudShell et de créer des actifs Docker avec. CDK Pour plus d'informations sur les AWS régions prises en charge par Docker, consultez la section AWS Régions prises en charge pour AWS CloudShell. Vous devez savoir que Docker dispose d'un espace limité dans l'environnement. Si vous avez de grandes images individuelles ou un trop grand nombre d'images Docker préexistantes, cela peut entraîner des problèmes. Pour plus d'informations sur Docker, consultez le guide de documentation Docker.

docker --version

Installation AWS CLI dans votre répertoire personnel

Comme le reste des logiciels préinstallés dans votre CloudShell environnement, l' AWS CLI outil est mis à jour automatiquement avec des mises à niveau et des correctifs de sécurité planifiés. Pour vous assurer que vous disposez de la up-to-date version la plus complète de AWS CLI, vous pouvez choisir d'installer manuellement l'outil dans le répertoire de base du shell.

Important

Vous devez installer manuellement votre copie de AWS CLI dans le répertoire de base afin qu'elle soit disponible au prochain démarrage d'une CloudShell session. Cette installation est nécessaire car les fichiers ajoutés à des répertoires situés en dehors de $HOME sont supprimés une fois que vous avez terminé une session shell. De plus, après avoir installé cette copie de AWS CLI, elle n'est pas automatiquement mise à jour. En d'autres termes, il est de votre responsabilité de gérer les mises à jour et les correctifs de sécurité.

Pour plus d'informations sur le modèle de responsabilité AWS partagée, consultezProtection des données dans AWS CloudShell.

Pour installer AWS CLI
  1. Dans la ligne de CloudShell commande, utilisez la curl commande pour transférer une copie compressée du fichier AWS CLI installé dans le shell :

    curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
  2. Décompressez le dossier zippé :

    unzip awscliv2.zip
  3. Pour ajouter l'outil dans un dossier spécifique, exécutez le AWS CLI programme d'installation :

    sudo ./aws/install --install-dir /home/cloudshell-user/usr/local/aws-cli --bin-dir /home/cloudshell-user/usr/local/bin

    S'il est correctement installé, la ligne de commande affiche le message suivant :

    You can now run: /home/cloudshell-user/usr/local/bin/aws --version
  4. Pour votre commodité, nous vous recommandons également de mettre à jour la variable d'PATHenvironnement afin de ne pas avoir à spécifier le chemin d'installation de l'outil lorsque vous exécutez des aws commandes :

    export PATH=/home/cloudshell-user/usr/local/bin:$PATH
    Note

    Si vous annulez cette modificationPATH, les aws commandes qui ne comportent pas de chemin spécifié utilisent la version préinstallée de AWS CLI par défaut.

Installation de logiciels tiers sur votre environnement shell

Note

Nous vous recommandons de consulter le modèle de responsabilité partagée en matière de sécurité avant d'installer des applications tierces dans l'environnement informatique AWS CloudShell de l'entreprise.

Par défaut, tous les AWS CloudShell utilisateurs disposent d'autorisations sudo. Par conséquent, vous pouvez utiliser la sudo commande pour installer un logiciel qui n'est pas encore disponible dans l'environnement informatique du shell. Par exemple, vous pouvez utiliser l'utilitaire sudo de DNF gestion des packages pour l'installercowsay, qui génère des photos ASCII d'art d'une vache avec un message :

sudo dnf install cowsay

Vous pouvez ensuite lancer le programme nouvellement installé en tapantecho "Welcome to AWS CloudShell" | cowsay.

Important

Les utilitaires de gestion de packages tels que le dnf installent des programmes dans des répertoires (/usr/binpar exemple), qui sont recyclés à la fin de votre session shell. Cela signifie que des logiciels supplémentaires sont installés et utilisés par session.

Modifier votre shell à l'aide de scripts

Si vous souhaitez modifier l'environnement shell par défaut, vous pouvez modifier un script shell qui s'exécute à chaque démarrage de l'environnement shell. Le .bashrc script s'exécute chaque fois que le shell bash par défaut démarre.

Avertissement

Si vous modifiez votre .bashrc fichier de manière incorrecte, il se peut que vous ne puissiez pas accéder à votre environnement shell par la suite. Il est recommandé de faire une copie du fichier avant de le modifier. Vous pouvez également atténuer les risques en ouvrant deux coques lors de la modification.bashrc. Si vous perdez l'accès à un shell, vous êtes toujours connecté à l'autre shell et vous pouvez annuler toute modification.

Si vous perdez l'accès suite à une modification incorrecte .bashrc ou à tout autre fichier, vous pouvez AWS CloudShell rétablir ses paramètres par défaut en supprimant votre répertoire personnel.

Au cours de la procédure, vous allez modifier le .bashrc script afin que votre environnement shell passe automatiquement à l'exécution du shell Z.

  1. Ouvrez le .bashrc à l'aide d'un éditeur de texte (Vim, par exemple) :

    vim .bashrc
  2. Dans l'interface de l'éditeur, appuyez sur la touche I pour commencer à modifier, puis ajoutez ce qui suit :

    zsh
  3. Pour quitter et enregistrer le .bashrc fichier modifié, appuyez Esc pour passer en mode de commande Vim et entrez ce qui suit :

    :wq

  4. Utilisez la source commande pour recharger le .bashrc fichier :

    source .bashrc

    Lorsque l'interface de ligne de commande est de nouveau disponible, le symbole d'invite a été modifié % pour indiquer que vous utilisez désormais le shell Z.