1.AWSのストレージサービスS3とは
S3とはAmazon Simple Storage Serviceの略称となります。
簡単に言えば、高機能ではないけれど非常に安価に利用できるストレージサービスで大容量のログのバックアップなどを保存しておくときなどに大活躍します。
BucketとObjectという概念によって構成されています。Bucketは簡単に言えば
一般的なストレージで言うところのボリューム、Objectは実際のファイルのような概念です。
特徴的なのはもしBucketをインターネット上に公開する場合、Bucket名+リージョンドメインがそのままURLになります。例えば東京リージョンだと下記になります。
https://Bucket名.s3-ap-northeast-1.amazonaws.com/Object名
実際にS3を利用する場合、EC2などからファイルのバックアップの保存先などで利用するが多いと思います。
今回はEC2からS3にファイルを保存する方法、ついでにインターネット上にファイルを公開する方法を紹介します。
2.EC2インスタンスにアクセス権の付与
2.1.対象のEC2インスタンスの選択
まずはEC2インスタンスの管理画面から、S3へアクセスするためのアクセス権限を付与します。権限を付与したいサーバを選択し、「アクション>インスタンスの設定>IAMロールの割り当て/置換」を選択します。

2.2.IAMロールの新規作成
ロールがない場合は、新しいIAMロールを作成するを選択します。

2.2.1.ステップ1:ユースケースの選択
ユースケースの選択では今回はEC2を選択し、次のアクセス権限に進みます。

2.2.2.ステップ2:ポリシーの選択
アクセス権限ポリシーを選択します。ポリシーのフィルタでs3と入力し、「AmazonS3FullAccess」と言うポリシーを選択しましょう。

2.2.3.ステップ3:タグの設定
好きなタグを設定しましょう。何も作らなくてもOKです。
2.2.4.ステップ4:ロール名の入力
好きなロール名を入れて、右下のロールの作成を選択します。今回は「ec2tos3」と言うロール名にしてみます。エラーなく作成されればIAMロールの作成は完了です。

2.3.IAMロールの割り当て
先ほどのIAMロールの割り当て画面に戻り、IAMロールのプルダウンを選択してみましょう。先ほど作成した「ec2tos3」というロールが選択できるはずです。
選択したら、適用を押下します。

無事適用できたら、アクセス権の付与は完了です。IAMロールの割り当ては、EC2インスタンス管理画面の説明タブでも確認することができます。
3.AWS CLIのインストール
実際にEC2からS3にアクセスする際は、AWS CLIというCLIツールを使う必要があります。
英語になりますが、こちらのページでAWS CLIのインストールの公式手順を確認することができます。
先ほど選択した、EC2にログインし、AWS CLIをインストールしたいディレクトリ で下記のコマンドを実行します。
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
インストールが完了したら、パスを通します。
sudo ./aws/install -i /usr/local/aws-cli -b /usr/local/bin
下記のコマンドでバージョンが確認できれば、インストールは完了です。
aws --version
4.S3へのファイルのアップロード
インストールしたAWS CLIを使って、ファイルのアップロードをしてみます。
4.1.Bucketの作成
まずは下記のコマンドでBucketを作成します。先ほど説明した通り、同じリージョンでBucket名はユニークである必要がありますので、なるべく複雑な名前にしましょう。ドット.やスラッシュ/は含めないようにしましょう。
aws s3 mb s3://Bucket名
作成に成功したら、下記のように表示されます。また、lsコマンドでバケットの存在を確認することができます。
make_bucket: Bucket名
aws s3 ls
4.2.Objectの作成
ローカルファイル「text.txt」をコピーしてObjectを作成します。Linuxと同じくcpコマンドを利用できます。下記の通り表示がされればアップロード成功です。
aws s3 cp text.txt s3://Bucket名
upload: ./text.txt to s3://Bucket/text.txt
4.3.AWS管理コンソール上でBucketの確認
AWS管理コンソールでBucketが作成できているか確認しましょう。

4.4.Objectの公開
該当のBucketを選択すると、先ほどアップロードした「text.txt」が確認できるはずです。インターネット上に公開するには、「text.txt」を選択して、概要タブの公開を押下します。

無事公開できたら、オブジェクトURLをブラウザで入力してみてください。ファイルの中身が表示されると思います。