

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 透過的なプロキシサーバーでの CodeBuild の実行
<a name="run-codebuild-in-transparent-proxy-server"></a>

 透過的なプロキシサーバー AWS CodeBuild で を実行するには、プロキシサーバーとやり取りするウェブサイトとドメインへのアクセスを設定する必要があります。

**Topics**
+ [透過的なプロキシサーバーとしての Squid の設定](#use-proxy-server-transparent-squid-configure)
+ [CodeBuild プロジェクトを作成する](#use-proxy-server-transparent-create-acb-project)

## 透過的なプロキシサーバーとしての Squid の設定
<a name="use-proxy-server-transparent-squid-configure"></a>

 プロキシサーバーが透過的になるように設定するには、アクセスするドメインやウェブサイトへのアクセス権を付与する必要があります。透過的なプロキシサーバー AWS CodeBuild で を実行するには、 へのアクセスを許可する必要があります`amazonaws.com`。また、CodeBuild で使用する他のウェブサイトへのアクセス権も付与します。これらのアクセス権は、CodeBuild プロジェクトの作成方法によって異なります。ウェブサイトの例は、GitHub、Bitbucket、Yum、Maven などのリポジトリ用です。特定のドメインやウェブサイトへのアクセスを Squid に許可するには、次のようなコマンドを使用して `squid.conf` ファイルを更新します。このサンプルコマンドは `amazonaws.com`、`github.com`、および `bitbucket.com` へのアクセスを許可します。このサンプルは、他のウェブサイトへのアクセス権を付与するように編集できます。

```
cat | sudo tee /etc/squid/squid.conf ≪EOF
visible_hostname squid
#Handling HTTP requests
http_port 3129 intercept
acl allowed_http_sites dstdomain .amazonaws.com
#acl allowed_http_sites dstdomain domain_name [uncomment this line to add another domain]
http_access allow allowed_http_sites
#Handling HTTPS requests
https_port 3130 cert=/etc/squid/ssl/squid.pem ssl-bump intercept
acl SSL_port port 443
http_access allow SSL_port
acl allowed_https_sites ssl::server_name .amazonaws.com
acl allowed_https_sites ssl::server_name .github.com
acl allowed_https_sites ssl::server_name .bitbucket.com
#acl allowed_https_sites ssl::server_name [uncomment this line to add another website]
acl step1 at_step SslBump1
acl step2 at_step SslBump2
acl step3 at_step SslBump3
ssl_bump peek step1 all
ssl_bump peek step2 allowed_https_sites
ssl_bump splice step3 allowed_https_sites
ssl_bump terminate step2 all
http_access deny all
EOF
```

 プライベートサブネット内のインスタンスからの着信リクエストで、Squid ポートにリダイレクトする必要があります。Squid は HTTP トラフィック (80 の代理) をポート 3129、HTTPS トラフィック (443 の代理) をポート 3130 でリッスンします。トラフィックをルーティングするには、**iptables** コマンドを使用します。

```
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3129
sudo iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 3130
sudo service iptables save
sudo service squid start
```

## CodeBuild プロジェクトを作成する
<a name="use-proxy-server-transparent-create-acb-project"></a>

 プロキシサーバーを設定したら、設定しなくてもプライベートサブネット AWS CodeBuild の で使用できます。HTTP および HTTPS リクエストはすべて、パブリックプロキシサーバーを経由します。Squid プロキシのアクセスログを表示するには、次のコマンドを使用します。

```
sudo tail -f /var/log/squid/access.log
```