前提・実現したいこと
AWSコンソールではなくローカルで開発を行うためにSAM-CLI+DynamoDB Localをインストールしました。導入したのはWindowsのHyper-V上のUbuntuで、DynamoDB-LocalについてはうまくWindowsからポート指定で接続できるのですが、SAM-CLIのAPIGateWayについてはWindows側からではブラウザから接続できません。
Windowsのブラウザ上からSAM-CLIのAPIGatewayにプライベートアドレス+ポート番号で接続したいのですが、どのようにすればいいのか見当がつかないのでお力をお貸しいただけますでしょうか。
発生している問題・エラーメッセージ
ブラウザからアクセスすると上記のようにエラーとなります。
仮想のUbuntu上でcurlすると接続に失敗しているようです。
$ curl -D - http://192.168.1.248:3001/hello curl: (7) Failed to connect to 192.168.1.248 port 3001: 接続を拒否されました
試したこと
Docker-composeの設定でどうにかできないかと考えてdocker-compose.ymlを以下の通りに
してみてdocker-composeをupしなおしましたが、結果は変わりませんでした。
※dynamodbadminについては「http://192.168.1.248:8001」で接続可能でした。
docker
1version: '3.3' 2 3services: 4 dynamodblocal: 5 image: amazon/dynamodb-local 6 networks: 7 - default 8 ports: 9 - 8000:8000 10 command: -jar DynamoDBLocal.jar -sharedDb -dbPath ./data 11 volumes: 12 - /home/nishimrm/docker-dynamodb/dynamodb_data:/home/dynamodblocal/data 13 networks: 14 - lambda-local 15 16 dynamodbadmin: 17 image: instructure/dynamo-local-admin 18 networks: 19 - default 20 ports: 21 - 8001:8001 22 environment: 23 DYNAMO_ENDPOINT: http://localhost:8000/ 24 25networks: 26 lambda-local: 27 external: true 28 sam-api-local: 29 external: true
netstatではポート3000番で受け口自体はあるような状況です。
$ netstat -ant 稼働中のインターネット接続 (サーバと確立) Proto 受信-Q 送信-Q 内部アドレス 外部アドレス 状態 tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:3000 0.0.0.0:* LISTEN tcp 0 36 192.168.1.248:22 192.168.1.250:59182 ESTABLISHED tcp 0 0 192.168.1.248:22 192.168.1.250:59199 ESTABLISHED tcp6 0 0 :::22 :::* LISTEN tcp6 0 0 :::8000 :::* LISTEN tcp6 0 0 :::8001 :::* LISTEN
おそらく、DockerのネットワークでホストのUbuntuのポートから
SAM-CLIの待受けポートに転送すればいいのかと考えて192.168.1.248の3000宛
リクエストを127.0.0.1の3000に転送するiptablesコマンドを実行しましたが、
転送できていないようです。
iptables -t nat -A PREROUTING -m tcp -p tcp --dst 192.168.1.248 --dport 3000 -j DNAT --to-destination 127.0.0.1:3000
ここまで調べてみましたが妙案が思い浮かびません。
補足情報(FW/ツールのバージョンなど)
Windows10Pro 64bit
Hyper-V
Linux aws-dev-ubuntu 4.15.0-48-generic #51-Ubuntu SMP Wed Apr 3 08:28:49 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Docker version 18.09.5, build e8ff056
docker-compose version 1.24.0, build 0aa59064
SAM CLI, version 0.15.0
回答1件
あなたの回答
tips
プレビュー