AWS Premier Night #2 2016/09/16
IPv6 on AWSAWS Premier Night #2 2016/09/16Ϋϥεϝιου େ୍ོଠ
View Slide
About me• Ryuta Otaki @takipone• Job : AWS / IoT / SORACOM Pre-sales/Engineer @Classmethod, Inc.• Interest : Network / Deploment Tools• Favorite AWS Service : Amazon Route 53 / ACM
Ϋϥεϝιουͷհ AWSɺiOSʹؔ͢Δٕज़ϒϩάΛ ࣾһ૯ग़Ͱͬͯ·͢ɻ http://dev.classmethod.jp/
Agenda• ͢͜ͱ• AWSͷIPv6ରԠ• ͍ͭΔͷʁ• Կ͢Ε͍͍ͷʁ• ͞ͳ͍͜ͱ• IPv6ͱ / IPv6ΞυϨογϯά*1WΞυϨε͕Γͳ͍˝ܻͷଟ͍*1WʹUI
ݱࡏͷAWSͷ IPv6αϙʔτঢ়گ
IPv6ରԠAWSαʔϏεͷఆٛ• ҎԼͷ͍ͣΕ͔͕IPv6ΞυϨε (≒DNSͷAAAAϨίʔυ)Λ࣋ͭ• αʔϏε͔ΒׂΓͯΒΕΔϦιʔε• ڞ༗αʔϏεͷΤϯυϙΠϯτ
IPv6ରԠͷAWSαʔϏε• EC2 Classic• ELB Classic Load Balancer & Classic EC2ͷΈ• Amazon S3 ※ [NEW!!]• AWS IoT※ ELBͱS3αϒυϝΠϯ`dualstack.` ͷ༗ແʹΑΔબ੍
๕͘͠ͳ͍ͳ͔ͥ
IPv6Πϯλʔωοτ͕ ·ͩओྲྀ͡Όͳ͍͔Βɻ (ಛʹίϯςϯπϓϩόΠμଆ)
v6Πϯλʔωοτv4ͱผ• v4Πϯλʔωοτͱv6Πϯλʔωοτผʹߏ͞Ε͍ͯΔͷͰɺΫϥΠΞϯτ/αʔόʔͦΕͧΕ͕v6Πϯλʔωοτʹଓ͠ͳ͚ΕͳΒͳ͍ΫϥΠΞϯτΠϯλʔ ωοτ αʔόʔv6Πϯλʔωοτ
ΫϥΠΞϯτଆ·ͣ·ͣۙʹ• ISPͷv6ΦϓγϣϯʹՃೖ͢Εɺv6Πϯλʔωοτͷ൶͕։͘• υϝΠϯ໊ͰͷΞΫηε͕΄ͱΜͲͳͷͰɺΫϥΠΞϯτ͕v4/v6Λҙࣝ͢ΔͷكΫϥΠΞϯτΠϯλʔ ωοτv6 ΠϯλʔωοτISPઃඋσϡΞϧελοΫରԠ΄΅ྃv6 Φϓγϣϯ
αʔόʔଆશવฉ͔ͳ͍• ݱࡏv4Πϯλʔωοτ͕ओྲྀͳͷͰਖ਼ɺ ࠔΔ͜ͱແ͍ɻ (v6 over v4ͷมٕज़ൃల)ΫϥΠΞϯτΠϯλʔ ωοτ αʔόʔv6 over v4ͷྫ
v6Πϯλʔωοτ͕ීٴ͠ͳ͍• શTLS/SSLԽHTTP/2ͷීٴͱൺΔͱϞνϕʔγϣϯ͕ऑ͍ (ηΩϡϦςΟରࡦɺύϑΥʔϚϯεΞοϓͱ͔ແ͍)• IPv6ͷΓସ͑ʹΑΔӨڹ͕ਙେ• ಛʹDNSରԠͤ͞Δқ͕ߴ͍
v6Πϯλʔωοτ͕ීٴ͠ͳ͍• Իେ͖͘ͳ͖ͬͯͨ• Apple App StoreͷIPv6ରԠٛԽ• ࣍ʹಈ͘ͱͨ͠ΒGoogle?
IPv6ରԠ͍ͭΔͷʁ
͏ͪΐͬͱ༷ࢠݟ·͠ΐ͏
IPv6ରԠͬͯͳʹ͢Ε͍͍ͷʁͦ͏͍͍ͭͭ
αʔόʔଆͷIPv6ରԠ• v6Πϯλʔωοτͷଓ• ϦόʔεϓϩΩγ• CDN• όοΫΤϯυαʔόʔ·ͰͷIPv6Խ͕ ඞਢͱݶΒͳ͍ϦόʔεϓϩΩγ/ CDN αʔόʔv6 Πϯλʔωοτͬͪ͜W
αʔόʔଆͷIPv6ରԠ• ্ҐΞϓϦέʔγϣϯ• ϛυϧΣΞ/ϥΠϒϥϦͷIPv6ରԠ֬ೝ• ΞυϨεͷϋʔυίʔυ• ϩάͷσʔλαΠζ૿
ΫϥΠΞϯτͷಈ࡞֬ೝ• σϡΞϧελοΫ/ϐϡΞIPv6ͰৼΔ͍͕ҟͳΔ• IPv6͕μϝͳ߹ʹIPv4ʹϑΥʔϧόοΫ(࠶ଓ)͢Δ• ໊લղܾ/DNSͱͷಆ͍ɻhostsϑΝΠϧ͕݁ߏཔΓʹͳΔ• ϛυϧ/ϥΠϒϥϦͷϦκϧό͕ಠ࣮ࣗͷ߹ཁҙ!! tcpdumpͰύέοτղੳ༗ޮ
ΫϥΠΞϯτͷಈ࡞֬ೝ• ISPͷIPv6Φϓγϣϯ• IPv6ରԠࡁΈΫϥυ/VPSͷར༻• DigitalOcean• ͘͞Β
AWSͰϥΫ͍ͨ͠
LB/CDNͷIPv6ରԠʹظ• ELB/ALB(in VPC)ͷIPv6ରԠΛفΔ• CloudFrontͷIPv6ରԠΛفΔ• ͍ͭͰʹRoute 53ͷIPv6ରԠΛفΔ
VPCʁ
VPCͷIPv6Խඞਢʁ• ϦόʔεϓϩΩγɺCDN͕IPv6ରԠ͢Ε OKͱஅ͢Δ͜ͱͰ͖Δ• VPN/Direct ConnectͰIPv6ͳΦϯϓϨϛεωοτϫʔΫͱܨ͙߹ʁ
IPv6ͳดҬʁ
NTT ϑϨοπޫҬ
ΫϥυήʔτΣΠ ΞϓϦύοέʔδ• https://flets.com/cloudgateway/ݱࡏ/55౦ຊͷΈ
ݕূϒϩά͋Γ·͢& ͏ͪΐͬͱॻ͖·͢
·ͱΊ• ELBͱCloudFront͕IPv6ʹରԠͨ͠Βߟ͑Α͏• ϑϧIPv6Խ͕ඞͣ͠ཁ݅ʹͳΔͱݶΒͳ͍• ಈ࡞֬ೝख͕͔͔ؒΔ͜ͱΛ֮ޛͯ͠ܭըతʹ