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
AWS構築のハマりポイントを詳しく解説 / Cloud on the BEACH 2016
Search
Naoto Enokawa
April 29, 2016
3
1.4k
AWS構築のハマりポイントを詳しく解説 / Cloud on the BEACH 2016
Cloud on the BEACH 2016 勉強会の部(経験者向けトラック)
https://jaws-ug-okinawa.doorkeeper.jp/events/41071
Naoto Enokawa
April 29, 2016
Tweet
Share
More Decks by Naoto Enokawa
See All by Naoto Enokawa
CircleCI Orbs にコントリビュートした話 / Story contributed to CircleCI Orbs
enokawa
0
500
AWS re:Invent 2017行ってきました報告 / JAWS-UG Okinawa 20180106
enokawa
1
320
Roadworkerではじめる大量DNS移行 / Codenize Meetup
enokawa
0
3.2k
JAWS DAYS 2016 ランチセッション
enokawa
0
550
AWS初心者がCodenize.toolsでInfrastructure as Codeした話/jawsug-beginner2-lt
enokawa
0
830
AWS SDK for RubyでDynamoDBを操作してみた
enokawa
0
330
cloudpackインターン成果報告
enokawa
0
2k
ownCloud on AWS in Hackers Champloo 前夜祭 #hcmpl
enokawa
0
610
#jawsug 沖縄 勉強会「AWS触ってみたけどその後どうしてる?」
enokawa
0
94
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
40
2.4k
4 Signs Your Business is Dying
shpigford
181
21k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
A Tale of Four Properties
chriscoyier
157
23k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.3k
A better future with KSS
kneath
238
17k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Statistics for Hackers
jakevdp
796
220k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
0
94
Transcript
Cloud on the BEACH 2016 ษڧձͷ෦ʢܦݧऀ͚τϥοΫʣ AWS構築のハマりポイントを詳しく解説! 栄野川 直⽃斗(@enkw_̲)
2016.04.29
⾃自⼰己紹介 ☁ 栄野川 直⽃斗(えのかわ なおと) ☁ サポートエンジニア ☁
新卒⼆二年年⽬目 ☁ クラウドゆとり世代 ☁ ⼀一応JAWS-‐‑‒UG沖縄コアメンバー
ɹɹɹɹɹɹʹ͍ͭͯ
AWSを活⽤用しながらビジネスに集中できる コンシェルジュサービス
24時間365⽇日 定額課⾦金金/ 請求書払い PCI DSS、ISMS、Pマーク取得済みの運⽤用体制 監視運⽤用保守 企業 AWS
(1,500⽇日間) ※ 2010年年5⽉月cloudpackサービススタート 36,000時間 連続稼働 (※)
4 社 社超 プロジェク ト超 500 600 5年年間 5年年間AWSのみで運⽤用保守
アジア地域4社 世界28社 最上位パートナー プレミアコンサルティングパートナー
企業規模別 cloudpack利利⽤用⽐比率率率 36% 27 37 % % 中⼩小企業 中堅企業 ⼤大企業
Web系 91 % うち33%が ソーシャルゲームや メディアサイト cloudpackͷओͳར༻状況
None
None
None
None
ࠓ͓͢͠Δ͜ͱ
Α͘ݟΔ͋ͷߏ
None
͜ΕΛ
Πν͔Βߏங͢Δ࣌ͷ ྲྀΕͱ͔ϋϚΓϙΠϯτΛ σϞަ͑ͳ͕Βղઆ͠·͢ʂ
Ͱͬͦ͘͞
1. ্ݶਃ
1. 上限申請 ☁ ⼀一番最初に上限申請をしましょう • スケールすることを想定 • けっこう忘れがち
☁ 想定より多めで申請した⽅方がいいかも • EC2インスタンス数 • EIP数 • メール上限 / 逆引き
1. 上限申請(ハマりポイント) ☁ 上限申請をし忘れる • 急なスケールアウトに対応できない • EIP
を Allocate できない • Email の送信制限にかかる • ドメインがメールのブラックリストに登録される
2. VPC
2. VPC ☁ CIDRは余裕をもって • スケールすることを想定 • サービスが開始した後に変更更するのは難しい
☁ 注意点 • オンプレミスや他クラウドとのVPN接続がある場合 • ネットワークアドレスが被らないように
2. VPC(ハマりポイント) ☁ CIDRの範囲が狭すぎた • 任意のサブネットにインスタンスがローンチできない • VPC/EC2の再構築が必要
☁ オンプレミスとネットワークアドレスが被った • VPN接続ができない • VPCの再構築が必要
3. IAM
3. IAM ☁ IAM Role を作成しましょう • IAM Role
is EC2 に紐紐付ける認証情報 ☁ 各 Role(役割)ごとに Role を作成しましょう • web / app / db / cache • AWS の API を利利⽤用する予定がなくても作成 • 権限を渡さない設定も可能
3. IAM(ハマりポイント) ☁ IAM Role を作成していなかった • EC2 に
IAM Role を設定しなかった • IAM Role は後からEC2に追加することができない • EC2 で AWS の API を使⽤用するのにアクセスキー/ シークレットアクセスキーの発⾏行行が必要 • キーを流流出するリスクが発⽣生
4. Security Group security group
4. Security Group ☁ EC2 を作成する前に作成しましょう • 複数の SG
をアタッチすることがあるため ☁ SSHのポートは必ず接続元IP制限を⾏行行いましょう • 第三者にアクセスされる可能性があるため ☁ 共通⽤用と役割ごとの SG を作成する • 次のページでオレオレルールを晒します
None
4. Security Group ☁ 共通⽤用の SG は EC2 全台に設定
• SSHポートなどを解放 ☁ それ以外は役割ごとの SG を各リソースに設定 • elb は 80 / 443 • web は elb からの 80 のみ • db は web からの 3306 のみ などなど..
4. Security Group(ハマりポイント) ☁ 適切切な SG を設定しない • ELB
や RDS に 22番ポートを解放してしまう • 美しくない • SG のルールが煩雑になる • ルール変更更の際に事故が起きる可能性がある
5. EC2
5. EC2 ☁ 作成した VPC/Subnet に配置しましょう • 指差し確認ホント⼤大事
☁ IAM Role の設定を忘れないように • 役割に応じた IAM Role を設定 ☁ Private IP は指定しておきましょう • 指定しないと AWS から⾃自動的に割り振られる
5. EC2 ☁ EBS の Delete on Termination は無効化した⽅方が無難
• インスタンスを削除した際に EBS も消えちゃう ☁ Security Group は適切切に設定しましょう • 各ロールの SG をアタッチする
5. EC2(ハマりポイント) ☁ ローンチする VPC/Subnet を間違える • スケールできない
• インスタンスの再ローンチ ☁ IAM Role を設定し忘れる • AWS の API を使⽤用できない • インスタンスの再ローンチ
6. ELB
6. ELB ☁ 作成した VPC/Subnet に配置しましょう ☁ Load Balancer
name はドメイン名で • enokawa-‐‑‒co-‐‑‒jp とか ☁ SSL 証明書は ELB に設定しましょう • Apache/Nginx などに設定するのはリスク • OpenSSLの脆弱性とか
6. ELB(ハマりポイント) ☁ Load Balancer name に適当な名前をつける • 何⽤用の
ELB か分からなくなる ☁ ローンチする VPC/Subnet を間違える • 適切切な EC2 を紐紐づけられない
7. RDS
7. RDS ☁ Parameter Groups はデフォルトを使わない • Parameter Groups
is MySQLの my.cnf みたいなもの • インスタンス作成後に変更更ができない(要再起動) • デフォルトの Parameter Group は編集ができない ☁ RDS は基本的に Private Subnet に配置すること • インターネットからアクセスできないようにするのがベター
7. RDS ☁ Backup Window と Maintenance Window •
タイムゾーンが UTC になっているので注意 ☁ Auto Minor Version Upgrade は No で • AWS のタイミングで⾃自動的にマイナーアップグレード が⾛走る
7. RDS(ハマりポイント) ☁ インスタンス削除の際に Final Snapshot を取得しない • ⽇日次バックアップの
Snapshot は削除される ☁ デフォルトの Parameter Group を使⽤用する • コネクション数の上限が変更更できない • Parameter Group 変更更を⾏行行う際にダウンタイムが⽣生 じる
8. Route53
8. Route53 ☁ ELB や S3、CloudFront を指定する際は ALIAS レコー ドを使⽤用しましょう
• 名前解決のプロセスが⼀一つ減る ☁ ネイキッドドメインを利利⽤用したい場合は Route53 を使 ⽤用しましょう • 外部 DNS で ELB や S3 を指定する場合、ネイキッド ドメインが利利⽤用できない
8. Route53(ハマりポイント) ☁ ALIAS レコードを使⽤用しない • 名前解決のプロセスが増えて若若⼲干レスポンスが落落ちる •
ネイキッドドメインが利利⽤用できない
⼿手順のおさらい 1. 上限申請 2. VPC 3. IAM
4. Security Group 5. EC2 6. ELB 7. RDS 8. Route53
まとめ ☁ 常にサービスがスケールすることを想定 ☁ デフォルトの設定のままで構築するのはリスク ☁ インスタンスのローンチ前に指差し確認をしましょう
None