こちらのサイトではDRUPAL10に関連する記事を掲載しています。
AWS CLI v2 インストール
AWS CLIをインストールすると、コマンド入力でAWSを操作できるようになります。今回は、Windows環境にAWS CLIインストールする手順をまとめました。
インストール要件
AWSの公式ドキュメントで記載されている要件はこちらです。
- AWS CLI は、Microsoft がサポートする 64 ビット Windows のバージョンでサポートされています。
- ソフトウェアをインストールするための管理者権限
インストール手順
AWS CLI v2のインストール手順は公式のユーザーガイドに記載されています。
Windowsにおけるインストール手順はこちらです。
基本的にはこちらの手順を見ていただければ問題なくインストールできるかと思います。
AWS CLI v1との大きな違いとしては、
- AWS CLI v2は64bit版Windowsのみサポート
- 公式にはMSIインストーラーによるインストールのみドキュメント化
- これはMSIインストーラーに専用のPythonがバンドルされた結果と思われます
- ドキュメントは無くてもpipを使ったインストールも可能と思われます(未検証)
MSIインストーラーを使ったAWS CLI v2のインストール
ここから実際にインストールしていきます。
今回はWindows 11を使用しました。
はじめにココから最新のMSIインストーラーをダウンロードして実行します。
NEXTボタンを選択します
インストールする機能を選択します
設定に問題がなければ、INSTALLボタンを選択します
インストールが完了するまでしばらく待ちます
インストールはこれで完了です
正常にインストールされたことを確認します
PowerShellコンソールやコマンドプロンプトから次のコマンド
を実行してインストールされた事を確認。
aws --version
IAMユーザーの作成
AWS CLIを使用するにはログインユーザーの権限が必要です。
AWSのこちらの記事を引用させていただきました
ステップ 1: AWS にサインアップします
AWS アカウント をお持ちでない場合は、以下の手順を実行してアカウントを作成してください。
AWS アカウント にサインアップするには
- を開きます。
- オンラインの手順に従います。 サインアップ手順の一環として、通話呼び出しを受け取り、電話のキーパッドを用いて確認コードを入力するように求められます。
ステップ 2: IAM ユーザーを作成します
自分用の管理者ユーザーを作成し、そのユーザーを管理者グループに追加するには (コンソール)
- [Root user (ルートユーザー)] を選択し、AWS アカウント メールアドレスを入力して、アカウント所有者として IAM コンソール
にサインインします。次のページでパスワードを入力します。
ナビゲーションペインで [Users (ユーザー)]、[Add user (ユーザーを追加する)] の順に選択します。
[User name] (ユーザー名) に「Administrator
」と入力します。
(オプション) AWS では、デフォルトで、新しいユーザーは初回サインイン時に新しいパスワードを作成する必要があります。[User must create a new password at next sign-in (ユーザーは次回のサインイン時に新しいパスワードを作成する必要がある)] の隣にあるチェックボックスをのチェックを外して、新しいユーザーがサインインしてからパスワードをリセットできるようにできます。
[Next: Permissions (次へ: アクセス許可)] を選択します。 [Set permissions (アクセス許可の設定)] で、[Add user to group (ユーザーをグループに追加)] を選択します。 [Create group (グループの作成)] を選択します。[Create group] (グループの作成) ダイアログボックスで、[Group name] (グループ名) に「Administrators
」と入力します。
ポリシーリストで、[AdministratorAccess] のチェックボックスを選択します。
次に、[Create group (グループの作成)] を選択します。
グループのリストに戻り、新しいグループのチェックボックスをオンにします。必要に応じて [Refresh] (更新) を選択し、リスト内のグループを表示します。
[Next: Tags] (次へ: タグ) を選択します。
(オプション) タグをキーバリューペアとしてアタッチして、メタデータをユーザーに追加します。IAM でのタグの使用の詳細については、IAM ユーザーガイドの「IAM リソースのタグ付け」を参照してください。
[Next: Review] (次へ: 確認) を選び、新しいユーザーに追加するグループメンバーシップのリストを表示します。続行する準備ができたら、[Create user] (ユーザーの作成) を選択します。
IAMが正しく作成できれば次の画面が表示されます
この同じプロセスにより、さらにグループとユーザーを作成し、そのユーザーに対し AWS アカウント のリソースへのアクセス権を付与できます。ポリシーを使用して特定の AWS リソースに対するユーザーの許可を制限する方法については、「アクセス管理』」と「ポリシーの例」を参照してください。
[新機能]IAMの委譲権限を制限可能なPermissions Boundaryが登場したので試してみたステップ 3: アクセスキー ID とシークレットアクセスキーを作成します
CLI アクセスには、アクセスキー ID とシークレットアクセスキーが必要です。AWS アカウント の root ユーザーアクセスキーの代わりに IAM ユーザーアクセスキーを使用します。IAM を使用すると、AWS アカウント での AWS のサービス とリソースへのアクセスを安全に制御できます。アクセスキー作成の詳細については、AWS 全般のリファレンスの「認証情報の理解と取得」を参照してください。
アクセスキーはアクセスキー ID とシークレットアクセスキーから成り、 に対するプログラムによるリクエストに署名するときに使用されますAWS アクセスキーがない場合は、 から作成することができますAWS Management Console ベストプラクティスとして、必須ではないタスクでは AWS アカウントのルートユーザーアクセスキーを使用しないでください。代わりに、自身用のアクセスキーを持つ新しい管理者 IAM ユーザーを作成します。
シークレットアクセスキーを表示またはダウンロードできるのは、キーを作成するときのみです。後で回復することはできません。ただし、いつでも新しいアクセスキーを作成できます。また、必要な IAM アクションを実行するための許可が必要です。詳細については、IAM ユーザーガイドの IAM リソースにアクセスするために必要な許可を参照してください。
IAM ユーザーのアクセスキーを作成するには
- AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/
) を開きます。
ナビゲーションペインで [Users] (ユーザー) を選択します。
アクセスキーを作成するユーザー名を選択し、[Security credentials] (セキュリティ認証情報) タブを選択します。
[Access keys] (アクセスキー) セクションで、[Create access key] (アクセスキーを作成) を選択します。
新しいアクセスキーのペアを表示するには、[Show] (表示) を選択します。このダイアログボックスを閉じた後で、シークレットアクセスキーに再度アクセスすることはできません。認証情報は以下のようになります。
- アクセスキー ID: xxxxxxxx
- シークレットアクセスキー: xxxxxxxxx
キーペアをダウンロードするには、[Download .csv file] (キーファイルのダウンロード) を選択します。このキーは安全な場所に保存してください。このダイアログボックスを閉じた後で、シークレットアクセスキーに再度アクセスすることはできません。
.csv
ファイルをダウンロードしたら、[Close] (閉じる) を選択します。アクセスキーを作成すると、キーペアはデフォルトで有効になり、すぐに使用できるようになります。
新しい設定の高速セットアップ
AWS 公式ドキュメントから引用させていただきました。
一般的な使用の場合、aws configure
コマンドが、AWS CLI のインストールをセットアップするための最も簡単な方法です。このコマンドを入力すると、AWS CLI によって 4 つの情報の入力が求められます。
この情報は、AWS CLI により、default
ファイルの、credentials
という名前のプロファイル (設定のコレクション) に保存されます。デフォルトでは、このプロファイル内の情報は、使用するプロファイルを明示的に指定しない AWS CLI コマンドを実行する場合に使用されます。credentials
ファイルの詳細については、「設定ファイルと認証情報ファイルの設定」を参照してください。
次の例は、サンプル値を示しています。次のセクションで説明するように、これらの値を独自の値に置き換えます。
$ aws configure
AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default region name [None]: us-west-2
Default output format [None]: json
設定の詳細については、「設定の基本」を参照してください。
既存の設定と認証情報ファイルの使用
既存の設定および認証情報ファイルがある場合は、AWS CLI にこれらのファイルを使用できます。
config
ファイルと credentials
ファイルを使用するには、これらのファイルをホームディレクトリの .aws
という名前の付いたフォルダに移動します。ホームディレクトリの場所はオペレーティングシステムによって異なりますが、環境変数 %UserProfile%
(Windows の場合) および $HOME
またはチルド ~
(Unix ベースのシステムの場合) を使用して参照されます。
AWS_CONFIG_FILE
と AWS_SHARED_CREDENTIALS_FILE
の環境変数を別のローカルパスに設定することで、config
ファイルと credentials
ファイルの場所をデフォルト以外の場所に指定できます。詳細については、「AWS CLI を設定する環境変数」を参照してください。
設定と認証情報ファイルの設定の詳細については、「設定ファイルと認証情報ファイルの設定」を参照してください。
IAMロールの作成
AWSサービスのIAMダッシュボードから、 ロールの作成 をクリックします。
Roleを割り当てるサービスとしてEC2を選択してNEXTをクリックします
つぎに、ポリシーを設定します。S3のファイルを色々と操作したいので、 S3のフルアクセス権限 を付与します。また、動作確認のため EC2とVPCの読み取り専用の権限 も付与します。
名前には次のようなわかりやすいROLE名を付けましょう
VPCReadonly-EC2Readonly-S3Full
EC2にIAMロールを割り当て
対象のEC2を指定し、Actions->Security->Modify IAM roleを選択します
先に作成したRoleを選択したのち、Update IAM Roleをクリックします
以上でEC2にIAMロールの割り当て完了です。
動作確認
AWS-CLIを使えば、次のコマンドを実行するだけでEC2の情報を取得、一覧することができます。
aws ec2 describe-instances
おわりに
今回コマンドでAWSを管理するツールとしてかならずいれておきたいAWS CLIのインストール方法をご紹介しました。こちらはaws
コマンド一つでAWSの各種リソースを管理することが可能で、PowerShellも含めて各種シェル上で利用することができます。
ちなみに、PowerShellを使い慣れておりPowerShellの流儀に合わせたい場合はAWS Tools for PowerShellというツールもあります
大まかな違いは次の表のとおりです
項目 | AWS CLI | AWS Tools for PowerShell |
---|---|---|
実装 | Python製 (botocore) | C#製 (AWS SDK for .NET) |
対応シェル | PowerShellに限らない | PowerShellのみ |
コマンド体系 | aws コマンド1つ | 多数のPowerShellコマンドレット(≒内部コマンド) |
入出力 | JSON等のテキスト | .NETのオブジェクト |
なにかの参考になれば幸いです。
この記事またはDrupalに関するご質問がございましたら、お気軽にお問い合わせください。