質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

439閲覧

作成したEC2インスタンス(名前はudemy-aws-14days-batch-Batch)のsrcディレクトリの配下に置いたListBuckets.phpにアクセスできない

HollyChan

総合スコア24

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2019/01/03 20:30

UdemyのAWSのカリキュラムの中でS3を使用するためサンプルファイルのListBuckets.phpへターミナル上でアクセスするというステップがあるのですが、
コマンドを実行すると下記のエラーが出てきてしまい、アクセスが拒否されている状況です。
なぜ403のエラーが出てしまっているのかがわからないので、原因がわかりそうなら教えていただきたいです。

ーーーーーーーーーーーーーーー
ターミナル

[ec2-user@udemy-aws-14days-batch src]$ cd ..
[ec2-user@udemy-aws-14days-batch ~]$ cd src/
[ec2-user@udemy-aws-14days-batch src]$ cp -r ../udemy-aws-14days/Day7/src-s3-sample/* .
[ec2-user@udemy-aws-14days-batch src]$ ll
合計 16
-rw-rw-r-- 1 ec2-user ec2-user 1164 1月 4 05:20 DbUploadFromCSV.php
-rw-rw-r-- 1 ec2-user ec2-user 315 1月 4 05:20 ListBuckets.php
-rw-rw-r-- 1 ec2-user ec2-user 538 1月 4 05:20 PutObject.php
-rw-rw-r-- 1 ec2-user ec2-user 82 1月 4 05:20 data.csv
[ec2-user@udemy-aws-14days-batch src]$ php ListBuckets.php
PHP Fatal error: Uncaught exception 'Aws\S3\Exception\S3Exception' with message 'Error executing "ListBuckets" on "https://s3.ap-northeast-1.amazonaws.com/"; AWS HTTP error: Client error: GET https://s3.ap-northeast-1.amazonaws.com/ resulted in a 403 Forbidden response:

<?xml version="1.0" encoding="UTF-8"?>

<Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>685CA6 (truncated...)
AccessDenied (client): Access Denied - <?xml version="1.0" encoding="UTF-8"?>
<Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>685CA6C6A37AEB41</RequestId><HostId>3q1F7DESodFGgMv4uYwxm3VCVTcFgOk4B54aIUH3HW17hcazmHGFMEY/0rDRuHOn34CZImV+HOI=</HostId></Error>'

GuzzleHttp\Exception\ClientException: Client error: GET https://s3.ap-northeast-1.amazonaws.com/ resulted in a 403 Forbidden response:

<?xml version="1.0" encoding="UTF-8"?>

<Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>685CA6 (truncated...)
in /home/ec2-user/vendor/guzzlehttp/guzzle/src/Exception/RequestExce in /home/ec2-user/vendor/aws/aws-sdk-php/src/WrappedHttpHandler.php on line 191
[ec2-user@udemy-aws-14days-batch src]$

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

有料コンテンツであれば、まずはサポートで質問してみるのが早いかと思いますよ。
(teratailの回答者はudemyのコースの内容を知ることが出来ず、正確な回答をするのには情報が足りないためです)

・・・という前提になりますが、勘と推測で回答しますと
発生しているエラーメッセージは「このバケットへのアクセス権限が無いよ」という意味です。
(これはEC2からS3へのHTTPアクセス自体には成功していることも示しています)

つまり

作成したEC2インスタンス(名前はudemy-aws-14days-batch-Batch)のsrcディレクトリの配下に置いたListBuckets.phpにアクセスできない

ではなく、
ListBuckets.phpは動いているが、何らかの設定が足りないためS3からアクセス拒否のメッセージが帰ってきている
というのが正しい状況です。

EC2からS3にアクセスするには以下の流れが必要です。

  1. バケットへのアクセス許可設定を行う(許可するIAM roleとポリシーを指定する)
  2. EC2にIAM roleを付与するか、プログラム上でアクセスキーを使用する

今回のケースだと、1が失敗しているか、1は成功しているが2に失敗しているのどちらかのケースだと思われますので、現在見ている教材から遡ってアクセスそれぞれの手順についてミスが無いか確認して、問題があれば修正する
というのが解決方法になります。

EC2 s3 アクセス PHPといったキーワードで検索して、(教材とは異なる形になるかもしれませんが)一度実際に試してみて、流れと全体像を把握してみるのもお勧めです。

投稿2019/01/03 20:52

編集2019/01/03 20:55
tanat

総合スコア18713

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

HollyChan

2019/01/03 23:13

ありがとうございます!! 1 バケットへのアクセス許可設定を行う(許可するIAM roleとポリシーを指定する)の通りでした! 新しくIAM作った時に権限の付与を忘れていたようです。 ちなみにサポートなんですが、講師の方から回答が数日後のことがあり、初歩的なことならこちらで質問させていただきました!ありがとうございました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問