AWS Cloud9 ist für Neukunden nicht mehr verfügbar. Bestehende Kunden von AWS Cloud9 können den Dienst weiterhin wie gewohnt nutzen. Weitere Informationen
Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Ändern der Größe eines Amazon-EBS-Volumes, das von einer Umgebung verwendet wird
Dieser Schritt zeigt, wie Sie die Größe eines Amazon EBS-Volumes ändern können.
-
Öffnen Sie die Umgebung, die der Amazon EC2 Instance für das Amazon EBS-Volume zugeordnet ist, deren Größe Sie ändern möchten.
-
Erstellen Sie in der AWS Cloud9 IDE für die Umgebung eine Datei mit dem folgenden Inhalt und speichern Sie die Datei dann mit der Erweiterung
.sh(z. B.resize.sh).Hinweis
Dieses Skript funktioniert für Amazon EBS-Volumes, die mit EC2-Instances verbunden sind, die laufen AL2023, Amazon Linux 2, Amazon Linux oder Ubuntu Server und für die Verwendung konfiguriert sind. IMDSv2
Das Skript ändert auch die Größe von Amazon EBS-Volumes, die als NVMe Blockgeräte auf Nitro basierten Instances verfügbar sind. Eine Liste der auf dem Nitro-System basierenden Instances finden Sie unter NitroBased Instances im Amazon EC2 EC2-Benutzerhandbuch.
#!/bin/bash # Specify the desired volume size in GiB as a command line argument. If not specified, default to 20 GiB. SIZE=${1:-20} # Get the ID of the environment host Amazon EC2 instance. TOKEN=$(curl -s -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 60") INSTANCEID=$(curl -s -H "X-aws-ec2-metadata-token: $TOKEN" -v http://169.254.169.254/latest/meta-data/instance-id 2> /dev/null) REGION=$(curl -s -H "X-aws-ec2-metadata-token: $TOKEN" -v http://169.254.169.254/latest/meta-data/placement/region 2> /dev/null) # Get the ID of the Amazon EBS volume associated with the instance. VOLUMEID=$(aws ec2 describe-instances \ --instance-id $INSTANCEID \ --query "Reservations[0].Instances[0].BlockDeviceMappings[0].Ebs.VolumeId" \ --output text \ --region $REGION) # Resize the EBS volume. aws ec2 modify-volume --volume-id $VOLUMEID --size $SIZE # Wait for the resize to finish. while [ \ "$(aws ec2 describe-volumes-modifications \ --volume-id $VOLUMEID \ --filters Name=modification-state,Values="optimizing","completed" \ --query "length(VolumesModifications)"\ --output text)" != "1" ]; do sleep 1 done # Check if we're on an NVMe filesystem if [[ -e "/dev/xvda" && $(readlink -f /dev/xvda) = "/dev/xvda" ]] then # Rewrite the partition table so that the partition takes up all the space that it can. sudo growpart /dev/xvda 1 # Expand the size of the file system. # Check if we're on AL2 or AL2023 STR=$(cat /etc/os-release) SUBAL2="VERSION_ID=\"2\"" SUBAL2023="VERSION_ID=\"2023\"" if [[ "$STR" == *"$SUBAL2"* || "$STR" == *"$SUBAL2023"* ]] then sudo xfs_growfs -d / else sudo resize2fs /dev/xvda1 fi else # Rewrite the partition table so that the partition takes up all the space that it can. sudo growpart /dev/nvme0n1 1 # Expand the size of the file system. # Check if we're on AL2 or AL2023 STR=$(cat /etc/os-release) SUBAL2="VERSION_ID=\"2\"" SUBAL2023="VERSION_ID=\"2023\"" if [[ "$STR" == *"$SUBAL2"* || "$STR" == *"$SUBAL2023"* ]] then sudo xfs_growfs -d / else sudo resize2fs /dev/nvme0n1p1 fi fi -
Wechseln Sie in einer Terminalsitzung in der IDE zu dem Verzeichnis mit der Datei
resize.sh. Führen Sie dann einen der folgenden Befehle aus. Ersetzen Sie dabei20durch die gewünschte neue Größe des Amazon-EBS-Volumes in GiB:-
bash resize.sh 20 -
chmod +x resize.sh ./resize.sh 20
-