node.jsでローカル環境からAWS上のサービスにアクセスする方法

node.jsでローカル環境からAWS上のサービスにアクセスする方法

node.jsでローカル環境からAWS上のサービスにアクセスすることができます。

CLIが使える前提です。

会社によってはプロキシを設定しているので、以下の環境変数にプロキシを設定する必要があります。

環境変数
HTTP_PROXY http://xxxxxx:80
HTTPS_PROXY http://xxxxxx:80

これでローカル環境から、たとえばSNSのメッセージングをAWS上のトピックに送ることができるはずです。

が、しかし、実際はできません。以下参考サイトを見ればわかりますが、node.jsに限ってはconfigにprocess.env.HTTP_PROXYを設定してあげる必要がります。

以下、configの記述例です。

const proxy = require('proxy-agent');// このモジュールが必要
const config = {
  'region': 'us-east-1',
  'httpOptions': {agent: proxy(process.env.HTTP_PROXY)}
};

以下のコマンドでモジュールをインストールしておきます。

npm install proxy-agent --save-dev

node.jsだけこの設定をする必要があるようです。

参考サイト

npmのプロキシ設定

npmでインストールするときにこれまたプロキシがあるとインストールできなかったりします。

この設定はnpm configコマンドで設定します。

実際は.npmrcファイルを編集しているだけです。

npm config listの結果です。

C:\Users\takahashi-h5>npm config list
; cli configs
metrics-registry = "https://registry.npmjs.org/"
scope = ""
user-agent = "npm/6.1.0 node/v10.12.0 win32 x64"

; environment configs
prefix = "C:\\Program Files (x86)\\Nodist\\bin"

; userconfig C:\Users\takahashi-h5\.npmrc
prefix = "C:\\Program Files (x86)\\Nodist\\bin"
scripts-prepend-node-path = true

; node bin location = C:\Program Files (x86)\Nodist\v-x64\10.12.0\node.exe
; cwd = C:\Users\takahashi-h5
; HOME = C:\Users\takahashi-h5
; "npm config ls -l" to show all defaults.

プロキシの設定はnpm -g config setコマンドで設定します。

npm -g config set proxy http://プロキシサーバアドレス:ポート
npm -g config set https-proxy http://プロキシサーバアドレス:ポート
npm -g config set registry http://registry.npmjs.org/

C:\Program Files (x86)\Nodist\bin\etc配下にnpmrcというファイルがあり、そのファイルに反映されます。

コメント

タイトルとURLをコピーしました