雑記帳
2015-02-17 (Tue) [長年日記]
■ [AWS][Ruby] AWS SDK for Ruby v2でのcredentialsの扱い
AWS SDK for Rubyで新標準となったCredentials管理方法を使ってみるでは、aws-sdk-v1での、Shared Credentialsの使い方について説明した。v2では、この辺りも大きく変わっているようだったので、どうなっているのか確認してみた。
v2のドキュメントによると、Awsモジュールに、それぞれクラスが定義されている。
Aws::Credentialsをベースに、ソース毎にクラスが定義されている。
使い方
今どきは、EC2であればIAM Roleを、手元の環境ではShared Credentialsを使うだろう。その場合は、特に何もせずともCredentialsが有効になる。
IAM Roleの場合
ec2 = Aws::EC2::Client.new p ec2.config[:credentials] #=> #<Aws::InstanceProfileCredentials access_key_id="ASxxxxxxxxxxxxxxxxxQ">
Shared Credentialsの場合(~/.aws/credentialsのdefaultが参照される)
ec2 = Aws::EC2::Client.new p ec2.config[:credentials] #=> #<Aws::SharedCredentials profile_name="default" path="/Users/isobe/.aws/credentials">
Shared Credentialsで、profileを指定したい場合
Aws.config[:credentials] = Aws::SharedCredentials.new(profile_name: 'myaccount') #=> #<Aws::SharedCredentials profile_name="myaccount" path="/Users/isobe/.aws/credentials">
キーを直接渡す場合は、Aws.config[:credentials] にAws::Credentialsを代入すれば良い。
p Aws.config[:credentials] = Aws::Credentials.new( 'AKxxxxxxxxxxxxxxxxxx', 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' ) #=> #<Aws::Credentials access_key_id="AKxxxxxxxxxxxxxxxxxx">
(AssumeRoleは…環境がないので省略)
IAM RoleやShared Credentialsのdefaultを使う場合は、意識せずに使えるようになったので、かなり便利かと思う。
2015-02-23 (Mon) [長年日記]
■ [AWS] WEB+DB PRESS vol.85にCloudFormationの記事を書いた
2015年2月24日(火)に発売される、WEB+DB PRESS vol.85(Gihyo DP, Amazon.co.jp)の特集記事「実践 AWS自動化」に、CloudFormationについて、@y015i(y13i)と共に書かせてもらいました。
この特集記事は、@sgwr_dts(winebarrel)さんが作成されたAWSコード化ツール群、Codenize.toolsや、AWSのサービス、CloudFormation、OpsWorksについて紹介しています。
コードによるAWSの自動化、Codenize.toolsについては、@sgwr_dtsさんが、OpsWorksについては、@sawanoboly(sawanoboly)さんが書かれています。
第1章「コードによるAWSの自動化」は、AWS as Codeの概要について書かれています。インフラをコードで管理するメリットを説明されています。
第2章「CloudFormationによる構築の自動化」は、AWSのコード化に欠かせないCloudFormationについて紹介しています。ユースケースや基本的な使い方、実運用上の注意点など書いています。特に、y015iが主に書いた後半については、実際にCloudFormationを使った中のハマりどころについて解説されているので、必見です。
第3章「OpsWorksによる運用の自動化」は、OpsWorksの概念から具体的な使い方まで、幅広く書かれていて、現時点で最も分かりやすい解説ではないかと思います。
第4章「Codenize.toolsによるメンテナンスの自動化」は、AWSを管理するときに、かゆいところに手が届くツールについての紹介です。弊社でもお世話になっています。各種AWSのリソースを、DSLを使って管理でき、とても便利です。実際に使ってみると、その便利さを実感できると思います。
今回、初めて商業誌に書かせていただくことになり、そのチャンスをくれたsgwr_dtsさんとyoshidashingoさんに感謝します。また、助けてもらった共著者のy015iさん、本特集でレビューなど色々とお世話になりました、sawanobolyさん、校正をしていただいた、inaoさん、ありがとうございました。