Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
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
120
AWS Control Tower導入してハッピーになりました
shogomuranushi
0
230
EKS を使ってる人から見た App Runner
shogomuranushi
7
2.4k
Suggested Topicの質問に可能な限り答えてみた
shogomuranushi
0
1.1k
顧客のアプリケーションコードが動くマルチテナント環境における課題とEKSにたどり着くまで
shogomuranushi
0
1.5k
after of Infrastructure-as-Code-is-very-tired
shogomuranushi
16
3.3k
what is Cloud Run?
shogomuranushi
2
110
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
48
10k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
41
2.1k
Embracing the Ebb and Flow
colly
84
4.4k
Code Review Best Practice
trishagee
64
17k
GraphQLとの向き合い方2022年版
quramy
43
13k
Docker and Python
trallard
40
3.1k
Testing 201, or: Great Expectations
jmmastey
38
7k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
Thoughts on Productivity
jonyablonski
67
4.3k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
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で構築しようとするな 数時間かける位やったら手作業でもええやん
以上、ご清聴ありがとうございました