1- # gcs-basic-authとは
1+ # gcs-basic-auth とは
22
3-
4- gcs-basic-authは、Google Cloud Storage(以下、GCS)のファイルをBasic認証をつけて公開するためプログラムです。
3+ gcs-basic-auth は、Google Cloud Storage(以下、GCS)のファイルを Basic 認証をつけて公開するためプログラムです。
54Google App Engine(以下、GAE)にデプロイして使用します。
65
7- GAEにアクセスされるとBasic認証を表示し、認証されるとリバースプロキシのように動いてGCSのファイルをユーザに転送します 。
6+ GAE にアクセスされると Basic 認証を表示し、認証されるとリバースプロキシのように動いて GCS のファイルをユーザに転送します 。
87
98# How it works
109
@@ -24,19 +23,18 @@ env_variables:
2423 BASIC_AUTH_PASSWORD : ' hoge_password' #<-Basic認証で入力させたいパスワード
2524` ` `
2625
27- 3.GAEのstandard (node)にデプロイ
26+ 3.GAE の standard (node)にデプロイ
2827
29- 4.GAEにアクセスして表示を確認
28+ 4.GAE にアクセスして表示を確認
3029
31- 表示されない場合、IAMの権限が足りているか 、stackDrive Loggingページを確認します 。
30+ 表示されない場合、IAM の権限が足りているか 、stackDrive Logging ページを確認します 。
3231
3332` ` `
3433Management (IAM) API has not been used in project
3534```
3635
3736などが、出ているときは指示に従って権限を追加します。
3837
39-
4038# その他設定系
4139
4240``` yaml
@@ -72,27 +70,27 @@ env_variables:
7270
7371### 転送モードについて
7472
75- 設定のTRANSFER_MODE (転送モード)について説明します。
73+ 設定の TRANSFER_MODE (転送モード)について説明します。
7674
77- 転送の基本的な動きは、ユーザがアクセスすると、GAEが ` GCS->GAE->ブラウザ/ユーザ` と流れます。
78- ただし、GAEのstandardは60秒しか動作しないため 、巨大ファイルだと転送が間に合わない可能性があります。
79- そこで、GCSの署名付きURL(一定期間のみ使用可能なURL )を使い、ファイル転送をGCSから行います 。
75+ 転送の基本的な動きは、ユーザがアクセスすると、GAE が ` GCS->GAE->ブラウザ/ユーザ` と流れます。
76+ ただし、GAE の standard は 60 秒しか動作しないため 、巨大ファイルだと転送が間に合わない可能性があります。
77+ そこで、GCS の署名付き URL(一定期間のみ使用可能な URL )を使い、ファイル転送を GCS から行います 。
8078転送の流れが、 `GAE->(署名付きURL)->ブラウザ->(リダイレクト)->GCS->(ファイル転送)->ブラウザ` とすることで巨大ファイルの問題を解決できます。
81- また、GCS->GAEと経由するより直接転送したほうが安くなります 。
82- ただし、HTMLを署名付きURLで取得すると 、正常に機能しません。
83- URLがGCSになるため、HTMLはGCSを起点にファイルを取得しようとし 、失敗します。
84- これは、CSSやJSにも当てはまります 。
79+ また、GCS->GAE と経由するより直接転送したほうが安くなります 。
80+ ただし、HTML を署名付き URL で取得すると 、正常に機能しません。
81+ URL が GCS になるため、HTML は GCS を起点にファイルを取得しようとし 、失敗します。
82+ これは、CSS や JS にも当てはまります 。
8583
86- どのファイルをGCS署名付きURLを使うかの設定が転送モードです 。
84+ どのファイルを GCS 署名付き URL を使うかの設定が転送モードです 。
8785
88- + TRANSFER_MODE : ' ALL_DIRECT' => すべてのファイルはGAEを経由して転送
89- + TRANSFER_MODE : ' ALLOW_DIRECT' => ALLOW_DIRECT_LISTに記載したファイルのみGAEを経由して転送
90- + TRANSFER_MODE : ' ALLOW_REDIRECT' => ALLOW_REDIRECT_LISTに記載されていないファイルをGAEを経由して転送
86+ - TRANSFER_MODE : ' ALL_DIRECT' => すべてのファイルは GAE を経由して転送
87+ - TRANSFER_MODE : ' ALLOW_DIRECT' => ALLOW_DIRECT_LIST に記載したファイルのみ GAE を経由して転送
88+ - TRANSFER_MODE : ' ALLOW_REDIRECT' => ALLOW_REDIRECT_LIST に記載されていないファイルを GAE を経由して転送
9189
92- ALLOW_DIRECT_LISTと、ALLOW_REDIRECT_LISTには 、対象としたいファイルの拡張子を記載下さい。
90+ ALLOW_DIRECT_LIST と、ALLOW_REDIRECT_LIST には 、対象としたいファイルの拡張子を記載下さい。
9391
94- また、署名付きURLの有効時間は、GCS_URL_LIFETIMEで設定できます 。(初期値:1時間 )
92+ また、署名付き URL の有効時間は、GCS_URL_LIFETIME で設定できます 。(初期値:1 時間 )
9593
96- GAE転送する必要があり、60秒で間に合わない場合は 、
94+ GAE 転送する必要があり、60 秒で間に合わない場合は 、
9795`app.yaml`の`env : standard` => `env: flexible`に変更することで接続時間を伸ばせます。
9896ただし、サーバスケールが分速に遅くなるので、ある程度サーバ台数を確保しておく必要があります。
0 commit comments