AWS CloudShell は、AWS マネジメントコンソール上で ブラウザから直接 CLI 操作ができる環境 です。
ローカル環境に AWS CLI をインストールしなくても、AWS の各種操作を実行できます。
[学習フェーズ]
1. AWS CloudShell とは?
AWS CloudShell は、AWS 上で直接 CLI(コマンドラインインターフェース)を実行できるサービス です。
コンソールからボタン一つで開けるため、すぐに AWS CLI を使った操作が可能になります。
2. プリインストールされているツール
CloudShell には、以下のツールが あらかじめインストール済み です。
ツール | 役割 |
---|---|
AWS CLI | AWS の各種リソースを管理 |
Python 3 | スクリプト実行や AWS SDK(Boto3)利用 |
Node.js | AWS SDK for JavaScript の利用 |
Git | ソースコード管理 |
Tar, Zip | ファイル圧縮・解凍 |
jq | JSON データの加工・解析 |
3. CloudShell の使用用途
CloudShell は、以下のような用途で活用できます。
- AWS リソースの操作
aws s3 ls
やaws ec2 describe-instances
でリソース確認
- 簡単なスクリプト実行
- Python や Bash を使って AWS 操作を自動化
- ファイルのアップロード・ダウンロード
aws s3 cp
を使って S3 にファイルを転送
[実践フェーズ]
以下で学習したCLIコマンドをCloudShellでも実施してみましょう。
ローカル環境のセットアップが不要なため、簡単に実行できるはずです。
+α
AWS CloudShell を使って、requests ライブラリを含めた ZIP ファイルを作成し、Lambda にデプロイ してみましょう。
CloudShellを使わない場合は、ローカル環境やEC2からダウンロードしZIP化、Lambdaに送付する手順ですが、CloudShellを使うと比較的簡単に実現できます。
【B-16】 Lambda も併せて学習してください。
ハンズオン手順
- Lambda関数の作成
- AWS コンソールで Lambda 関数を作成
- ランタイムは Python 3.9 以上を選択
- CloudShell で Python 環境をセットアップ
- mkdir lambda-package && cd lambda-package
- requests をローカルにインストールし、Lambda 用に ZIP 化する準備。
- pip install requests -t .
- Lambda のコードを作成
GitHub API にリクエストを送り、レスポンスを返すシンプルな Lambda 関数を作成。
cat <<EOF > lambda_function.py
import json
import requests
def lambda_handler(event, context):
response = requests.get("https://api.github.com")
return {
"statusCode": 200,
"body": json.dumps(response.json())
}
EOF
- AWS CLI を使って Lambda に ZIP をデプロイ
- zip -r9 lambda_function.zip ./*
- aws lambda update-function-code --function-name MyLambdaFunction --zip-file fileb://lambda_function.zip
- GUI画面でLambdaにコードとライブラリが入っているか確認