

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.

# Modifiez le type d'instance Amazon EC2 à l'aide d'un script bash dans le AWS CLI
<a name="cli-services-ec2-instance-type-script"></a>

Cet exemple de script bash pour Amazon EC2 modifie le type d'instance d'une instance Amazon EC2 à l'aide du (). AWS Command Line Interface AWS CLI Il arrête l’instance si elle est en cours d’exécution, modifie le type d’instance, puis, sur demande, redémarre l’instance. Les scripts Shell sont des programmes conçus pour être exécutés dans une interface de ligne de commande.

**Note**  
Pour des exemples de commandes supplémentaires, consultez le [de référence](https://docs.aws.amazon.com/cli/latest/reference/index.html).

**Topics**
+ [Avant de commencer](#cli-services-ec2-instance-type-script-prereqs)
+ [À propos de cet exemple](#cli-services-ec2-instance-type-script-about)
+ [Parameters](#cli-services-ec2-instance-type-script-params)
+ [Fichiers](#cli-services-ec2-instance-type-script-files.title)
+ [Références](#cli-services-ec2-instance-type-script-references)

## Avant de commencer
<a name="cli-services-ec2-instance-type-script-prereqs"></a>

Avant de pouvoir exécuter l’un des exemples ci-dessous, vous devez respecter les conditions requises suivantes.
+ Installez et configurez l’ AWS CLI. Pour plus d’informations, consultez [Installation ou mise à jour vers la dernière version du AWS CLI](getting-started-install.md) et [Authentification et informations d'accès pour AWS CLI](cli-chap-authentication.md).
+ Le profil que vous utilisez doit disposer d'autorisations autorisant les AWS opérations effectuées dans les exemples.
+ Une instance Amazon EC2 en cours d’exécution dans le compte pour lequel vous disposez des autorisations d’arrêt et de modification. Si vous exécutez le script de test, il lance une instance pour vous, teste la modification du type, puis résilie l’instance.
+  AWS La meilleure pratique consiste à accorder à ce code le privilège minimal, ou uniquement les autorisations requises pour effectuer une tâche. Pour plus d’informations, consultez [Octroi du moindre privilège](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege) dans le *Guide de l’utilisateur AWS Identity and Access Management (IAM)*.
+ Ce code n'a pas été testé dans toutes les AWS régions. Certains AWS services ne sont disponibles que dans certaines régions. Pour plus d’informations, consultez [Points de terminaison et quotas de service](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) dans le *Guide de référence générale AWS *. 
+ L'exécution de ce code peut entraîner des frais sur votre AWS compte. Il est de votre responsabilité de vous assurer que toutes les ressources créées par ce script sont supprimées lorsque vous en avez fini avec elles. 

## À propos de cet exemple
<a name="cli-services-ec2-instance-type-script-about"></a>

Cet exemple est écrit sous forme de fonction dans le fichier de script shell `change_ec2_instance_type.sh` que vous pouvez obtenir comme `source` à partir d’un autre script ou de la ligne de commande. Chaque fichier de script contient des commentaires décrivant chacune des fonctions. Une fois la fonction en mémoire, vous pouvez l’invoquer à partir de la ligne de commande. Par exemple, les commandes suivantes remplacent le type de l’instance spécifiée par `t2.nano` :

```
$ source ./change_ec2_instance_type.sh
$ ./change_ec2_instance_type -i *instance-id* -t new-type
```

Pour obtenir l'exemple complet et les fichiers de script téléchargeables, consultez [Modifier le type d'instance Amazon EC2](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/aws-cli/bash-linux/ec2/change-ec2-instance-type) dans le *référentiel d'exemples de AWS code* sur. *GitHub*

## Parameters
<a name="cli-services-ec2-instance-type-script-params"></a>

**-i** : *(chaîne)* spécifie l’ID d’instance à modifier.

**-t** : *(chaîne)* spécifie le type d’instance Amazon EC2 vers lequel basculer.

**-r** : *(commutateur)* par défaut, ce paramètre n’est pas défini. Si `-r` est défini, redémarre l’instance après le basculement de type.

**-f** : *(commutateur)* par défaut, le script invite l’utilisateur à confirmer l’arrêt de l’instance avant de procéder au basculement. Si `-f` est défini, la fonction n’invite pas l’utilisateur avant d’arrêter l’instance pour effectuer le basculement de type

**-v** : *(commutateur)* par défaut, le script fonctionne en mode silencieux et affiche le résultat uniquement en cas d’erreur. Si `-v` est défini, la fonction affiche l’état tout au long de son fonctionnement.

## Fichiers
<a name="cli-services-ec2-instance-type-script-files.title"></a>

**`change_ec2_instance_type.sh`**  
Le fichier de script principal contient la fonction `change_ec2_instance_type()` qui effectue les tâches suivantes :  
+ Vérifie que l’instance Amazon EC2 spécifiée existe.
+ À moins que `-f` ne soit sélectionné, avertit l’utilisateur avant d’arrêter l’instance.
+ Modifie le type d’instance
+ Si vous définissez `-r`, redémarre l’instance et confirme qu’elle est en cours d’exécution
Consultez le code correspondant `[change\$1ec2\$1instance\$1type.sh](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/aws-cli/bash-linux/ec2/change-ec2-instance-type/change_ec2_instance_type.sh)` à *GitHub*.

**`test_change_ec2_instance_type.sh`**  
Le script `test_change_ec2_instance_type.sh` de fichier teste les différents chemins de code de la fonction `change_ec2_instance_type`. Si toutes les étapes du script de test fonctionnent correctement, le script de test supprime toutes les ressources qu’il a créées.  
Vous pouvez exécuter le script à l’aide des paramètres suivants :  
+ **-v** - *(switch)* Chaque test affiche un pass/failure état au fur et à mesure de son exécution. Par défaut, les tests s'exécutent silencieusement et la sortie inclut uniquement le pass/failure statut global final.
+ **-i** : *(commutateur)* le script s’arrête après chaque test pour vous permettre de parcourir les résultats intermédiaires de chaque étape. Vous permet d’examiner l’état actuel de l’instance à l’aide de la console Amazon EC2. Le script passe à l’étape suivante une fois que vous avez appuyé sur *ENTRÉE* à l’invite.
Consultez le code correspondant `[test\$1change\$1ec2\$1instance\$1type.sh](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/aws-cli/bash-linux/ec2/change-ec2-instance-type/test_change_ec2_instance_type.sh)` à *GitHub*.

**`awsdocs_general.sh`**  
Le fichier de script `awsdocs_general.sh` contient les fonctions générales utilisées dans les exemples avancés de l’ AWS CLI.  
Consultez le code correspondant `[awsdocs\$1general.sh](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/aws-cli/bash-linux/ec2/change-ec2-instance-type/awsdocs_general.sh)` à *GitHub*.

## Références
<a name="cli-services-ec2-instance-type-script-references"></a>

**AWS CLI référence :**
+ `[aws ec2](https://docs.aws.amazon.com/cli/v1/reference/ec2/index.html)`
+ `[aws ec2 describe-instances](https://docs.aws.amazon.com/cli/v1/reference/ec2/describe-instances.html)`
+ `[aws ec2 modify-instance-attribute](https://docs.aws.amazon.com/cli/v1/reference/ec2/modify-instance-attribute.html)`
+ `[aws ec2 start-instances](https://docs.aws.amazon.com/cli/v1/reference/ec2/start-instances.html)`
+ `[aws ec2 stop-instances](https://docs.aws.amazon.com/cli/v1/reference/ec2/stop-instances.html)`
+ `[aws ec2 wait instance-running](https://docs.aws.amazon.com/cli/v1/reference/ec2/wait/instance-running.html)`
+ `[aws ec2 wait instance-stopped](https://docs.aws.amazon.com/cli/v1/reference/ec2/wait/instance-stopped.html)`

**Autre référence :**
+ [Documentation Amazon Elastic Compute Cloud](https://docs.aws.amazon.com/ec2/)
+ Pour consulter le AWS SDK et les exemples de AWS CLI code et y contribuer, consultez le [référentiel d'exemples de AWS code](https://github.com/awsdocs/aws-doc-sdk-examples/) sur *GitHub*.