深澤俊(4)7こんにちは(U・ω・U)AWS事業部の深澤です。僕は先日、こんな記事を上げました。assume-roleでクレデンシャルを取得、有効期限を設定してみるしかしこの記事に対して以下のようにフィードバックをいただきました。こちらですがremind101/assume-roleでも以下のようにコマンドを用いればセッション継続時間を指定できると指摘をいただきました。_)mそうです、今回はここを検証すべく記事を書きました。書いた環境をそのまま利用しています。remind101/assume-roleのインストールインストール方法は利用されている環境に応じて公式ドキュメントを参照してください。https://github.com/remind101/assume-role僕の場合はMacを利用しているので次のようにインストールしました。踏み台となるAWSアカウントのconfigとクレデンシャル情報を記載します。.aws/credentialsに以下のような感じで書き込みましょう。[bastion]aws_access_key_id=AKIAXXXXXXXXXXXXXXXXaws_secret_access_key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX続いて.aws/configに設定を書き込みます。bastion]region=ap-northeast-1次に以下の情報を.aws/configに書き込みます。region=リージョンrole_arn=遷移先で作成したロールのARNmfa_serial=遷移元で設定したMFAデバイスのシリアル番号source_profile=踏み台アカウントの設定が記載されているprofile自分の場合は次のような設定になりました。private]region=ap-northeast-1role_arn=arn:aws:iam::123456789012:role/sample_switch_rolemfa_serial=arn:aws:iam::123456789101:mfa/bastion-accountsource_profile=bastionここまでで事前準備は完了です。この段階で簡単な動作確認をしてみましょう。次のように叩いて遷移先のリソース状況が取得できればただしく設定できています。lsの結果が表示される〜〜direnvと組み合わせるdirenvのインストール方法や設定方法については先日の僕の記事を参照ください。privateの出力結果がそのまま実行されるようにすればOKです。private)実際に検証してみたさて、準備が長くなりましたがここからが今回検証の趣旨です。assume-roleのhelpから-duration引数の詳細を見てみましょう。1h0m0s)なるほど、デフォルトで1時間が設定されるようですが時間(h)分(m)秒(s)の単位で指定できそうです、早速やってみます。こちらも最小設定時間は900秒(15分)からです。editで次のように書き込みます。cm_private_aws)保存してMFAを入力。+AWS_SESSION_TOKENこの状態で正しく目的環境の認証が得られていることを確認します。ls〜〜〜このまま15分待機するとセッションが無効になることを確認しました。expired.両方使ってみてということで前回僕が記事に書いた「セッションの継続時間を指定することができません。_)m個人的にはcoinbase/assume-roleとremind101/assume-roleを実際に使ってみて比較する事ができて非常に良かったなと思います。両者を比較してみたいと思います。言語ここでいう言語とは、プログラミング言語です。remind101/assume-roleはGo言語で作られていてcoinbase/assume-roleはShellで作られています。懸念点としてはShellの場合は他のサービス(コマンド)に依存するのでうっかりバージョンアップをしてしまった際に挙動がおかしくなる等の懸念があります。実際にcoinbase/assume-roleはjqコマンドとawsコマンドのインストールが必須です。この点はremind101/assume-roleの方が優れているなと思います。Github上でのスター数Githubでは良いなと思ったツールにスターを付けることができるのですが、OSSのツールではこのスター数がどのくらい付いているかを僕は結構見ます。17:00)で、remind101/assume-roleのスター数が318個、coinbase/assume-roleのスター数が409個でした。この点はcoinbase/assume-roleの方が多いですね。コミュニティの活発具合こちらはGithubの以下の観点から確認してみました。2019年6月25日ここは結構判断が難しいところですが、これらの観点から自分はcoinbase/assume-roleの方がコミュニティが活発であると思いました。releases.」になっています。コミュニティが活発である方がBugの修正や改善が多く行われるので安心ですよね。両者ともMacならbrewコマンドでインストール可能です。Linuxとwindowsの場合を比較します。PowerShellならscoop.shが使えるこちらはそれぞれが作られた言語の特性がもろに出ていますね。Linuxに簡単にインストールという観点ですとcoinbase/assume-roleであればcurlという標準コマンドでインストール可能なのは強いですし、一方で言語のところでも述べたように安定性という観点ですとGo言語上でバージョン揃えて動かす方が安全だと思います。Windowsで使うならremind101/assume-roleでREADMEにインストール方法があるのは強いですね。いえ、Windows上でLinuxを動かすという考え方もありますのでWindowsで全く使えないということもないと思います。cli標準configファイルで動作するのは優れている点だと思います。assume-role)が必要だったり、遷移元情報をAWS_PROFILE_ASSUME_ROLEという環境変数に格納しなければならなかったりと少し煩雑さがありますね。前回の僕の記事の間違いに対し指摘をいただいたのは弊社の佐伯航でした。前回記事で失敗してしまったものの、改めて今回色々検証して記事にまとめることができたのは非常に良かったです!両者とも非常に優れたツールなので、本記事を参考にまだ導入されていない方は是非導入を検討いただけると幸いです。41,017引数で渡されたyamlをそのまま実行するyamlっ子です。リモート】クラスメソッドの会社説明会を開催しますクラスメソッドでは、AWS・AI・ビッグデータ・モバイルなどの技術職や営業のメンバーとして一緒にお仕事をする仲間を大募集しています。〜ITエンジニアのお仕事とホンネ〜1月30日に新卒向けの会社説明会〜ITエンジニアのお仕事とホンネ〜を開催します。濱田孝治80EKS初心者の方向けに、EKS周辺のAWSリソースがどのように関連して動作しているのかをステップバイステップでEKSCTLが担っている役割を中心に説明しました。菊池修治45こんにちは、菊池です。VPNの冗長化について、最近何度か続けて社内で質問を受けましたのでまとめようと思います。大前諒祐26MediaLiveでの配信終了時に自動でアーカイブファイルをMediaConvertで変換する仕組みを作ってみました。武田隆志1179このエントリは、2018年、2019年に公開したAWS全サービスまとめの2020年版です。これまではいくつかに分割して公開していましたが、1エントリにまとめてほしいという要望をもらっていたため、今年は1エントリに集約してみました。クラスメソッドの関連会社であるアノテーション株式会社の研修として依頼を受け、チームと心理的安全性、それに礼節というテーマで話をしてきました。CAFEのサービスが「LINEアプリ」として利用できるようになりました。これまではLINEのトークから利用する形でしたが、LINEサービス内から利用できるようになりました。これまでより便利に、シームレスにご利用いただけます。Cafe328件のシェア(そこそこ話題の記事)インフラ未経験の私が内定から入社までに読んだ技術書11冊ブログ記事2020年01月16日Yui328インフラ未経験で入社した私がインフラを勉強するために読んだ技術書11冊を感想とともにまとめました。濱田孝治272「ふわわぁ、眠いな。クラスメソッド株式会社が運営するAWS・iOS・HTML5に関する技術情報サイトです。