AWS SDK for PHPを使ってS3を使う時のメモ
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名は任意でテストしてください。
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
Webエンジニアが知っておきたいインフラの基本 ~インフラの設計から構成、監視、チューニングまで~
- 作者: 馬場俊彰
- 出版社/メーカー: マイナビ
- 発売日: 2014/12/27
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (5件) を見る