こんにちは、Sawa です。

今回は Spring Boot を使って ブラウザ上で選択したローカルのファイルを S3 にアップロードするアプリケーションを作成するための AWS の設定をしてみたいと思います。

さっそく AWS のセットアップをしていきます!

前提

実装には AWS アカウントが必要です。

AWS 関連のセットアップ

IAM ユーザのの作成

まずは アプリケーション用の IAM ユーザを作成していきます。 AWS マネジメントコンソールに移動して IAM を選択してください。

IAM に移動したら ユーザを選択します。

次にユーザを作成を選択します。

今回は S3App というユーザを作成したいと思います。

名前を入力したら右下の 次へ → 次へ → ユーザを作成 と順にクリックしてユーザを作成します。

以下のように S3App が追加されていれば作成完了です。

IAM ユーザが作成されたら S3App をクリックしてください。

アクセスキーを作成します。 セキュリティ認証情報タブに移動して「アクセスキーを作成」を選択してください。

まずユースケースの選択です。 今回はローカルコードを選択します。

説明タグは自由に設定してください。

「アクセスキーを作成」を押します。

ここで表示されるアクセスキーとシックレットアクセスキーは後ほど使うのでメモに残しておきます。

アクセスキーを確認したら「完了」を押します。

AWS CLI の設定

今度は AWS CLI をインストールします。

公式ページを参考してインストールしました。

AWS CLI の最新バージョンのインストールまたは更新

AWS CLI をインストールできたら config ファイルを設定していきます。

以下のコマンドを実行してください。

aws configure

するとアクセスキーやリージョンなどの入力を促されるので先ほどメモしたアクセスキー、シークレットアクセスキーと使用するリージョン、出力形式の 4項目を設定します。

今回私はリージョンに us-west-2, 出力形式に json を選択しました。

設定が完了すると、~/.aws/config ファイルが作成されるので中身を確認してください。

[default]
aws_access_key_id = 自身のアクセスキー
aws_secret_access_key = 自身のシークレットアクセスキー
region = us-west-2
output = json

私の config ファイルはこんな感じになりました。

S3 の設定

ファイルをアップロードするバケットを作成していきます。

マネジメントコンソールで S3 に移動してください。

移動したら「 バケットを作成」を選択してください。

今回は sawa-test-bucket というバケットを作成します。

バケット名を選択したらあとはデフォルトのまま「バケットを作成」をクリックします。

以下のようにバケットが作成できていれば OK です。

念のため AWS CLI で S3 バケットが作成できているか確認します。

aws s3 ls

ここでうまく作成したバケットが表示されない場合は config の設定がおかしい可能性があるため、再度確認してみてください。

次に、一度 CLI から S3 にオブジェクトを PUT できるか確認してみます。

ローカルに test.txt を作成したのでこれをコマンドから PUT します。

aws s3 cp text.txt s3://sawa-test-bucket/test.txt

以下のようなメッセージが表示されていれば OK です。

upload: ./text.txt to s3://sawa-test-bucket/test.txt 

では、バケットの中身を確認してみます。

成功していそうです!

これで AWS の設定は完了しました。

次回 Spring Boot 側の実装をしていきます。

Spring Boot から S3 にファイルをアップロードしてみよう!実装編(AWS SDK for Java)

投稿者 Sawa