翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
の開始方法 AWS CloudShell
この入門チュートリアルでは、シェルコマンドラインインターフェイスを使用してキータスクを起動 AWS CloudShell および実行する方法について説明します。
まず、 にサインイン AWS Management Console し、 を選択します AWS リージョン。次に CloudShell 、新しいブラウザウィンドウで を起動し、使用するシェルタイプを使用します。
次に、ホームディレクトリに新しいフォルダを作成し、ローカルマシンからフォルダにファイルをアップロードします。コマンドラインからプログラムとして実行する前に、プリインストールされたエディタを使用してそのファイルを操作します。最後に、 AWS CLI コマンドを呼び出して Amazon S3 バケットを作成し、ファイルをオブジェクトとしてバケットに追加します。
前提条件
IAM アクセス許可
のアクセス許可を取得するには、次の AWS 管理ポリシーを IAM ID (ユーザー、ロール、グループなど) に AWS CloudShell アタッチします。
AWSCloudShellFullAccess: AWS CloudShell とその機能へのフルアクセスをユーザーに付与します。
このチュートリアルでは、 の操作も行います AWS のサービス。具体的には、S3 バケットを作成して、そのバケットにオブジェクトを追加して、Amazon S3 を操作します。IAM ID には、少なくとも s3:CreateBucket
および アクセスs3:PutObject
許可を付与するポリシーが必要です。
詳細については、Amazon Simple Storage Service ユーザーガイドのAmazon S3 Action を参照してください。
演習ファイル
この演習では、コマンドラインインターフェイスからプログラムとして実行されるファイルをアップロードして編集することが含まれます。ローカルマシンでテキストエディタを開き、次のコードスニペットを追加します。
import sys x=int(sys.argv[1]) y=int(sys.argv[2]) sum=x+y print("The sum is",sum)
次に、add_prog.py
という名前でファイルを保存します。
内容
ステップ 1: にサインインする AWS Management Console
このステップでは、IAMユーザー情報を入力して にアクセスします AWS Management Console。コンソールにすでに入っている場合は、ステップ 2に進みます。
にアクセスするには、IAMユーザーのサインイン AWS Management Console を使用するURLか、メインサインインページに移動します。
注記
ルートユーザーとしてサインインすることもできます。この ID は、アカウント内のすべての AWS のサービス および リソースへの完全なアクセス権を持ちます。日常的なタスクには (それが管理タスクであっても)、ルートユーザーを使用しないよう強くお勧めします。代わりに、最初のユーザーの作成にのみルートIAMユーザーを使用するというベストプラクティスに従ってください。
ステップ 2: リージョンを選択し、 を起動し AWS CloudShell、シェルを選択する
このステップでは、コンソールインターフェイス AWS CloudShell から を起動し、使用可能な を選択し AWS リージョン、次のような任意のシェルに切り替えます。Bash、 PowerShell、または Z shell.
-
作業 AWS リージョン する を選択するには、「リージョンの選択」メニューに移動し、作業するサポートされている AWS リージョンを選択します。(使用可能なリージョンがハイライト表示されます)。
重要
リージョンを切り替えると、インターフェースが再読込みされ、選択した AWS リージョン の名前がコマンドラインテキストの上に表示されます。永続的ストレージに追加したファイルは、同じ AWS リージョン内のみにて使用できます。リージョンを変更すると、異なるストレージおよびファイルにアクセスできます。
重要
CloudShell で を起動するときに、選択したリージョンで CloudShell が使用できない場合 Console Toolbarコンソールの左下にある の場合、デフォルトのリージョンは、選択したリージョンに最も近いリージョンに設定されます。デフォルトのリージョンとは別のリージョンのリソースを管理する許可を付与するコマンドを実行できます。詳細については、「 での作業 AWS リージョン」を参照してください。
例
欧州 (スペイン) を選択した場合 eu-south-2 CloudShell 欧州 (スペイン) では利用できません eu-south-2の場合、デフォルトのリージョンは欧州 (アイルランド) に設定されます。eu-west-1、欧州 (スペイン) に最も近い eu-south-2.
サービスクォータは、デフォルトのリージョンである欧州 (アイルランド) に使用します。eu-west-1 同じ CloudShell セッションがすべてのリージョンで復元されます。デフォルトのリージョンが変更され、 CloudShell ブラウザウィンドウで通知が届きます。
-
から AWS Management Console、次のいずれかのオプション CloudShell を選択して を起動できます。
-
ナビゲーションバーで、 CloudShell アイコンを選択します。
-
検索ボックスにCloudShell「」と入力し、「」を選択しますCloudShell。
-
最近アクセスしたウィジェットで、 を選択しますCloudShell。
-
CloudShell で を選択します。Console Toolbar、コンソールの左下にあります。
-
CloudShell セッションの高さを調整するには、 をドラッグします
=
。 -
CloudShell セッションを全画面表示に切り替えるには、新しいブラウザタブで開くアイコンをクリックします。
-
コマンドプロンプトが表示されたら、シェルは対話的な操作の準備ができています。
注記
が正常に起動または操作できない問題が発生した場合は AWS CloudShell、 でそれらの問題を特定して対処するための情報を確認してくださいトラブルシューティング AWS CloudShell。
-
-
作業に使用するプリインストールシェルを選択するには、コマンドラインプロンプトでプログラム名を入力します。
シェル環境にプリインストールされているバージョンの詳細については、AWS CloudShell コンピューティング環境セクションのシェルテーブルを参照してください。
ステップ 3: からファイルをダウンロードする AWS CloudShell
注記
このオプションは環境では利用できませんVPC。
このステップでは、ファイルのダウンロード手順について説明します。
-
ファイルをダウンロードするには、[アクション] に移動し、メニューから [ファイルのダウンロード] を選択します。
[ファイルのダウンロード] ダイアログボックスが表示されます。
-
[ファイルのダウンロード]ダイアログボックスでダウンロードするファイルのパスを入力します。
注記
ダウンロードするファイルを指定するときは、絶対パスもしくは相対パスを使用できます。相対パス名で指定すると、
/home/cloudshell-user/
がデフォルトで自動的にスタートに追加されます。mydownload-file
というファイルをダウンロードしようとする場合、次のどちらも有効なパスです。-
絶対パス:
/home/cloudshell-user/subfolder/mydownloadfile.txt
-
相対パス:
subfolder/mydownloadfile.txt
-
-
[ダウンロード] を選択します。
ファイルパスが正しい場合は、ダイアログボックスが表示されます。このダイアログボックスを使用して、デフォルトでのアプリケーションでファイルを開くことができます。または、ファイルをローカルマシン上のフォルダに保存することもできます。
注記
ダウンロードオプションは、 CloudShell で を起動するときには使用できません。Console Toolbar。 ファイルは、 CloudShell コンソールから、または Chrome ウェブブラウザを使用してダウンロードできます。ファイルのダウンロード方法の詳細については、「ステップ 3: からファイルをダウンロードする AWS CloudShell」を参照してください。
ステップ 4: にファイルをアップロードする AWS CloudShell
注記
このオプションは環境では利用できませんVPC。
このステップでは、ファイルをアップロードし、ホームディレクトリ内の新しいディレクトリに移動させる方法を説明します。
現在の作業ディレクトリをチェックするには、プロンプトで次のコマンドを入力します。
pwd
Enter を押すと、シェルは現在の作業ディレクトリ (例えば、
/home/cloudshell-user
など) を戻します。ファイルをこのディレクトリにアップロードするには、[アクション] に移動し、メニューから [ファイルのアップロ―ド] を選択します。
[ファイルのアップロード] ダイアログボックスが表示されます。
Browse (参照) を選択します。
システムの[ファイルのアップロード]ダイアログボックスで、このチュートリアル (
add_prog.py
) 用に作成したテキストファイルを選択し、[オープン]を選びます。[ファイルのアップロード]ダイアログボックスで、[アップロード]を選択します。
プログレスバーはアップロードを追跡します。アップロードが成功すると、
add_prog.py
がホームディレクトリのルートに追加されたというメッセージがチェックされます。ファイルのディレクトリを作成するには、ディレクトリ作成コマンドを入力します:
mkdir mysub_dir
アップロードしたファイルをホームディレクトリのルートから新しいディレクトリに移動するには、
mv
コマンドを使用します。mv add_prog.py mysub_dir
.作業ディレクトリを新しいディレクトリに変更するには、
cd mysub_dir
を入力します。コマンドプロンプトがアップロードされ、作業ディレクトリが変更されたことを示します。
-
現在のディレクトリ
mysub_dir
の内容を表示するには、ls
コマンドを入力します。作業ディレクトリの内容が一覧表示されます。ここには、アップロードしたばかりのファイルも含まれます。
ステップ 5: からファイルを削除する AWS CloudShell
このステップでは、 からファイルを削除する方法について説明します AWS CloudShell。
-
からファイルを削除するには AWS CloudShell、
rm
(削除) などの標準シェルコマンドを使用します。rm my-file-for-removal
-
指定した条件を満たす複数のファイルを削除するには、
find
コマンドを実行します。次の例では、名前に「.pdf」という接頭辞が含まれるすべてのファイルを削除します。
find -type f -name '*.pdf' -delete
注記
特定の AWS CloudShell で の使用を停止するとします AWS リージョン。そのリージョンにある永続的ストレージ内のデータは、指定された期間を過ぎると自動的に削除されます。詳細については、「永続的ストレージ」を参照してください。
ステップ 6 : ホームディレクトリのバックアップを作成する
このステップでは、ホームディレクトリバックアップを作成する方法について説明します。
-
バックアップファイルの作成
ホームディレクトリの外部に一時フォルダを作成します。
HOME_BACKUP_DIR=$(mktemp --directory)
次のいずれかのオプションを使用して、バックアップを作成できます。
-
tar を使用したバックアップファイルの作成
tar を使用したバックファイルの作成には、次のコマンドを入力します。
tar \ --create \ --gzip \ --verbose \ --file=${HOME_BACKUP_DIR}/home.tar.gz \ [--exclude ${HOME}/.cache] \ // Optional ${HOME}/ echo "Home directory backed up to this file: ${HOME_BACKUP_DIR}/home.tar.gz"
-
zip を使用したバックアップファイルの作成
zip を使用したバックファイルの作成には、次のコマンドを入力します。
zip \ --recurse-paths \ ${HOME_BACKUP_DIR}/home.zip \ ${HOME} \ [--exclude ${HOME}/.cache/\*] // Optional echo "Home directory backed up to this file: ${HOME_BACKUP_DIR}/home.zip"
-
-
バックアップファイルを外部に転送する CloudShell
次のいずれかのオプションを使用して、バックアップファイルを の外部に転送できます CloudShell。
-
バックアップファイルをローカルマシンにダウンロード
前のステップで作成したファイルをダウンロードすることができます。からファイルをダウンロードする方法の詳細については CloudShell、「 からファイルをダウンロードする AWS CloudShell」を参照してください。
ファイルのダウンロードダイアログボックス内で、ダウンロードするファイルのパス (例えば、
/tmp/tmp.iA99tD9L98/home.tar.gz
など) を入力します。 -
バックアップファイルを S3 に転送する
バケットを生成するには、次のコマンドを入力します。
aws s3 mb s3://${BUCKET_NAME}
AWS CLI を使用して、ファイルを S3 バケットにコピーします。
aws s3 cp ${HOME_BACKUP_DIR}/home.tar.gz s3://${BUCKET_NAME}
注記
データ転送料金が適用される場合があります。
-
-
直接 S3 バケットにバックアップする
直接 S3 バケットにバックアップを行うには、次のコマンドを入力します。
aws s3 cp \ ${HOME}/ \ s3://${BUCKET_NAME} \ --recursive \ [--exclude .cache/\*] // Optional
ステップ 7 : シェルセッションを再開する
このステップでは、シェルセッションを再起動する方法について説明します。
注記
セキュリティ対策として、長時間キーボードもしくはポインタを使用してシェルと対話しないと、セッションは自動的に停止します。長時間実行されているセッションも自動的に停止します。詳細については、「シェルセッション」を参照してください。
-
シェルセッションを再開するには、[アクション]、[再開] を選択します。
再起動すると、現在の 内のすべてのアクティブなセッションが AWS CloudShell 停止する通知が表示されます AWS リージョン。
-
確認するには、[再開]を選択します。
インターフェイスには、 CloudShell コンピューティング環境が停止していることを示すメッセージが表示されます。環境が停止して再開したら、新しいセッションでコマンドラインの操作を開始できます。
注記
場合によっては、環境を再起動するまで数分かかる場合があります。
ステップ 8 : シェルセッションのホームディレクトリを削除する
このステップでは、シェルセッションを削除する方法について説明します。
注記
このオプションは環境では利用できませんVPC。VPC 環境を再起動すると、そのホームディレクトリは削除されます。
警告
ホームディレクトリを削除することは、ホームディレクトリに保存されているすべてのデータが完全に削除されるという不可逆的なアクションです。ただし、次のような場合には、このオプションを考慮してもよいでしょう。
-
ファイルが正しく変更されておらず、 AWS CloudShell コンピューティング環境にアクセスできません。ホームディレクトリを削除すると、デフォルト設定 AWS CloudShell に戻ります。
-
からすべてのデータを AWS CloudShell すぐに削除したい。 AWS リージョン AWS CloudShell で の使用を停止すると、リージョンで AWS CloudShell 再度起動しない限り、永続ストレージは保持期間の終了時に自動的に削除されます。
ファイルに長期ストレージが必要な場合は、Amazon S3 や などのサービスを検討してください CodeCommit。
-
シェルセッションを削除するには、「アクション」、「削除」を選択します。
AWS CloudShell ホームディレクトリを削除すると、現在 AWS CloudShell 環境に保存されているすべてのデータが削除されます。
注記
このアクションは元に戻すことができません。
-
削除されたことを確認するには、テキスト入力フィールドに削除と入力した上で、[削除] を選択します。
AWS CloudShell は、現在のすべてのアクティブなセッションを停止 AWS リージョン し、新しい環境をすぐに作成します。
シェルセッションを手動で終了する
コマンドラインで、コマンドを使用して
exit
コシェルセッションを終了し、シェルセッションを終了し、ログアウトができます。次いで、任意のキーを押して再接続すれば、引き続き AWS CloudShellを使用できます。
ステップ 9 : ファイルのコードを編集し、コマンドラインを使用して実行する
このステップでは、プリインストールされた Vim ファイルを操作するエディタ。その後、コマンドラインからそのファイルをプログラムとして実行します。
前のステップでアップロードしたファイルを編集するには、次のコマンドを入力します。
vim add_prog.py
シェルインターフェイスが更新されて、Vim エディタ。
でファイルを編集するには Vimキーを押しますI。次に、プログラムが 2 つではなく 3 つの数字を加算するように内容を編集します。
import sys x=int(sys.argv[1]) y=int(sys.argv[2]) z=int(sys.argv[3]) sum=x+y+z print("The sum is",sum)
注記
テキストをエディタに貼り付けて、安全な貼り付け機能を有効にすると、警告が表示されます。コピーされたマルチテキストには、悪意のあるスクリプトが含まれている可能性があります。安全な貼り付け機能を使用すると、貼り付け前にテキスト全体が検証できます。テキストが安全であることが満足したら、Paste (貼り付ける)を選択します。
-
プログラムを編集したら、 Escを押して を入力します。Vim コマンドモード。次に、
:wq
コマンドを入力してファイルを保存し、エディタを終了します。注記
を初めて使用する場合 Vim コマンドモードは、最初はコマンドモードと挿入モードを切り替えるのが難しい場合があります。コマンドモードは、ファイルを保存してアプリケーションを終了するときに使用されます。挿入モードは、新しいテキストを挿入するときに使用されます。挿入モードと入力するには、 I を押し、コマンドモードと入力して、 Esc を押します。の詳細については、「」を参照してください。Vim および で利用可能なその他のツールについては AWS CloudShell、「」を参照してください開発ツールおよびシェルユーティリティ。
-
メインコマンドラインインターフェースで、次のプログラムを実行し、入力用に次の 3 つの数値を指定します。構文は次のとおりです。
python3 add_prog.py 4 5 6
コマンドラインにプログラムの出力が表示されます:
The sum is 15
ステップ 10: AWS CLI を使用してAmazon S3バケットにファイルをオブジェクトとして追加する
このステップでは、Amazon S3 バケットを作成し、 PutObjectメソッドを使用してコードファイルをそのバケットのオブジェクトとして追加します。
注記
ほとんどの場合、ソフトウェアファイルをバージョン管理リポジトリに CodeCommit での の使用 AWS CloudShellコミットできます。このチュートリアルでは、 AWS CLI を使用して他の AWSサービスと AWS CloudShell やり取りする方法を示します。この方法を使用すれば、追加のリソースをダウンロードもしくはインストールする必要はありません。さらに、ユーザーはシェル内で既に認証されているので、呼び出しを行う前に認証情報を設定する必要はありません。
-
指定された にバケットを作成するには AWS リージョン、次のコマンドを入力します。
aws s3api create-bucket --bucket insert-unique-bucket-name-here --region us-east-1
注記
us-east-1
リージョン外にバケットを作成しようとする場合、LocationConstraint
パラメータ付きのcreate-bucket-configuration
を追加してリージョンを指定します。構文の例を次に示します。$ aws s3api create-bucket --bucket my-bucket --region eu-west-1 --create-bucket-configuration LocationConstraint=eu-west-1
コールが成功すると、コマンドラインに次の出力に似たサービスからのレスポンスが表示されます。
{ "Location": "/insert-unique-bucket-name-here" }
注記
バケット の命名ルールに従わない場合、次のエラーが表示されます。
オペレーションを CreateBucket呼び出すときにエラー (InvalidBucketName) が発生した: 指定されたバケットは無効です。
-
ファイルをアップロードし、作成したばかりのバケットにオブジェクトとしてファイルを追加するには、PutObject メソッドを呼び出します。
aws s3api put-object --bucket insert-unique-bucket-name-here --key add_prog --body add_prog.py
オブジェクトが Amazon S3 バケットにアップロードされたら、コマンドラインに次の出力に似たサービスからのレスポンスが表示されます。
{"ETag": "\"ab123c1:w:wad4a567d8bfd9a1234ebeea56\""}
ETag
は、格納されたオブジェクトのハッシュです。このハッシュを使用して、Amazon S3 にアップロードされたオブジェクトの整合性を確認できます。