ECSのデプロイツールを試している話
by
Yukiyan
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
&$4ͷσϓϩΠπʔϧΛࢼ͍ͯ͠Δ 2016/09/21 JAWS-UG ίϯςφࢧ෦ #6 #jawsug_ct @yukiyan_w
Slide 2
Slide 2 text
ʙ4*FS ʙGFFEGPSDF*OD "QQMJDBUJPO&OHJOFFS όονɾ$47ɾ3VCZΛओʹ৮Δɻ Ώ͖Μ @yukiyan_w http://yukiyan.hatenablog.jp/ ɾ͜ͳ͍ͩECSͷΛ͠·ͨ͠ "Replace a batch application to ECS // Speaker Deck":http://bit.ly/2d2hfAL
Slide 3
Slide 3 text
εϥΠυͰҾ༻ͨ͠ࢿྉͷϦϯΫΛ ҎԼʹશͯஔ͖·ͨ͠ IUUQTHJUJPWJ))*
Slide 4
Slide 4 text
&$4ͷσϓϩΠπʔϧ͍ͬͺ͍͋Δ
Slide 5
Slide 5 text
No content
Slide 6
Slide 6 text
ͷνʔϜʜ
Slide 7
Slide 7 text
ΦϨΦϨ3BLFUBTLΛ͍ͬͯΔ
Slide 8
Slide 8 text
ɾ࡞ऀ͔͠ղಡͰ͖ͳ͍ ϝϯς͖͍ͭ ɾಾͷZNM EPDLFSDPNQPTFMJLFʹॻ͖͍ͨ
Slide 9
Slide 9 text
&$4ͷσϓϩΠπʔϧΛௐࠪͯ͠ΈΔ
Slide 10
Slide 10 text
ɾ ɾaws official ɾcompose likeͳymlͰtaskΛొͰ͖Δ ɾserviceొͰ͖Δ͕ELBͱͷඥ͚Ͱ͖ͳ͍ ɾ"Create services with a load balancer · Issue #21 · aws/amazon-ecs-cli":https://git.io/viSkK
Slide 11
Slide 11 text
ɾ ɾcompose likeͳymlͰtaskΛొͰ͖Δ ɾserviceొՄೳ(CLBͱͷඥ͚ɻALB·ͩɻ) ɾσϓϩΠECSΫϥελΛΓସ͑ΔλΠϓ(bluegreen) ɾ"EC2 Container Service(ECS)Λཧͯ͠ɺBlue-Green DeploymentΛ࣮ݱ͢ΔπʔϧΛॻ͍ͨ - tehepero note(ɾ Т<)”:http://bit.ly/2d1Mqfq ɾ"Amazon EC2 Container Service(ECS)ͱٔΕͨ1ͱίϯςφܳਓͷདྷʹ͍ͭͯ - tehepero note(ɾТ<)”:http:// bit.ly/2cOsGZi ɾ"Flexible Blue Green DeploymentͷεεϝʛαΠόʔΤʔδΣϯτ ެࣜΤϯδχΞϒϩά":http://amba.to/2ddJx7F
Slide 12
Slide 12 text
ɾShell ɾserviceͷσϓϩΠʹಛԽ ɾDockerfile͕͋ΔͷͰίϯςφܦ༝Ͱ࣮ߦՄೳ ɾ"AWS Application Load Balancer + Amazon ECS ͰDockerͷϗοτσϓϩΠڥΛߏஙͨ͠ - Glide Note":http://bit.ly/2d1QAUn
Slide 13
Slide 13 text
ɾ"ECS Λར༻ͨ͠ΦϑϥΠϯδϣϒͷ࣮ߦڥ - ΫοΫύου։ൃऀϒϩά”:http://bit.ly/2d1TfgR ɾ"Scalable Job Queue System Built with Docker // Speaker Deck”:http://bit.ly/2d1TsAI ɾ"hako͕ALBʹରԠͨ͠ͷͰͬͯΈͨ - so what”:http://bit.ly/2d1TSao ɾ"hakoͷoneshotΛ͏ - so what":http://bit.ly/2d1Tmcf ɾ ɾtask͕ొՄೳ(ͨͩ͠compose likeͳymlͰͳ͍) ɾservice͕ొՄೳ(CLBALBͱͷඥ͚Մೳ)
Slide 14
Slide 14 text
ૉৼΓͯ͠ΈΔ
Slide 15
Slide 15 text
!͓ͼ! IBLPʹ͍͍ͭͯํͷѲ͕ؒʹ߹Θͳ͔ͬͨɻ ίʔυಡΈ్தʜ
Slide 16
Slide 16 text
ECS Cluster EC2 ECS Cluster Internal CLB EC2 EC2 ALB 24224 24224 Dynamic Port 80 log-container.fluentd:24224 /index.html ૉৼΓͷߏ public subnet private subnet
Slide 17
Slide 17 text
&$4Ͱͳʹ͔ͭ͘Δͱ͖ͷجຊతͳྲྀΕ
Slide 18
Slide 18 text
-BVODIDPOpH "VUPTDBMJOHHSPVQ &-# 5BTLEFpOJUJPO 5BTLTFSWJDF ;FSP%PXOUJNF%FQMPZNFOUT
Slide 19
Slide 19 text
֤ϑΣʔζͰFDTDMJ FDTGPSNBUJPO FDTEFQMPZΛ ͬͯΈΔ
Slide 20
Slide 20 text
-BVODIDPOpH "VUPTDBMJOHHSPVQ &-# 5BTLEFpOJUJPO 5BTLTFSWJDF ;FSP%PXOUJNF%FQMPZNFOUT
Slide 21
Slide 21 text
ecs-cli up \ --verbose \ --keypair "yukiyan" \ --capability-iam \ --size 1 \ --vpc "vpc-1234" \ --subnets "subnet-1234","subnet-1234" \ --security-group "sg-1234" \ --image-id "ami-12345" \ --instance-type "t2.micro"
Slide 22
Slide 22 text
FDTDMJVQʹΑͬͯ$MPVE'PSNBUJPO͕ؤுΔਤ
Slide 23
Slide 23 text
-BVODIDPOpH "VUPTDBMJOHHSPVQ &-# 5BTLEFpOJUJPO 5BTLTFSWJDF ;FSP%PXOUJNF%FQMPZNFOUT
Slide 24
Slide 24 text
&-#ͷ࡞ɺ ɾBXTίϚϯυ ɾ5FSSBGPSN ΛͬͯؤுΔ IBLPͩͱ࡞ͬͯ͘ΕΔؾ͕͢Δ ཁௐࠪ ɻ ɾ"hako/hello-lb-v2.yml · eagletmt/hako":https://git.io/viS1Z
Slide 25
Slide 25 text
-BVODIDPOpH "VUPTDBMJOHHSPVQ &-# 5BTLEFpOJUJPO 5BTLTFSWJDF ;FSP%PXOUJNF%FQMPZNFOUT
Slide 26
Slide 26 text
UBTLBQQZNM
Slide 27
Slide 27 text
UBTLqVFOUEZNM
Slide 28
Slide 28 text
$ ecs-formation task plan ← Dry run $ ecs-formation task apply
Slide 29
Slide 29 text
-BVODIDPOpH "VUPTDBMJOHHSPVQ &-# 5BTLEFpOJUJPO 5BTLTFSWJDF ;FSP%PXOUJNF%FQMPZNFOUT
Slide 30
Slide 30 text
qVFOUETFSWJDFͷ্ཱͪ͛ͱJOUFSOBM$-#ͱͷؔ࿈͚
Slide 31
Slide 31 text
TFSWJDFDMVTUFSOBNFZNM
Slide 32
Slide 32 text
$ ecs-formation service plan ← Dry run $ ecs-formation service apply
Slide 33
Slide 33 text
BQQTFSWJDFͷ্ཱͪ͛ͱ"-#ͱͷؔ࿈͚
Slide 34
Slide 34 text
KTPOॻ͍ͯɺBXTίϚϯυͰؤுΔ FDTGPSNBUJPO"-#ະରԠ͕ͩɺ ผϒϥϯνͰ։ൃͯ͠Δงғؾ͋ͬͨɻ IBLPͩͱରԠࡁΈ ཁௐࠪ ɻ ɾ"BlueGreen Deployment for ALB by stormcat24 · Pull Request #98 · stormcat24/ecs- formation”:https://git.io/viSXF ɾ"hako͕ALBʹରԠͨ͠ͷͰͬͯΈͨ - so what”:http://bit.ly/2d1TSao BQQTFSWJDFͷ্ཱͪ͛ͱ"-#ͱͷؔ࿈͚
Slide 35
Slide 35 text
-BVODIDPOpH "VUPTDBMJOHHSPVQ &-# 5BTLEFpOJUJPO 5BTLTFSWJDF ;FSP%PXOUJNF%FQMPZNFOUT
Slide 36
Slide 36 text
ecs-deploy \ -c yukiyan-cluster \ -n app \ -i yukiyan/app:latest \ -D 1 \ # desired count -m 100 \ # minumumHealthyPercent -M 200 # maximumPercent
Slide 37
Slide 37 text
ॴײ
Slide 38
Slide 38 text
ɾFDTDMJVQͷμΠφϛοΫ͞ʹڻ͘ ɾFDTGPSNBUJPOQMBOͱ͔͋Δ͠ɺ৭͕ͭ͘͠ɺ݁ߏ͖ ŠūŶŜƃ ɾFDTEFQMPZσϓϩΠྃ·Ͱͬͯ͘Εͯྑ͍ ɾ͏πʔϧ̍ͭʹߜΓ͍ͨɻࣗͰ࡞Δ͔13͛Δ͔ʜ ɾIBLPௐΔͧʂϦϑΝϨϯε ৄ͍͠3&"%.& ཉ͍͠ʜ ɾશͯ044ͳͷͰɺཉ͍͠ػೳ13Λग़͠·͠ΐ͏ ࣗռ
Slide 39
Slide 39 text
ɾFDTDMJVQͷμΠφϛοΫ͞ʹڻ͘ ɾFDTGPSNBUJPOQMBOͱ͔͋Δ͠ɺ৭͕ͭ͘͠ɺ݁ߏ͖ ŠūŶŜƃ ɾFDTEFQMPZσϓϩΠྃ·Ͱͬͯ͘Εͯྑ͍ ɾ͏πʔϧ̍ͭʹߜΓ͍ͨɻࣗͰ࡞Δ͔13͛Δ͔ʜ ɾIBLPௐΔͧʂϦϑΝϨϯε ৄ͍͠3&"%.& ཉ͍͠ʜ ɾશͯ044ͳͷͰɺཉ͍͠ػೳ13Λग़͠·͠ΐ͏ ࣗռ ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠