AWS SDK for PHPを使ってS3を使う時のメモ

photo by Scott Beale

PHPでEC2インスタンスからS3に読み書きさせるためのメモメモ

1. EC2インスタンスにIAM Roleを…

EC2インスタンスAWSへのアクセス権限を付与する為、IAMロールを適切に作ってって辺りはググってください。今回は既に適切に権限を付与されたEC2インスタンスから実行するということで…(その為にわざわざ既存のEC2インスタンスのAMIを作成してIAMロールを与えた新しいインスタンスを立ちあげ直したのはナイショです)

2. サンプルプロジェクトをgit cloneする。

[ec2-user@ip-123-45-6-78 aws-php-sample]$ git clone https://github.com/awslabs/aws-php-sample.git

元は以下です。 https://github.com/aws/aws-sdk-php/tree/v3

3. AWS SDK for PHPをインストールする。

aws-php-sampleというディレクトリに権限の付与などを行いディレクトリに移動。

[ec2-user@ip-123-45-6-78]$ chmod 777 aws-php-sample
[ec2-user@ip-123-45-6-78 aws-php-sample]$ cd aws-php-sample

そして、おもむろにインストールしまっす。

[ec2-user@ip-123-45-6-78 aws-php-sample]$ curl -sS https://getcomposer.org/installer | php
[ec2-user@ip-123-45-6-78 aws-php-sample]$ php composer.phar install

4. Bucketを作成する

こんな感じでしょうか。

実行するとBucketが作成されます。Bucket名は任意でテストしてください。

f:id:akulog:20150210231401p:plain

5. Bucketを削除する

こんな感じでしょうかね。先ほど作成したBucketを削除する例になります。

6. オブジェクトをアップロードする

参考リンク こんな感じのスクリプトを適当に。pngファイルをアップロードする例になります。

実行するとこんな感じにアップロードしたファイルのURLを返します。

[ec2-user@ip-123-45-6-78 aws-php-sample]$ php upload.php
https://bucket-name.s3.amazonaws.com/elevennines.png

7. オブジェクトを削除する

参考リンク 先ほどアップロードしたファイルを削除する場合、こんな感じです。

8. sample.phpを読もう

サンプルの宝庫やで!!

[ec2-user@ip-123-45-6-78 aws-php-sample]$ ls -l
合計 1100
:
-rw-rw-r-- 1 ec2-user ec2-user 3602 2月 10 09:09 sample.php ←コイツ!!
:
drwxrwxr-x 6 ec2-user ec2-user 4096 2月 10 09:11 vendor

9. その他参考リンク

http://docs.aws.amazon.com/aws-sdk-php/guide/latest/service-s3.html

© 2020 時藤屋 all rights reserved.