---
title: "GCSとGCEを使って開発/StageなどでUnity AssetとかをIP制限しながら配布する | grasys blog"
url: "https://blog.grasys.io/post/yusukeh/gcsproxy/"
description: "開発環境、Staging環境などでUnity AssetをIP制限かけながら配布したいを解決！ 今までGCEでInstance立てて、nginxでHostしてPersistent Diskなんかで直接配布してたんだけど 本番はHTTP Load Balancer + Backend Bucketでやりたい・・・ なに…"
---

# GCSとGCEを使って開発/StageなどでUnity AssetとかをIP制限しながら配布する

-   ![](/_astro/noicon.CTHOhNiB_1HMs6A.webp)[yusukeh](/authors/yusukeh/)
-   公開日：2017年9月17日
-   カテゴリー：[Tech](/categories/tech/)
-   タグ：[#Cloud Storage](/tags/cloud-storage/)

![GCSとGCEを使って開発/StageなどでUnity AssetとかをIP制限しながら配布する](/_astro/ogp.BbfFv2UE_Z294chb.webp)

開発環境、Staging環境などでUnity AssetをIP制限かけながら配布したいを解決！

今までGCEでInstance立てて、nginxでHostしてPersistent Diskなんかで直接配布してたんだけど  
本番はHTTP Load Balancer + Backend Bucketでやりたい・・・  
なにしろDeployの流れが変わるというめんどくささｗ

そこでみつけた[gcsproxy](https://github.com/daichirata/gcsproxy)

すんごい簡単！  
便利！

本番で使うわけじゃないし多少オーバーヘッドあってもいいよね  
何しろDeployの流れを統一できる！！！

* * *

## Setup

### Requirements

1.  GCEのInstance ScopeにGCS許可が入ってること
2.  goがbuildこと
3.  gcsproxy
4.  nginx
5.  Firewall設定

### build gcsproxy

goenvとかGOPATHとか説明してると長くなっちゃうので・・・

適当にどうぞ！

### gcsproxy 起動方法

こんな感じ

Plain textcontent\_copy

```
gcsproxy -b 127.0.0.1:8090
```

\[IP:Port\]なんだけど8080, 8081とかは使ってたりすることあるんでここは  
かぶらないように適当に

ただしnginxのconfigに合わせる必要があるのでそこは気がついといてください！

実際の利用の際には、InitScript書くかsystemdのUnitFile書いて下さい。

### nginx config

以下一部

Plain textcontent\_copy

```
upstream gcsproxy {
  server                   '127.0.0.1:8090';
}

server {
  server_name _;
  listen 80;
  server_tokens off;
  access_log /var/log/nginx/access.log main;
  error_log /var/log/nginx/error.log error;

  # Limit Request Methods to GET|HEAD|PURGE
  # 変なことしないなら無くてもいい
  if ( $request_method !~ "GET|HEAD|PURGE" ) {
    return 405;
  }

  location / {
    proxy_pass             http://gcsproxy$uri;
  }
}
```

cache-controlとかは必要あれば入れてください。

あとはterraformとかなんでもいいけど  
Google Developer ConsoleでFirewallを設定するだけ！

HTTPS化はHTTP Load Balancerなど使うなりしてください！

## この記事を書いた人

[![](/_astro/yusukeh.BvUd2yKE_1mQ6Fp.webp)](/authors/yusukeh/)

### [yusukeh](/authors/yusukeh/)

Fly high. Think deep. Move fast. Go far.🦅

-   [Medium](https://medium.com/@yusukeh "Medium")

[プロフィールと記事一覧](/authors/yusukeh/)