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というファイルがあり、そのファイルに反映されます。
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント