FOLIOϞόΠϧΞϓϦͷΠϯϑϥߏגࣜձࣾFOLIO / Site Reliability Engineerބࢁ ᠳฏ(@sion_cojp)
View Slide
ބࢁ ᠳฏ / @sion_cojpݩFPSϓϩήʔϚʔͰΞδΞνϟϯϐΦϯגࣜձࣾFOLIO / SRE自己紹介
- ߏ- σϓϩΠ- ηΩϡϦςΟ- ϩά- ϞχλϦϯά- ϝϯςφϯεը໘- ͦͷଞ目次
73 ⟎䟝植㹋 73 ⟎䟝植㹋㼐 㼐؝أفٖ ؝أفٖ❨鿪 ❨鿪➂䊨濼腉ؕآظ鍑犜ϑΥϦΦʮVRʯʮژʯͳͲɺଟ࠼ͳςʔϚΛ͑ΒΜͰࢿ͕Ͱ͖ΔΦϯϥΠϯূ݊Ͱ͢ɻσʔλαϯϓϧͰ͋Γɺকདྷͷӡ༻ՌΛࣔࠦຢอূ͢ΔͷͰ͋Γ·ͤΜɻ ۚ༥ͷऔҾʹ͓͍ͯɺגՁͷมಈʹΑΓଛࣦ͕ੜ͡Δ͓ͦΕ͕͋Γ·͢ɻৄࡉܖక݁લަॻ໘Λ͓ಡΈ͍ͩ͘͞ɻגࣜձࣾFOLIO ۚ༥औҾۀऀ ؔ౦ࡒہʢۚʣୈ2983߸ɹՃೖڠձɿຊূ݊ۀڠձɺҰൠࣾஂ๏ਓຊࢿސۀڠձ
ϞόΠϧΞϓϦपΓͷΠϯϑϥΛհ͠·͢本スライドは
ߏਤ
構成図
3छྨͷterraform moduleͰߏ- ALB- Fargate- Sorrymodule便利Route53は module使ってません
ALB module
Fargate module
Sorry module
moduleԽͨ͜͠ͱͰɺDockerfile͑͋͞ΕFargateͷαʔϏε্ཱ͕͙ͪ͛͢ΕΔ͜ͷߏͰɺstage1CPU, MEM: 2Gͷίϯςφ1ӡ༻Ͱ$15/day ͘Β͍Ͱ͢ӡ༻ίετΛߟ͑Δͱ͓ಘͩͱࢥ͍·͢ʢΠϯϑϥ΄΅ݟͯͳ͍ʣ構成について一言
σϓϩΠ
こんな感じ
デプロイツールslack-deployͱ͍͏GoͷchatopsπʔϧslackͰinteractiveʹબͦΕΛݩʹฒྻॲཧͰEC2্ͰίϚϯυΛ࣮ߦݱࡏ۪ʹaws cli͕ॻ͔ΕͨεΫϦϓτΛ࣮ߦͤͯ͞·͕͢ɺFargate༻ͷdeployπʔϧΛGoͰ࡞த
chatops周りの構成図ECRは一つのアカウントで全てのイメージを管理
slack-deployのconfig一部github.com/sioncojp/tomlssmを使ってdecryptさせてます
余談ͪΖΜslack-deployͷdeployslack-deploy
ηΩϡϦςΟ
セキュリティSSHଘࡏ͠·ͤΜIAMϧʔϧ࠷খݶʹߜͬͯ·͢sshなくても苦労はないむしろ安心感
セキュリティίϯςφ੬ऑੑanchoreͱ͍͏αʔϏεΛϩʔΧϧͰಈ͔ͤΔΑ͏ʹͯ͠அECRの機能として早く欲しい!
ϩά
ログ
ログFargateͷlog driverCloudwatch͚ͩͰ͢Cloudwatch͔Βੜϩά:s3 ͱϦΞϧλΠϜϩά: datadog logsʹग़ྗ͢ΔmoduleΛ࡞ͬͯӡ༻ͯ͠·͢ʢtargetʹcloudwatchͷlog groupΛࢦఆ͢Δ͚ͩʣ
ログ - moduleはこんな感じ- σʔλΛfirehoseʹ์ΓࠐΉ: cloudwatch -> kinesis firehose- datadog logsʹग़ྗ: lambda- ੜϩάอଘ s3ʹग़ྗ: firehose
ϞχλϦϯά
モニタリングexternalࢹಉ͡Α͏ʹFargateͰDatadogΛཱͯͯɺ͔ͦ͜Βࢹͯ͠·͢internalࢹDatadogͰɺterraformͰཧͯ͠·͢12月のパブリックβでDatadogの機能として使えるらしいよ!
ϝϯςφϯεը໘
メンテナンス画面લஈͷwafͰ͔ࣾΒͷΞΫηεͷΈڐՄϝϯςφϯεը໘s3ʹอ͞Εͨ503.jsonͷσʔλΛΞϓϦʹฦ٫
メンテナンス画面のON/OFFもslackから
ͦͷଞ
ドキュメントߏਤΠϯϑϥܥͷใαʔϏεଆͷ ϦϙδτϦʹೖΕͯ·͢terraformίϝϯτΛత֬ʹ͢ྗυΩϡϝϯτྨ͕શͯgit্ʹ͋ΔҙࣝʢconfluenceͳͲͦͷଞۃྗΘͳ͍ʣ
サービス側のREADME.mddraw.ioのxmlも保管
terraformのコメント集dataやresourceの上の行には自明でもコメントを入れてます
リリース前確認https://landing.google.com/sre/sre-book/chapters/launch-checklist/ΛϕʔεʹಠࣗʹνΣοΫϦετΛఆٛ͠ϦϦʔεલͷ֬ೝΛSRE + αʔϏε୲ऀͰͬͯ·͢ref: https://gist.github.com/sioncojp/57d672fff1a35f3a10dd12526d54afbb
チェックリストの一部
メディア露出等のスパイク対応+ஆػਃ
コンテナ運用最高!؆୯ʂָνϯʂ
総評Dockerfile͚ͩ࡞ͬͯ͘ΕͨΒ͍͍ײ͡ͷΠϯϑϥ࡞ΔΑʂ+ ࡞ͬͨޙ͋·Γ໘ݟͳͯ͘ྑ͍Πϯϑϥͱ͍͏ؾ࣋ͪͰͬͯ·ͨ͠
総評݁Ռɺͦͷ௨ΓʹͳͬͯΔͱࢥ͏ͷͰ҆ఆͨ͠ྑ͍ӡ༻͕Ͱ͖ͯ·͢
総評ͨͩ·ͩΔ͜ͱ͕͋ΔͷͰ͜Ε͔Βվળ͍͖ͯ͠·͢
以上͋Γ͕ͱ͏͍͟͝·ͨ͠