Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
狂気!AWS CloudShell細胞分裂!
greymd
December 29, 2020
Technology
0
1.5k
狂気!AWS CloudShell細胞分裂!
2020/12/29 AWS CloudShell おもしろ選手権で発表した内容です。
https://connpass.com/event/199259/
greymd
December 29, 2020
Tweet
Share
More Decks by greymd
See All by greymd
シェル芸人に必要なのは「マスキングテープ」だったのでは
greymd
19
9.4k
毎日叩ける シェル芸を覚えよう!
greymd
4
4k
入門Cureutils
greymd
3
2.1k
Other Decks in Technology
See All in Technology
TypeScriptは10年でこんなに進化しました / TechFeed Experts Night 11
okunokentaro
5
1.1k
20230121_BuriKaigi
oyakata2438
0
120
UIFlowの2.0がやってきた! / ビジュアルプログラミングIoTLT vol.13
you
0
220
Kaggleシミュレーションコンペの動向
nagiss
0
220
ラズパイとGASで加湿器の消し忘れをLINEでリマインド&操作
minako__ph
0
120
Oktaの管理者権限を適切に移譲してみた
shimosyan
2
240
OpenShiftでスポットVMを使おう.pdf
jpishikawa
1
150
ECテックカンファレンス2023 EC事業部のモバイル開発2023
tatsumi0000
0
160
インフラ技術基礎勉強会 開催概要
toru_kubota
0
130
20230117_JAWS-UG_朝会_41_LT資料
tsumita
0
300
“Do you have a virtual router?” Discuss how to use virtual routers
line_developers
PRO
0
480
MoT/コネヒト/Kanmu が語るプロダクト開発xデータ分析 - 分析から機械学習システムの開発まで一人で複数ロールを担う大変さ
masatakashiwagi
2
560
Featured
See All Featured
Creatively Recalculating Your Daily Design Routine
revolveconf
207
11k
VelocityConf: Rendering Performance Case Studies
addyosmani
317
22k
Clear Off the Table
cherdarchuk
79
290k
Why You Should Never Use an ORM
jnunemaker
PRO
49
7.9k
Building a Scalable Design System with Sketch
lauravandoore
451
31k
Building Adaptive Systems
keathley
27
1.3k
Building Applications with DynamoDB
mza
85
4.9k
Bash Introduction
62gerente
601
210k
A designer walks into a library…
pauljervisheath
198
16k
Designing the Hi-DPI Web
ddemaree
273
32k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
24
4.5k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
32
6.7k
Transcript
狂気!AWS CloudShell細胞分裂! grethlen 2020/12/29 AWS CloudShell おもしろ選⼿権
$ whoami ぐれさん Twitter: @grethlen GitHub: @greymd シェル芸⼈ ↓ の作者
tmux 使ってますか? tmux on AWS Cloud9 の Terminal では残念な状態 CloudShellではなんとデフォルトで⼊っている!
分割してもレイアウト崩れず どんどん使えという中の⼈のメッセージと理解
tmux-xpanes tmuxの端末分割を超絶楽にできる xpanes コマンド Bash 3.2〜5.xで動く超ポータブルコマンド 私が作者です(GitHub:greymd/tmux-xpanes) EPEL登録済み、ぜひ御社でも CloudShellでもこの通り $
sudo amazon-linux-extras install epel -y $ sudo yum install xpanes -y ### 必要なら HOME 以下に退避 $ cp /usr/bin/xpanes ~
デモ
何分割できるのか?
制限 tmux 当然、1(⾏ or ⽂字)より低い幅はできない CloudShellの制限はあるか? 端末サイズは上限なさそう ウィンドウを⼤きくすると stty size
も⼤きくなる ulimit の max user processes は無制限( unlimited ) = コンテナのリソースが許す限り分割できそう
何プロセスくらい⾛るのか(1/2) 端末1: $ yes 'sleep 1000 &' | sh 端末2:
$ ps ax | nl 8,600 プロセスくらいまでsleepは動かせた それ以上では動作が重すぎて話にならず( ps すら⽌まる) 数千のオーダーで性能限界が来るっぽい
何プロセスくらい⾛るのか(2/2) 皆さんの関⼼ => ⼀般的なユースケースのコマンドがどれくらい並列で使えるか ssh セッションマネージャ ojichat $ xpanes -sc
ojichat {1..100} => ojichatを 100 分割して実⾏
デモ2
ちなみに セッションマネージャは40分割での利⽤くらいが限度でした
結論 CloudShellは並列作業に便利! tmux と xpanes が使える 端末サイズとコンテナのリソースが許す限り画⾯分割して動かせる ただし……そこそこの処理をするコマンドの動作は分割しすぎると苦しい 数⼗程度の規模が限度 AWS
CLI + セッションマネージャ: 40分割〜あたりからプロセスが落ちる ojichat: 100 を超えると動作が極めて遅い上に精神的にも⾟い
END