Movatterモバイル変換


[0]ホーム

URL:


developersIOproduced by Classmethod

VS CodeからCloudShellに接続!「AWS CloudShell plugin for VS Code」を試してみた

VS CodeからCloudShellに接続!「AWS CloudShell plugin for VS Code」を試してみた

2021.01.22

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは!DA(データアナリティクス)事業本部 インテグレーション部の大高です。

re:Invent 2020 で発表されたマネジメントコンソールから利用できるシェル「AWS CloudShell」ですが、これをVS Codeから利用できる「AWS CloudShell plugin for VS Code」という拡張機能があります。

以前から気になっていたのですが、やっと試すことができたので設定方法などをまとめたいと思います。

前提条件

以下については既に対応済みであることを前提として記載しています。

  • AWS CLIをインストール済み
  • Session Manager plugin をインストール済み
  • IAMユーザを作成しており、IAMユーザのアクセスキーが発行済み

AWS CLIのインストールと、Session Manager pluginのインストールについては以下の記事でも記載していますので、よろしければご参照ください。

AWS側の準備

まずは、AWS側の準備を行います。

実施に試したところ、以下の2つが必要でした。

  • IAMロール
    • CloudShellのアクセス権限を持ったIAMロール
  • IAMユーザ
    • 上記IAMロールにAssume RoleできるIAMユーザ

今回は「IAMユーザ」は既に作成済みである想定なので、このIAMユーザのARNを利用して該当IAMロールを作成するようなCloudFormationテンプレートを作成してみました。

AWSTemplateFormatVersion: "2010-09-09"Description:  Setup IAM Role for VS Code AWS CloudShellMetadata:  "AWS::CloudFormation::Interface":    ParameterGroups:      - Label:          default: "VS Code AWS CloudShell Configuration"        Parameters:          - IAMUserARN          - AssumeRoleName    ParameterLabels:      IAMUserARN:        default: "IAM User ARN"      AssumeRoleName:        default: "AssumeRole Name"Parameters:  IAMUserARN:    Type: String    Default: ""  AssumeRoleName:    Type: String    Default: "CloudShell-AssumeRole"Resources:  AssumeRole:    Type: AWS::IAM::Role    Properties:      RoleName: !Ref AssumeRoleName      AssumeRolePolicyDocument:        Version: 2012-10-17        Statement:          -            Effect: Allow            Action: sts:AssumeRole            Principal:              AWS: !Ref IAMUserARN      ManagedPolicyArns:        - arn:aws:iam::aws:policy/AWSCloudShellFullAccessOutputs:  CloudShellIamRoleArn:    Description: IAM role for CloudShell    Value: !GetAtt AssumeRole.Arn

こちらを利用して、IAMUserARNパラメータにIAMユーザのARNを指定すればサクッと作成できるかと思います。権限としてIAMロールにはAWSCloudShellFullAccessを付与しています。

作成後には、CloudFormationのOutputs(出力)にCloudShellIamRoleArnというキーで作成したIAMロールのARNが表示されているので控えておきます。(後で設定時に利用します)

拡張機能のインストール

次に、VS Codeに拡張機能をインストールします。 拡張機能識別子はiann0036.aws-cloudshell ですので、VS Codeで拡張機能タブを開いてiann0036.aws-cloudshell を検索してインストールします。

拡張機能の設定

インストールが無事に済んだら、今度は設定を行います。

VS Codeのユーザー設定を開いてcloudshellで検索すると4つの設定項目が表示されるかと思います。

これをそれぞれ設定しておきます。

Assume Role

先程作成して控えておいたIAMロールのARNをここに指定します。

Enable Upload

このオプションを有効にすると、VS Codeのエクスプローラーでファイルを右クリックしたときに、コンテキストメニューに「Upload file to AWS CloudShell」と表示され、ファイルがアップロードできるようになります。(なのですが、2021/01/22現在では実際に試したところ、アップロードしたファイルが見当たりませんでした。もし分かったら後で追記したいと思います。)

Profile

本エントリの「前提条件」としているIAMユーザのアクセスキーを設定しているAWS CLIのプロファイル名です。

Region

CloudShellを起動するリージョンです。今回はap-northeast-1で試しています。

接続してみる

では、設定が完了したら早速接続してみましょう。

画面左側の「AWS CloudShell」用のアイコンをクリックし、上部のクラウドマーク(Start Session)をクリックします。

すると、一覧にシェルのリストが表示され、ステータスがconnectingとなります。

しばらく待つとステータスがconnectedとなり、Cloud Shellのターミナルが自動で開きます。

whoamiコマンドで、ちゃんとcloudshell-userなのが確認できますね!

なお、今のところエクスプローラについては「SSH接続」や「WSL接続」のように連動しないので、その点は注意が必要です。

まとめ

以上、「AWS CloudShell plugin for VS Code」を試してみました。「管理コンソールを開かずに、普段使い慣れているVS CodeからCloudShellに接続したい!」という場合には良さそうな拡張機能かなと思いました。

どなたかのお役に立てば幸いです。それでは!

この記事をシェアする

FacebookHatena blogX

EVENTS

セミナー一覧会社説明会一覧勉強会一覧

関連記事

mcp.jsonにAPIキーを書きたくない!1Password CLIを使ってセキュアに環境変数を渡す方法
草竹 大輔
2025.12.10
DevContainer上にClaude Codeをセットアップする
かずえ
2025.12.09
計画→実行のVS Code Planエージェント。カスタムエージェントの参照実装としても使えます
quiver
2025.11.20
【AWS×MCP】VSCodeとGitHub CopilotでAWS環境を自在に調査!1Password・AWSumeと連携した私の設定を公開
草竹 大輔
2025.11.12

[8]ページ先頭

©2009-2025 Movatter.jp