Submit Search
localstackによるAWS Lambdaの開発環境を、miniconda上でつくったら簡単便利だった話
0 likes
1,354 views
真治 米田
OSX 上で miniconda を使って Python3.6 ベースの localstackによるAWS Lambdaの開発環境を構築する。
Software
Read more
1 of 16
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
More Related Content
PDF
LocalStack
chibochibo
PDF
S3 を単純ストレージとして 利用する手段の比較
真治 米田
PDF
Crawler Commons
chibochibo
PDF
Rancher Meetup Tokyo #4 Intro
Yosuke Shindo
PPTX
Rancher meetuptokyo #4 Vagrant でつくる Rancher HA構成
Tetsurou Yano
PPTX
Osc spring 20220311
Yasuaki Sera
PDF
Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)
崇之 清水
PDF
コミュニティ運営とレンタルサーバ
法林浩之
LocalStack
chibochibo
S3 を単純ストレージとして 利用する手段の比較
真治 米田
Crawler Commons
chibochibo
Rancher Meetup Tokyo #4 Intro
Yosuke Shindo
Rancher meetuptokyo #4 Vagrant でつくる Rancher HA構成
Tetsurou Yano
Osc spring 20220311
Yasuaki Sera
Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)
崇之 清水
コミュニティ運営とレンタルサーバ
法林浩之
What's hot
(20)
ODP
高トラフィックサイトをRailsで構築するためのTips基礎編
Kazuya Numata
PPTX
Pwa
GIG inc.
PPTX
CfnClusterを使って10分強でHPC環境を構築する
Daisuke Nagao
PDF
Capistrano紹介 at kawasaki.rb #002 #kwskrb
Tsubasa Yumura
PPT
[大図解]ピグライフはこう動いている
Akihiro Kuwano
PDF
Azure Virtual Machines設計の勘所 | Microsoft Tech Summit 2017
Kuniteru Asami
PPTX
Azure Functionsを業務利用する時の勘所
裕之 木下
PPTX
LagopusとAzureとIPsecとDPDK
ShuheiUda
PPTX
U1 lt120119
Uemura Yuichi
PPTX
ZabbixとAWS
真乙 九龍
PDF
第6回はじめてのAws jaws ug-iwata
iwata jaws-ug
PPTX
AWSのRedHatにMySQL最速インストール
sakaik
PPTX
Rancher meetup 20161007
Tetsurou Yano
PPTX
Rancher LT Talk 20170126
Tetsurou Yano
PDF
サーバ構築自動化 On aws sqaleの場合
Ryo Kuroda
PPTX
JAWS-UG HPC #0 LT資料
Daisuke Nagao
PDF
福岡Ruby会議01 20121201 LT
学 松崎
PPTX
Azure DevOpsで技術同人誌作成
裕之 木下
PDF
WebServerDevelopment
NakamuraShinsaku
PDF
Terraforming Windows Virtual Desktop Infrastructure on Azure
yaegashi
高トラフィックサイトをRailsで構築するためのTips基礎編
Kazuya Numata
Pwa
GIG inc.
CfnClusterを使って10分強でHPC環境を構築する
Daisuke Nagao
Capistrano紹介 at kawasaki.rb #002 #kwskrb
Tsubasa Yumura
[大図解]ピグライフはこう動いている
Akihiro Kuwano
Azure Virtual Machines設計の勘所 | Microsoft Tech Summit 2017
Kuniteru Asami
Azure Functionsを業務利用する時の勘所
裕之 木下
LagopusとAzureとIPsecとDPDK
ShuheiUda
U1 lt120119
Uemura Yuichi
ZabbixとAWS
真乙 九龍
第6回はじめてのAws jaws ug-iwata
iwata jaws-ug
AWSのRedHatにMySQL最速インストール
sakaik
Rancher meetup 20161007
Tetsurou Yano
Rancher LT Talk 20170126
Tetsurou Yano
サーバ構築自動化 On aws sqaleの場合
Ryo Kuroda
JAWS-UG HPC #0 LT資料
Daisuke Nagao
福岡Ruby会議01 20121201 LT
学 松崎
Azure DevOpsで技術同人誌作成
裕之 木下
WebServerDevelopment
NakamuraShinsaku
Terraforming Windows Virtual Desktop Infrastructure on Azure
yaegashi
Ad
Similar to localstackによるAWS Lambdaの開発環境を、miniconda上でつくったら簡単便利だった話
(20)
PPTX
Fluxflex meetup 2011 in Tokyo
Kyosuke Inoue
PPTX
fluxflex meetup in Tokyo
Kyosuke Inoue
PDF
Talk 1「データインテグレーションとは何か」
Takeshi Akutsu
PDF
X pages day発表_20141118 final
Fumiko Yamamoto
PPTX
dstn交流会_DataSpider のソーシャルとの融合、手組との融合
dstn
PDF
Reactnative はじめの一歩
PIXTA Inc.
PPTX
Keep a diary
幸雄 村上
PDF
Dodai projectの紹介
Osamu Habuka
PPTX
stapy_028_talk1
Takeshi Akutsu
PDF
2013OSC関西@京都_CloudStackとCloudFoundaryがまるわかり!
Midori Oge
PDF
夏サミ2013 Hadoopを使わない独自の分散処理環境の構築とその運用
Developers Summit
PDF
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
Issei Hiraoka
PDF
クラウドコラボレーションサーバ「Collabora Online」を構築してみた
Shinji Enoki
PDF
"Global Distcloud File System" ~インタークラウド広域分散ファイルシステム 大陸間横断ライブマイグレーションを実現する技術
Tech Circle
PPTX
GitLabを骨までしゃぶりつくす@ゆるUniStudy#7
Wataru NOGUCHI
PPTX
第32回信号処理シンポジウム「Raspberry PiとROSを使ったロボットシステム」
Ryuichi Ueda
PDF
JavaOne2017参加報告 Microservices topic & approach #jjug
Yahoo!デベロッパーネットワーク
PDF
20140612_Docker上でCloudStackを動かしてみる!!
Midori Oge
PPTX
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
NTT DATA Technology & Innovation
PDF
OpenCloudCampus : Cloud Technologies Meeting (OpenStack)
Masanori Itoh
Fluxflex meetup 2011 in Tokyo
Kyosuke Inoue
fluxflex meetup in Tokyo
Kyosuke Inoue
Talk 1「データインテグレーションとは何か」
Takeshi Akutsu
X pages day発表_20141118 final
Fumiko Yamamoto
dstn交流会_DataSpider のソーシャルとの融合、手組との融合
dstn
Reactnative はじめの一歩
PIXTA Inc.
Keep a diary
幸雄 村上
Dodai projectの紹介
Osamu Habuka
stapy_028_talk1
Takeshi Akutsu
2013OSC関西@京都_CloudStackとCloudFoundaryがまるわかり!
Midori Oge
夏サミ2013 Hadoopを使わない独自の分散処理環境の構築とその運用
Developers Summit
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
Issei Hiraoka
クラウドコラボレーションサーバ「Collabora Online」を構築してみた
Shinji Enoki
"Global Distcloud File System" ~インタークラウド広域分散ファイルシステム 大陸間横断ライブマイグレーションを実現する技術
Tech Circle
GitLabを骨までしゃぶりつくす@ゆるUniStudy#7
Wataru NOGUCHI
第32回信号処理シンポジウム「Raspberry PiとROSを使ったロボットシステム」
Ryuichi Ueda
JavaOne2017参加報告 Microservices topic & approach #jjug
Yahoo!デベロッパーネットワーク
20140612_Docker上でCloudStackを動かしてみる!!
Midori Oge
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
NTT DATA Technology & Innovation
OpenCloudCampus : Cloud Technologies Meeting (OpenStack)
Masanori Itoh
Ad
More from 真治 米田
(9)
PDF
何はともあれ、まず最初にやることといえばこれ
真治 米田
PDF
JAWS-UG CLI 専門支部のハンズオンテキストをJupyter Notebook 上で実行できるようにする
真治 米田
PDF
Oss との関わり
真治 米田
PDF
GraphMLとNeo4jでやってみたいこと
真治 米田
PDF
CentOS6 でも Zabbix 3.0 を動かしたい
真治 米田
PDF
SlackのSlash commandの処理をAWS Lambdaで実装してみました
真治 米田
PDF
OSSを用いた監視/運用ツールの運用課題について
真治 米田
PDF
運用の現場での監視運用ツールの活用
真治 米田
PDF
第2回 OSS運用管理勉強会 運用あるある(Zabbix)
真治 米田
何はともあれ、まず最初にやることといえばこれ
真治 米田
JAWS-UG CLI 専門支部のハンズオンテキストをJupyter Notebook 上で実行できるようにする
真治 米田
Oss との関わり
真治 米田
GraphMLとNeo4jでやってみたいこと
真治 米田
CentOS6 でも Zabbix 3.0 を動かしたい
真治 米田
SlackのSlash commandの処理をAWS Lambdaで実装してみました
真治 米田
OSSを用いた監視/運用ツールの運用課題について
真治 米田
運用の現場での監視運用ツールの活用
真治 米田
第2回 OSS運用管理勉強会 運用あるある(Zabbix)
真治 米田
localstackによるAWS Lambdaの開発環境を、miniconda上でつくったら簡単便利だった話
1.
localstackによるAWS Lambdaの開発環境を、 miniconda_卜で、つくったら 簡単便利だった話 米田真治 17/08/19 オープンデベ口ッパーズカンファレンス2017Tokyo 1
2.
about: ・米田真治 (こめだしんじ@komeda_shinji) ・ 運用エンジニア ・
日本UNI×ユーザ会会員 . 経歴 ・ 学生時代!こUNI×に出会う • Internetにつながる環境がきた ・ いろんなプログラムをビルドしているうちに 開発・構築の楽しさに目覚める ・ 学科のシステム管理を経験 ・ システム運用のおもしろさを覚える ・ 就職してISPのサーバ構築・運用に携わる • 2000年6月サイタスマネジメント創業メンバー 17/08/19 オープンデベ口ツjて-ズカンファレンス2017Tokyo 2
3.
プログラム開発 ・職業プログラマではありませんが、 ちょっとしたツール開発はやります。 ・あと、 ossのパクを直したり拡張したり。 ・最近の主な開発言語:Python ・環境Mac OS×El
Capitan •OS上の環境とは独立させたい OSバンドル版のPython(2.7 .10) _ssl.soで、リンクされているOpenSSL古すぎ 17/08/19 オープンデベ口ツjて-ズカンファレンス2017Tokyo 3
4.
minicondaで Python 3.6の環境を構築しよう -どうしてminiconda? ・手軽にjupyter-notebookを使いたい! • anaconda(miniconda)なら、 かんたんにインストールできます0 .どうしてPython
3.6? • bash kernel iこはPython3が必要で、す0 .あとからPython 2.7の環境も作れます。 17/08/19 オープンデベ口ツjて-ズカンファレンス2017Tokyo 4
5.
minicondaのインストール 1. https://conda.io/miniconda.html から インストーラ一(bashのスクリプト)を入手します。 2.
bashでスクリプトを実行します。 $ bash ./Miniconda3-latest-MacOSX-x86 64.sh ・ インストール後~I.bash_profileを確認すると、 ファイルの末尾に以下の 内容が追加されていることがわかります。 # added by Miniconda3 4.3.21 installer export PATH=”/Users/username/miniconda3/bin:$PATH” あとはconda installなりpip installなりご自由に。 17/08/19 オープンデべ口ツjて-ズカンファレンス2017Tokyo 5
6.
AWS Lambdaのコード開発 ・みんな大好きAWS Lambda •AWSのプラット
フォーム上で実行されるため、 テスト&デバックが面倒です。 -ローカルに実行環境をつくってテストしたい .直接エラーメッセージを見たい 17/08/19 オープンデベ口ツjて-ズカンファレンス2017Tokyo 6
7.
python-lambda-local • Lambda関数をローカル実行するためのラッパ- $ pip
install python-lambda-local $ python-lambda-local -1 lib/ ー千 handler -t 5 lambda-test.py event.json • DynamoDBは口一力jし/〈ージ、ヨンがありますが、 SQSなどはAWS上のサービスを使うことになります0 • LambdaからLambdaを呼びたい場合(こ、 呼び、出されるLambda関数も ローカル実行させること はできません。 • Lambdaのカスケードしたいんやけど…… 17/08/19 オープンデベ口ツjて-ズカンファレンス2017Tokyo 7
8.
そうだlocalstackを使おう • https://github.com/localstack/localstack •AWSのモック環境です。 -料金を気にせずに テストができるます0 .エラーメッセージがそのまま見えます。 サポートしているAPI •
API Gateway • Kinesis • DynamoDB • DynamoDB Streams Firehose • SES Lambda • Route53 SNS ・ CloudFormation sos ・ CloudWatch • Redshift • Elasticsearch • ES (Elasticsearch 一部の機能しか実装されて • S3 Service) いないAPIもあります 17/08/19 オープンデベ口ツjて-ズカンファレンス2017Tokyo 8
9.
miniconda環境にlocalstaclく専用の environmentを作成する 1. environment の作成 $
conda create -n localstack python=2.7 またはS conda create -n localstaclくpython=3.6t 2. environment をactivate $ . activate localstack 3. localstack をインストール (localstaclく) $ pip install localstack 4. localstack を起動 (localstaclく) $ localstack start ↑python3の場合、 エラーが出るため localstack/services/infra.pyの修正が必要で、す。 オープンデベ口ツjてーズカンファレンス2017Tokyo 9
10.
Docker上で、も実行で、きます • Docker for
Mac をインストール $ localstaclくstart --docker Docker上のlocalstackは python2.7で、実行されます0 .コマンド起動毎にコンテナが作成されるので、 2回目からはdocker startしましょう。 ムproxyの設定が有効になっていると、 モックサーバのヘルスチェックに失敗することがあります。 17/08/19 オープンデベ口ツjて-ズカンファレンス2017Tokyo 10
11.
localstackでのデータについて -基本的には、localstack上に作成したものは、 停止すると消滅します。 • Kinesis、 DynamoDB、
Elasticsearchのみ永続可能 .初期状態では、 DynamoDBは-inMemoryオプションがついた状態で 起動されています。 ・データを保存するためには、環境変数DATA DIR をセットしておきます。 ・この環境変数をセッ卜するとKinesisとElasticsearch のデータ保存場所もここに変更されます。 17/08/19 オープンデベ口ツjて-ズカンファレンス2017Tokyo 1 1
12.
環境変数DATA DIRをセット ·activate したとき自動設定するように、 フックを作成します。 /User、sfuser、name/miniconda3/envs/localstack/ etc/conda/act1vate.d/env
vars.sh: export DATA_DIR="$CONDA_PREFIX/data" etc/conda/deactivate.d/env vars.sh: unset DATA DIR 17/08/19 オープンデベ口ツjて-ズカンファレンス2017Tokyo 12
13.
開発中 localstackの操作はCし|コマンド使います。 $ zip -ru
千unc.zip handler.py mylib $ aws --endpoint-url=http://localhost:4574 lambda delete-千unction --千unction-name=my千unc $ aws --endpoint-url=http:�/localhost:4574 lambda create-千unction --千unction-name=my千unc --runtime=python2.7 --role=myrole ー-handler=handler、.handler、 ー-zip-千ile 千ileb://func.zip $ aws --endpoint-url=http://localhost:4574 lambda invoke -ー千unction-name my千unc ー-payload ’{”test11: 11test11}1 result.log localstack を起動し直すと、 SQSやLambdaは再度作成する必要があります。 いちいち面倒くさい。 17/08/19 オープンデベ口ツjて-ズカンファレンス2017Tokyo 13
14.
そうだ jupyter-notebookを使おう • bash kernelで、設定のCし|コマンドを実行すれば、 かんたんに再実行できます。 ・
見出しをつけておけば、 ヒストリから再実行するよりも探しやすい0 . マウスクリックでJll頁に実行できて、 実行結果も一緒に残ります。 ・ トライ&エラーの過程も残せて便利です。 ・ インストール $ conda install jupyter jupyter_console qtconsole notebook nbconvert • bash kernel condaのパッケージがないためpipで、インストールしますo $ pip install bash_kernel ・ IPython kernel specの登録コマンドを実行します。 $ python -m bash_kernel.install 17/08/19 オープンデベ口ツjて-ズカンファレンス2017Tokyo 14
15.
ご JUpyter p州on酬明
L勾out File Ed� View In鵠rt Cell Kern剖 Help Trusted I Bash 0 �11+ 灰 色 町� 1' ψ 制 ・ C Markdown 4‘ ‘’ m 17/08/19 アーカイブ作成 In (SJ: zip - u python.zip hello_world.py Lambda関数更新 工n [6]: aws -- endpoint-url�http: //localhost:4574 lambda delete-function --function- In [7 J: aws --endpoint-url=http: I/localhost:4574 lambda create-function --function- Lambda関数実行 工n [aJ: aws --endpoint-url=http: I/localhost:4574 lambda inv。ke --function-name hell ・'StatusCode'・: 200 } In [ J: オープンデベロッJ\ーズカンファレンス2017 Tokyo 15
16.
詳しくはQiitaで、書いています • Maciこminicondaをつかってjupyter notebookを簡単セットアツ プする http://aiita.com/komeda-shinii/items/470c8ca3b2273be1
f825 • miniconda環境にlocalstack専用のenvironmentを作成する http://aiita.com/komeda-shinii/items/88e493601 b9827de5l da • localstack をDocker on Mac上で動かす http://aiita.com/komeda-shinii/items/5a0dl l 9fdee5747f5a1 f • http_pro×yの設定があるとlocalstackの起動で、工ラーにな る http://aiita.com/komeda-shinii/items/c858d4d6f0b0d57854af 17/08/19 オープンデべ口ツjて-ズカンファレンス2017Tokyo 16
Download