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の記述例です。
1 2 3 4 5 |
const proxy = require('proxy-agent');// このモジュールが必要 const config = { 'region': 'us-east-1', 'httpOptions': {agent: proxy(process.env.HTTP_PROXY)} }; |
以下のコマンドでモジュールをインストールしておきます。
1 |
npm install proxy-agent --save |
node.jsだけこの設定をする必要があるようです。
npmのプロキシ設定
npmでインストールするときにこれまたプロキシがあるとインストールできなかったりします。
この設定はnpm config
コマンドで設定します。
実際は.npmrcファイルを編集しているだけです。
npm config listの結果です。
C:\Users\takahashi>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\.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 | |
; HOME = C:\Users\takahashi | |
; "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というファイルがあり、そのファイルに反映されます。
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^