AWS Cloud9
ユーザーガイド

AWS Cloud9 で Environment を移動またはサイズ変更する

AWS Cloud9 development environment は、Amazon EC2 インスタンス間で移動できます。たとえば、次のようなことを実行できます。

  • 破損しているか正常に動作しない Amazon EC2 インスタンスから正常なインスタンスに environment を転送する。

  • 古いインスタンスから最新のシステム更新が適用されているインスタンスに environment を転送する。

  • environment が現在のインスタンスに対して使用率が高すぎるため、インスタンスのコンピューティングリソースを増やす。

  • environment が現在のインスタンスに対して使用率が低すぎるため、インスタンスのコンピューティングリソースを減らす。

environment の Amazon EC2 インスタンスに関連付けられている Amazon Elastic Block Store (Amazon EBS) ボリュームのサイズを変更することもできます。たとえば、次のようなことを実行できます。

  • インスタンスのストレージ領域が不足している場合、ボリュームのサイズを増やす。

  • 使用していない余分なストレージ領域の支払いを避けるために、ボリュームのサイズを減らす。

environment を移動またはサイズ変更する前に、必要に応じて environment で実行中のプロセスを停止したり、environment にスワップファイルを追加したりできます。詳細については、トラブルシューティングの「IDEIDE による警告:「この Environment のメモリが不足しています」または「この Environment の CPU 負荷が高くなっています」」を参照してください。

このトピックでは、Amazon EC2 インスタンス間での environment の移動または Amazon EBS ボリュームのサイズ変更についてのみ説明します。environment を独自のサーバー間で移動したり、独自のサーバーのいずれかのストレージ領域を変更したりする場合は、サーバーのドキュメントを参照してください。

Environment の移動

移動プロセスを開始する前に、以下の点に注意してください。

  • environment を同じタイプの Amazon EC2 インスタンスに移動することはできません。移動する場合は、新しいインスタンスとして別の Amazon EC2 インスタンスタイプを選択する必要があります。

  • インスタンスのタイプを変更する場合は、最初に environment に関連付けられている Amazon EC2 インスタンスを停止する必要があります。インスタンスが停止している間、お客様もメンバーも、停止したインスタンスに関連付けられている environment を使用することはできません。

  • インスタンスは新しいハードウェアに移動されますが、インスタンス ID は変更されません。

  • インスタンスが Amazon VPC で実行されていてパブリック IPv4 アドレスが割り当てられている場合、このアドレスは解放されて、新しいパブリック IPv4 アドレスが割り当てられます。インスタンスは、プライベート IPv4 アドレス、Elastic IP アドレス、および IPv6 アドレスを保持します。

  • インスタンスが停止している間のダウンタイムを予定しておいてください。このプロセスには数分かかることがあります。

environment を移動するには、以下の操作を行います。

  1. (オプション) 新しいインスタンスのタイプに既存のインスタンスにインストールされていないドライバーが必要な場合は、インスタンスに接続してドライバーをインストールする必要があります。詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「インスタンスのサイズ変更の互換性」を参照してください。

  2. 現在 environment を表示しているすべてのウェブブラウザのタブを閉じます。

    重要

    現在 environment を表示しているウェブブラウザのタブをすべて閉じないと、AWS Cloud9 が介入してこの手順を完了できない場合があります。たとえば、この手順の実行中にもかかわらず、AWS Cloud9 は environment に関連付けられている Amazon EC2 インスタンスを再起動しようとする場合があります。この手順を完了するまで、インスタンスは停止したままであることが必要です。

  3. AWS マネジメントコンソール (https://console.aws.amazon.com) にサインインします (まだサインインしていない場合)。

    AWS アカウントの IAM 管理者ユーザーの認証情報を使用してサインインすることをお勧めします。これを実行できない場合は、AWS アカウントの管理者に確認してください。

  4. Amazon EC2 コンソールを開きます。そのためには、[サービス] リストで [EC2] を選択します。

  5. AWS ナビゲーションバーで、移動する environment がある AWS リージョン (米国東部 (オハイオ) など) を選択します。

  6. サービスナビゲーションペインで [インスタンス] を展開して (展開されていない場合)、[インスタンス] を選択します。

  7. インスタンスのリストで、移動する environment に関連付けられているインスタンスを選択します。EC2 environment の場合、インスタンス名は aws-cloud9- で始まり、その後に environment の名前が続きます。たとえば、environment の名前が my-demo-environment の場合、インスタンス名は aws-cloud9-my-demo-environment で始まります。

  8. [インスタンスの状態] が [停止] でない場合は、[アクション]、[インスタンスの状態]、[停止] の順に選択します。プロンプトが表示されたら、[停止する] を選択します。インスタンスが停止するまで、数分かかる場合があります。

  9. [インスタンスの状態] が [停止] になったら、インスタンスが選択された状態で [アクション]、[インスタンスの設定]、[インスタンスタイプの変更] の順に選択します。

  10. [インスタンスタイプの変更] ダイアログボックスの [インスタンスタイプ] で、environment で使用する新しいインスタンスタイプを選択します。

    注記

    使用するインスタンスタイプがリストに表示されない場合は、インスタンスの設定と互換性がありません (その仮想化タイプが原因の場合など)。

  11. (オプション) 選択したインスタンスタイプが EBS 最適化をサポートしている場合は、[EBS 最適化] を選択して EBS 最適化を有効にするか、[EBS 最適化] を選択解除して EBS 最適化を無効にします。

    注記

    選択したインスタンスタイプがデフォルトで EBS 最適化される場合、[EBS 最適化] は選択済みとなり、この選択を解除することはできません。

  12. [適用] を選択して、新しい設定を受入れます。

    注記

    この手順で先ほど [インスタンスタイプ] で別のインスタンスタイプを選択しなかった場合は、[適用] を選択しても何も起こりません。

  13. environment を再び開きます。詳細については、「AWS Cloud9 で環境を開く」を参照してください。

上記の手順の詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイド の「インスタンスタイプの変更」を参照してください。

Environment のサイズ変更

  1. サイズ変更する Amazon EBS ボリュームの Amazon EC2 インスタンスに関連付けられている environment を開きます。

  2. environment の AWS Cloud9 IDE で、以下の内容のファイルを作成し、このファイルに拡張子 .sh を付けて (例: resize.sh) 保存します。

    複数 Amazon Linux:

    #!/bin/bash # Specify the desired volume size in GiB as a command-line argument. If not specified, default to 20 GiB. SIZE=${1:=20} # Install the jq command-line JSON processor. sudo yum -y install jq # Get the ID of the envrionment host Amazon EC2 instance. INSTANCEID=$(curl http://169.254.169.254/latest/meta-data//instance-id) # Get the ID of the Amazon EBS volume associated with the instance. VOLUMEID=$(aws ec2 describe-instances --instance-id $INSTANCEID | jq -r .Reservations[0].Instances[0].BlockDeviceMappings[0].Ebs.VolumeId) # 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" | jq '.VolumesModifications | length')" != "1" ]; do sleep 1 done # 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. sudo resize2fs /dev/xvda1

    Ubuntu Server の場合:

    #!/bin/bash # Specify the desired volume size in GiB as a command-line argument. If not specified, default to 20 GiB. SIZE=${1:=20} # Install the jq command-line JSON processor. sudo apt install -y jq # Get the ID of the envrionment host Amazon EC2 instance. INSTANCEID=$(curl http://169.254.169.254/latest/meta-data//instance-id) # Get the ID of the Amazon EBS volume associated with the instance. VOLUMEID=$(aws ec2 describe-instances --instance-id $INSTANCEID | jq -r .Reservations[0].Instances[0].BlockDeviceMappings[0].Ebs.VolumeId) # 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" | jq '.VolumesModifications | length')" != "1" ]; do sleep 1 done # 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. sudo resize2fs /dev/xvda1
  3. IDE のターミナルセッションで、resize.sh ファイルが格納されているディレクトリに移動します。次のコマンドを実行します。ここで「20」を Amazon EBS ボリュームを変更する目的のサイズ (GiB 単位) に置き換えます。

    sh resize.sh 20