$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ちょいテク100本ノック。できるまで帰しません 。今から使えるちょいテク集
Search
shogomuranushi
February 06, 2020
1
2.7k
ちょいテク100本ノック。できるまで帰しません 。今から使えるちょいテク集
shogomuranushi
February 06, 2020
Tweet
Share
More Decks by shogomuranushi
See All by shogomuranushi
ノーコード x ChatBotで遊んでたら ReActを実装しそうだった話
shogomuranushi
0
1.2k
ChatGPT関連情報の追い方、個人・業務での使い方、サービスへの組み込み方、 ABEJAでの取り組み4例、ここ2週間のトピックなど行けるところまで
shogomuranushi
5
1.9k
FPが教える iDeCo のすごさ
shogomuranushi
0
130
AWS Control Tower導入してハッピーになりました
shogomuranushi
0
240
EKS を使ってる人から見た App Runner
shogomuranushi
7
2.4k
Suggested Topicの質問に可能な限り答えてみた
shogomuranushi
0
1.1k
顧客のアプリケーションコードが動くマルチテナント環境における課題とEKSにたどり着くまで
shogomuranushi
0
1.6k
after of Infrastructure-as-Code-is-very-tired
shogomuranushi
16
3.4k
what is Cloud Run?
shogomuranushi
2
110
Featured
See All Featured
Building Applications with DynamoDB
mza
91
6.1k
A better future with KSS
kneath
238
17k
Six Lessons from altMBA
skipperchong
27
3.5k
Become a Pro
speakerdeck
PRO
25
5k
Why Our Code Smells
bkeepers
PRO
334
57k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
247
1.3M
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.8k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
BBQ
matthewcrist
85
9.3k
Code Review Best Practice
trishagee
64
17k
Speed Design
sergeychernyshev
25
650
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Transcript
ちょいテク100本ノック。 できるまで帰しません 明日から、今日から、今から使えるちょいテク集 JAWS-UG Osaka 「知ってると役立つ、AWSちょいテク祭り」 Shogo Muranushi
None
CLI
個人に発行した IAMクレデンシャルの ローテーションどうしてます?
• 3行でAWSのクレデンシャルをローテーションしてくれるやつ • 1日1回自動ローテーションも可能 • は心理的安全性高い • Windows版もあるらしい $
brew tap rhyeal/aws-rotate-iam-keys https://github.com/rhyeal/aws-rotate-iam-keys $ brew install aws-rotate-iam-keys $ brew services start aws-rotate-iam-keys $ aws-rotate-iam-keys
複数のAWSアカウント利用している時 に −−profile 打つの面倒ですよね
• インタラクティブに AWS Profile をスイッチでき るやつ • MFAは非対応なので今は使ってない。でも Profile名覚えなくていいのでかなり便利でした •
alias ax="source _awsp"
• 複数のAWSアカウントを利用している人、 Switch Role利用ユーザは必須 • CLIツールで --profile に対応していないコマン ドも assume
role (Switch Role)出来る $ assume-role stage aws iam get-user or $ assume-role stage MFA code: xxxxxx $ aws s3 ls
どのAWSアカウントが設定されている かわからん
• いちいち細かいコマンドまで覚えない • サクッとどのAWSアカウントのクレデンシャルが設定されているか確認し たい • s3 と ls くらいは覚えられる
クレデンシャルが正しく設定されているかの確認方法
• いちいち細かいコマンドまで覚えない • サクッとどのAWSアカウントのクレデンシャルが設定されているか確認し たい • s3 と ls くらいは覚えられる
$ aws s3 ls クレデンシャルが正しく設定されているかの確認方法
Terraformの0.11と0.12って変わりすぎじゃね? 0.12に上げたら既存のコード動かないんだけど
• Terraformをバージョンを切り替えられるやつ • 0.11系と0.12系の記述方法が結構違うのでバージョン依存はかなり 困る • 基本最新版を利用していたが、隣のチームの多数あるTerraformの コードを0.12に書き換えるのは不毛だったので切り替えツールを利用 し始めた $
brew install tfenv $ tfenv install 0.11.14 $ tfenv install 0.12.20 $ tfenv list $ tfenv use 0.11.14
コンソール
セキュリティ要件でMFA有効にして 毎日MFA入れている方に朗報です
U2F セキュリティキーの有効化 + Krypton • U2F いわゆる YubiKey 等で多要素認証するやつ •
Krypton と組み合わせれば、MFAコードを毎回入力することなく自動で ログインできる • CLIは非対応なので、コンソール用とCLI用のIAMユーザを保有しています +
コンソールの複数のAWSアカウントを切り 替えるスイッチロールの切り替え履歴5 件って少なくね?
• AWSコンソールのSwitch Roleは最大5個ま でしか記憶しないので沢山拡張してくれるやつ • Chrome / Firefox の拡張機能 •
アカウントに色を付けられるので、dev, stage, prodで色分けして使ってます [profile test] role_arn = arn:aws:iam::123456789012:role/test color = ffaaee
セキュリティ
入社するたびに「IAMユーザください」と言われる。 使わなくなっても言ってこないよね・・? クレデンシャルとか放置プレイで意識せぬままに漏洩とか、 いろいろ怖い
100日以上使用していないIAMユーザは問答無用で消す • 100日以上AWSのアクティビティが無い=要らないと判断し強い気持ちで削除 • メリット ◦ 個人のIAMユーザのクレデンシャルをシステムに組み込まない ▪ 退職時の個人アカウントリスクも防げる ◦
不要なアカウントの漏洩リスクが排除できる ▪ 使わない人に限ってパスワードが脆弱だったり ◦ は心理的安全性高い
ビリング
請求情報だけじゃ1つのAWSアカウント内で、 どの機能・プロジェクトでコストがかかってるか わからんぜよ
コスト配分タグを活用 • 解説 ◦ 一言でいうと、任意に付与した AWSリソースのタグでコストの集計 が可能 • ABEJAでは Key:
Project, Value: <機能名> を付与 している • リソースにタグ付け出来ないものもある ◦ CW LogsやEKSなど ◦ コストエクスプローラーで `No Tagkey: Project` で絞り込み 可能 • タグエディターで一括付与もできる
あなたが転職してAWS周りを 見ることになったら初めに何や るかシリーズ
一番目はBillingを見る • 無駄なリソースが無いか確認 ◦ プロビジョンドIOPSは高い ◦ 関連付けられていないEIP ◦ in-use状態じゃないEBS ◦
インスタンスがぶら下がっていないELB、など • 基本的にヒアリングしないと分からないけど、まずは金額が一番大きい ところから手をつける
二番目はSecurity Groupを見る • みんなやっちゃう 0.0.0.0/0 • 理由を必ず確認して閉じるアーキテクチャに変更しよう
三番目はIAMを見る • IAMユーザは全AWS環境で1人1つ。複数持たない • AWS内部のシステムはIAMロールに • AWS外部のシステムはやむを得ずIAMユーザで
デモをしてるとこの辺で20分位なはず • 残り ◦ Kubernetes系のちょいテク ◦ Terraform系のちょいテク
kubectl系で使用しているalias # Kubernetes source <(kubectl completion zsh) alias k='kubectl' alias
kx='kubectx' alias knx='kubens' alias kp='kubectl get pod' alias kpd='kubectl describe pod' alias kl='kubectl logs' alias kn='kubectl get node' alias kh='kubectl get hpa' function ke () { kubectl exec -it ${1} bash }
• Kubernetes の Terminal UI ツール • いちいちコマンド打たなくてもインタラクティブに管理できる
• Nodeの中身を俯瞰して可視化する ツール • NodeにどのようなPodが配置されて いるか • Nodeのリソース状況はどうか • コンテナの状態
• コンテナの使用率など
Terraformのちょいテク
Terraformのちょいテク 全部をTerraformで構築しようとするな 数時間かける位やったら手作業でもええやん
以上、ご清聴ありがとうございました