Cloud9 でaws cliするのにこんなに悩まされるとは思ってなかった
assume roleが絡んでるので実際は違うと思うが、だいたいのところは分かった。
というかcloud9立てる時点で 待つこと40分近く?
こんなエラーがでやがった。うそやろ?
っていろいろテキトーに見て回ってたら設定するVPCが💩だったようでw
道なりに進めと書いててもちゃんと確認しようぜ!
やったことはここに書いてある通りのことしかやってない
[ Cloud9からIAM Roleの権限でAWS CLIを実行する | DevelopersIO ]
( https://dev.classmethod.jp/articles/execute-aws-cli-with-iam-role-on-cloud9/ )
1)cloud9のPreference()⇒AWS Settings⇒Credentials/AWS Managed Temporary credentialsのトグルボタンをOFF(無効)にする。
2)AdministratorAccessロールを割り当てたIAMロールを、cloud9のEC2に割り当てる
ここで記事と画面が違ってすっごく迷った(AWSはいつもユーザー虫だからな)
3)EC2インスタンスを選択し、
アクション⇒ セキュリティ⇒ IAMロールを変更
ここでロール変更(設定)ができる。
これで「Cloud9が一時的なクレデンシャルキーを自動的に取得」になる。
4)aws configure listでステータスを確認。
5)環境変数 AWS_DEFAULT_REGIONにリージョン名を設定
export AWS_DEFAULT_REGION=ap-northeast-1
6)コンフィグリストに反映されていることを確認
7)./awsに、configファイルを作成
[default]
region = ap-northeast-1
を書いて保存(echoでリダイレクト出力でもよい)
8)IAM Roleの権限でAWS CLIの実行
IAMユーザーを新規作成
aws iam create-user --user-name sample-user
{
"User": {
"Path": "/",
"UserName": "sample-user",
"UserId": "USERIDxxxxxxxx",
"Arn": "arn:aws:iam::9999999:user/sample-user",
"CreateDate": "2021-99-99T17:42:40+00:00"
}
}
これが実行できたら aws cliが利用できることを確認できたことになる。
ちなみにAMTCをONにすると
An error occurred (InvalidClientTokenId) when calling the CreateUser operation: The security token included in the request is invalid
(CreateUser操作の呼び出し時にエラーが発生しました(InvalidClientTokenId):リクエストに含まれているセキュリティトークンが無効です)
と表示されてエラーになる。
AMTC設定はデフォルトONという話だが、なんでONなのかがわからない。
こんなのどこで見つけりゃいいんだよw
実施したのは個人の環境なので何も気にせずやれたので良かったが、あまり下手打ちできないなあとも思った。