開発者ブログ

ユーザー目線に立った使い心地の良いユーザビリティの設計と、Javaのオブジェクト指向を駆使して、パフォーマンスの最大化を追及。STSD株式会社の開発エンジニアによるブログです。

[AWS] JavaからAmazon Web Serviceへアクセスする(下準備編)

Webサイトの構築でも採用が増えてきているAWS。そのAWSのAPIをJavaから扱うための下準備を行います。

Amazon Web Service(AWS)を使用してWebサイトや各種サービスを構築する事例がここ数年で増えてきていますが、弊社でもAWSのサービスを組み合わせて開発を行うような案件もいくつか出てきています。
AWSのサービスとプログラム(Java)を連携させる場合にはAWS側の知識と、ちょっとした勘所が必要になる箇所があったので、備忘録的にこのブログに書いていきたいと思います。

まずは下準備として環境の構築とAWS側の設定を行います。

SDKの導入

AWS側には全てのサービスをほぼ操作可能な膨大なAPIが用意されていて、プログラムからのアクセスが容易になるように設計されています。
ただ、このAPIではアクセス時の複雑な認証が必要だったり、レスポンスとして返ってきたデータのパース処理を行ったりと、一から構築を行おうとするとかなり大変です。
幸いにもこの諸々を行ってくれるJavaのSDKが用意されているので、まずはこれをダウンロードしてきます。

AWS SDK for Java
https://aws.amazon.com/jp/sdkforjava/

このSDKにはドキュメントを含めた様々なファイルが含まれていますが、Javaで使用するファイルは以下のファイルになります。
これをPC内に配置してクラスパスとして通すようにしてください。

/lib/aws-java-sdk-1.11.354.jar
→SDK本体
/third-party/lib/ にある全てのjar
→SDKが使用するライブラリ群
 

API用ユーザーの準備

APIへのアクセスには「アクセスキー」と「シークレットキー」(IDとパスワードのようなものです)による認証が必要になります。
まずはプログラムで使用する専用のユーザーをAWSに追加して「アクセスキー」と「シークレットキー」を取得します。

AWSのコンソールから「IAM」のサービスを開き、「ユーザーを追加」ボタンをクリックします。



「ユーザー名」にプログラムで使用するユーザーの名前を入力します。
「プログラムによるアクセス」にチェックを付けて、次のステップへ進みます。



アクセス権限は適宜追加するので、ここでは設定しないまま次のステップに進みます。



確認画面です。次のステップへ進みます。



ユーザーの追加が成功したら、「アクセスキー」と「シークレットアクセスキー」をメモします。
この2つはAPIへのアクセス時の認証で必要になります。
※「シークレットアクセスキー」はここでしか表示されません(後からの確認はできません)。

準備完了

これでひとまずJavaからAWSのAPIを使用する準備が整いました。
次回からはS3のファイルをダウンロードしたりするサンプルを載せていきたいと思います。