bash スクリプトを使用して Amazon EC2 インスタンスタイプを変更する - AWS Command Line Interface

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

bash スクリプトを使用して Amazon EC2 インスタンスタイプを変更する

Amazon EC2 用のこの Bash スクリプトの例では、 AWS Command Line Interface ()AWS CLIを使用して Amazon EC2 インスタンスのインスタンスタイプを変更します。実行中の場合はインスタンスを停止し、インスタンスタイプを変更してから、リクエストに応じてインスタンスを再起動します。シェルスクリプトは、コマンドラインインターフェイスで実行するように設計されたプログラムです。

注記

その他のコマンド例については、。

開始する前に

以下の例を実行する前に、次のことを完了する必要があります。

  • AWS CLIをインストールして設定します。詳細については、AWS CLIの最新バージョンのインストールまたは更新および認証とアクセス認証情報を参照してください。

  • 使用するプロファイルには、 AWS サンプルで実行される操作を許可する権限が必要です。

  • 停止および変更するアクセス許可を持つ、アカウントで実行中の Amazon EC2 インスタンス。テストスクリプトを実行すると、インスタンスが起動し、タイプの変更がテストされてから、インスタンスが終了します。

  • AWS ベストプラクティスとして、このコードには最小限の権限を付与するか、タスクの実行に必要な権限だけを付与してください。詳細については、AWS Identity and Access Management (IAM) ユーザーガイドの「最小限の特権を認める」を参照してください。

  • AWS このコードはすべてのリージョンでテストされたわけではありません。 AWS 一部のサービスは特定の地域でのみ利用できます。詳細については、AWS 全般のリファレンスガイドの「サービスエンドポイントとクォータ」を参照してください。

  • このコードを実行すると、 AWS アカウントに課金される場合があります。作業が終了したら、このスクリプトによって作成されたすべてのリソースを確実に削除するのはお客様の責任になります。

この例について

この例は、シェルスクリプトファイル change_ec2_instance_type.sh 内の関数として記述されており、別のスクリプトまたはコマンドラインから source できます。各スクリプトファイルには、各関数について説明するコメントが含まれています。関数がメモリに置かれたら、コマンドラインから呼び出すことができます。例えば、次のコマンドは、指定されたインスタンスのタイプを t2.nano に変更します。

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

完全な例とダウンロード可能なスクリプトファイルについては、AWS のコードサンプルリポジトリのAmazon EC2 インスタンスタイプの変更」を参照してくださいGitHub

パラメータ

-i - (文字列) 変更するインスタンス ID を指定します。

-t - (文字列) 切り替え先の Amazon EC2 インスタンスタイプを指定します。

-r - (スイッチ) デフォルトでは、これは設定されていません。-r が設定されている場合、タイプの切り替え後にインスタンスを再起動します。

-f - (スイッチ) デフォルトでは、スクリプトは切り替えを行う前にインスタンスのシャットダウンを確認するプロンプトを表示します。-f が設定されている場合、この関数はインスタンスをシャットダウンしてタイプを切り替える前にユーザーにプロンプトを表示しません。

-v - (スイッチ) デフォルトでは、スクリプトはサイレントに動作し、エラーが発生した場合のみ出力を表示します。-v が設定されている場合、関数はそのオペレーション全体にわたってステータスを表示します。

ファイル

change_ec2_instance_type.sh

メインスクリプトファイルには、次のタスクを実行する change_ec2_instance_type() 関数が含まれています。

  • 指定された Amazon EC2 インスタンスが存在することを検証する。

  • -f が選択されていない限り、インスタンスを停止する前にユーザーに警告を表示します。

  • インスタンスタイプを変更する。

  • -r を設定した場合、インスタンスを再起動し、インスタンスが実行中であることを確認します。

change_ec2_instance_type.shon のコードをご覧くださいGitHub

test_change_ec2_instance_type.sh

ファイル test_change_ec2_instance_type.sh のスクリプトは、change_ec2_instance_type 関数のさまざまなコードパスをテストします。テストスクリプトのすべてのステップが正しく動作する場合、テストスクリプトは作成したすべてのリソースを削除します。

テストスクリプトは、次のパラメータを使用して実行できます。

  • -v - (スイッチ) 各テストは、実行時に合格/失敗ステータスを示します。デフォルトでは、テストはサイレントに実行され、出力には最終的な合格/失敗ステータスのみが含まれます。

  • -i - (スイッチ) 各テストの後にスクリプトが一時停止し、各ステップの中間結果を参照できるようにします。Amazon EC2 コンソールを使用して、インスタンスの現在のステータスを調べることができます。プロンプトで Enter キーを押すと、スクリプトは次のステップに進みます。

test_change_ec2_instance_type.shon のコードを表示しますGitHub

awsdocs_general.sh

スクリプトファイル awsdocs_general.sh には、 AWS CLIの高度な例全体で使用される汎用関数が格納されています。

awsdocs_general.shon のコードを表示しますGitHub

リファレンス

AWS CLI リファレンス:

その他のリファレンス: