この記事では「この前リリースされた機能って実際に動かすとどんな感じなんだろう」とか「もしかしたら内容次第では使えるかも??」などAWSサービスの中でも特定の機能にフォーカスして検証していく記事です。
主な内容としては実践したときのメモを中心に書きます。(忘れやすいことなど) 誤りなどがあれば書き直していく予定です。
今回はLocalStackとAWS ToolKitの統合を検証してみます。
このガイドでは、Linux環境でAWS CLIをインストールし、AWS SSOを使用してログインするまでの手順を説明します。
- Linux環境(Ubuntu、CentOS、Amazon Linux等)
- インターネット接続
- 管理者権限(sudoが使用可能)
- AWS SSO が組織で設定済み
- Python 3.12.1
最新版のAWS CLI v2を公式インストーラーでインストールします。
# 1. インストーラーをダウンロード
curl "https://awscli.amazonaws.com/awscli-exe-linux-$(uname -m).zip" -o "awscliv2.zip"
# 2. unzipがインストールされていない場合はインストール
sudo apt update && sudo apt install unzip -y # Ubuntu/Debian系
# または
sudo yum install unzip -y # CentOS/RHEL系
# 3. ダウンロードしたファイルを展開
unzip awscliv2.zip
# 4. インストール実行
sudo ./aws/install
# 5. インストール確認
aws --version
# ダウンロードしたzipファイルと展開したディレクトリを削除してクリーンアップします。
rm "awscliv2.zip"
# 解凍したディレクトリを削除
rm -rf awsAWS SSOを使用するための初期設定を行います。
aws configure sso設定時に以下の情報の入力が求められます:
- SSO start URL: 組織のSSO開始URL(例:
https://my-company.awsapps.com/start) - SSO Region: SSOが設定されているリージョン(例:
us-east-1) - アカウント選択: 利用可能なAWSアカウントから選択
- ロール選択: 選択したアカウントで利用可能なロールから選択
- CLI default client Region: デフォルトのAWSリージョン(例:
ap-northeast-1) - CLI default output format: 出力形式(
json、text、tableのいずれか) - CLI profile name: プロファイル名(
defaultとします。)
設定完了後、以下のコマンドでログインを実行します。
aws sso loginログイン時の流れ:
- コマンド実行後、ブラウザが自動的に開きます
- AWS SSOのログインページが表示されます
- 組織のIDプロバイダー(例:Active Directory、Okta等)でログイン
- 認証が成功すると、ターミナルに成功メッセージが表示されます
認証情報を確認します。
aws sts get-caller-identity正常にログインできている場合、以下のような情報が表示されます:
{
"UserId": "AROAXXXXXXXXXXXXXX:username@company.com",
"Account": "123456789012",
"Arn": "arn:aws:sts::123456789012:assumed-role/RoleName/username@company.com"
}# 手動でブラウザを開く場合のURL確認
aws sso login --no-browser表示されたURLを手動でブラウザで開いてください。
# 再ログイン
aws sso loginプロキシ環境の場合、以下の環境変数を設定してください:
export HTTP_PROXY=http://proxy.company.com:8080
export HTTPS_PROXY=http://proxy.company.com:8080
export NO_PROXY=localhost,127.0.0.1,.company.com-
定期的な認証情報の更新: SSOセッションには有効期限があります。定期的に再ログインを行ってください。
-
最小権限の原則: 必要最小限の権限を持つロールを使用してください。
-
プロファイルの分離: 本番環境と開発環境で異なるプロファイルを使用してください。
-
ログアウト: 作業終了時は適切にログアウトしてください:
aws sso logout --profile <プロファイル名>