AWSのPaaSがIAMロールをサポートする。アプリケーションからのAWSサービス呼び出し時の操作が容易になる。
米Amazon Web Services(AWS)は4月17日、PaaSの「AWS Elastic Beanstalk」で新たにIAM(Identity and Access Management)ロールをサポートしたと発表した。自分のアプリケーションからAWSサービスへのセキュアなアクセスの確立が容易になるとしている。
IAMロールは長期間有効なアクセスキーを共有しなくても、定義済みのアクセス許可を使用して信頼されたエンティティにアクセスを委譲できる機能。これを使ってAmazon EC2やAWS Elastic BeanstalkなどのAWSサービスにアクセスを委譲できる。
Elastic Beanstalkの管理コンソールとebコマンドラインには、IAMロールと関連するインスタンスのプロファイルをプロビジョニングできる機能が加わり、それを自分の環境に割り当てられるようになった。既存のロールを使って環境全体で共有することも可能だ。
これまでは、アプリケーションからAWSのサービスAPI(DynamoDBやCloudWatchなど)を呼び出す場合、Elastic Beanstalkの環境変数を使ってAWSのアクセス鍵と秘密鍵をアプリケーションに受け渡す方法が一般的だった。
IAMロールでは、AWSの一時的なクレデンシャル(信用情報)が自分の環境内のEC2インスタンスで安全にプロビジョニングされる。このクレデンシャルをAWS SDKで利用するには、クライアント側で設定を行う必要があるが、それ以外についてはAWS SDK側が自動的に処理するという。
この機能は同日から提供が開始されている。
// Initialize the client.
// Notice I didn't have to pass any credentials
AmazonCloudWatchClient client = new AmazonCloudWatchClient();
// Record the metric data where numOfUsers is tracked in your application
MetricDatum dataPoint = new MetricDatum()
.withDimensions(new Dimension()
.withName("Environment")
.withValue("MyProductionEnvironment"))
.withMetricName("Users")
.withValue(numOfUsers);
// Create the request to CloudWatch and define a namespace for my application
PutMetricDataRequest request = new PutMetricDataRequest()
.withNamespace("myapp/prod")
.withMetricData(dataPoint);
// Put the metrics in CloudWatch
client.putMetricData(request);
Amazon EC2に価格で負けないことを強調:Windows AzureのIaaS、非マイクロソフトユーザーにとっての魅力は?
AWS OpsWorksアプリケーション運用の勘所(1):AWS OpsWorksって何? から、運用しやすくなる下準備のポイントまで
短期決戦プロジェクトの立ち上げ方:期間限定の巨大プロジェクト・米国大統領選の裏側をAWSの中の人に聞いた
AWSでリージョン間のマシンイメージコピーができるようにCopyright © ITmedia, Inc. All Rights Reserved.