Share
Embed
AWS CDKとTerraformをn個の観点で徹底比較/compare-aws-cdk-and-terraform-from-n-perspectives
JTF2021 の発表資料です
tomoki10
July 18, 2021
Transcript
49 slides
-
5 ࣗݾհ @tmk2154 @tomoki10 • ࠤ౻ஐथ • Ϋϥεϝιουגࣜձࣾ • CXࣄۀຊ෦
IoTࣄۀ෦ new! • લ৬ɿSIerͷSEΛ4ऑ • ݱࡏɿΠϯϑϥ݉αʔόʔαΠυΤϯδχΞ݉ etc • ͖ͳAWSαʔϏεɿLambdaɺCDK -
ൃ ࠓճͷ July Tech Festa ͷςʔϚ ʮ#ࠓ͞Βฉ͚ͳ͍ITٕज़ ʯ ݁ہ
Terraform ͱ CDK Ͳͬͪબ͍͍ΜͰ͢ʁʁ -
ఆ͢Δରͷཧ ରऀͷΠϝʔδ w Ϋϥυ༻ͷ*B$ͷπʔϧ܈ʹ"84$%,5FSSBGPSNͳͲ͕͋Δ͜ͱ ͍ͬͯΔ͕߹ʹԠͯ͡ͲͪΒΛબΜͰྑ͍͔Ήํ w Ҏલ*B$πʔϧΛબఆ͢ΔࡍʹΜͩ͜ͱ͕͋Δํ ඪ w
ݱઢͰͷ؍͝ͱͷϝϦοτσϝϦοτΛΔ w ࣗͷνʔϜϓϩδΣΫτʹͱͬͯ࠷దͳπʔϧΛબͰ͖ΔΑ͏ʹͳΔ -
ొஃऀͷഎܠ 1+ܦݧ w "84$%,ఔʢ1+ʣɺ5FSSBGPSNdϲ݄ఔʢ1+ʣ w ͲͪΒ࢝Ίͨͷۙʙڧ w ΠϯϑϥΑΓόοΫΤϯυΤϯδχΞܦݧͷํ͕͍ ݸਓతͳଐੑ
w *B$πʔϧ"84$%,ͷํ͕͖ ※ҙɿެฏΛظ͍ͯ͠·͕͢ొஃऀͷൃݴ͕ͪ͜ΒدΓͷൃݴʹͳ͍ͬͯΔՄೳੑ͋Γ·͢ AWS CDK Terraform -
"84$%, $MPVE%FWFMPQFS,JU ͱ w ͍׳ΕͨݴޠͰ"84ϦιʔεΛϓϩϏδϣχϯάͰ͖ΔπʔϧΩοτ w ݱࡏ5ZQF4DSJQU+BWB4DSJQUɺ+BWBɺ$ɺ(P ։ൃऀϓϨϏϡʔ Ͱ༻Մೳ
πʔϧ෦ͷ։ൃ5ZQF4DSJQUϝΠϯ w ίʔυิͰυΩϡϝϯτΛݟͳ࣮͕ͯ͘Ͱ͖Δ w $MPVE'PSNBUJPOͱൺ࣮ͯྔ͕গͳ͘هड़Ͱ͖Δ ྫɿ$MPVE'PSNBUJPOͰߦͷ࣮͕$%,ͩͱߦͰࡁΉ߹ w $%,GPS5FSSBGPSNDELTͳͲͰ"84֎ͷྖҬࠓޙਐߦ༧ఆ -
5FSSBGPSNͱ w )$- )BTIJ$PSQ$POpHVSBUJPO-BOHVBHF ͰΠϯϑϥετϥΫνϟΛίʔυͱ ͯ͠هड़Ͱ͖Δπʔϧ w ϒϩοΫɺҾɺࣜͳͲͰϦιʔεΛ؆ܿʹهࡌ w
ڥʹө͢ΔલʹӨڹ͞ΕΔϦιʔεͷࠩΛ໌֬ʹ֬ೝՄೳ w ΫϥυϓϩόΠμʔͳͲ͕ఏڙ͢ΔϞδϡʔϧΛ͏ͱෳࡶͳߏ؆୯ʹ࡞ w "84͚ͩͰͳ͘ଞͷΫϥυϓϩόΠμʔ4BB4ͷߏʹରԠ -
Ұൠతͳٕज़બఆͷ؍ ʮཧͷٕज़બఆʯͷٕज़બఆͷධՁ࣠Λࢀߟ w αʔϏεཁ݅ͷ୲อ w ηΩϡϦςΟཁ݅ w ݁Ռ߹ੑʢಛʹετϨʔδʣ w
αʔϏεͷ࣮ݱՄೳੑ w ٕज़৴པੑ w ຊ൪࠾༻ w ։ൃମͷ҆ఆੑ w ֫ಘ͍ͯ͠Δελʔ w ੜ͔Βͷ w ܦࡁੑ w αʔόʔઅ w ਓ݅අઅ w ։ൃੜ࢈ੑ w ֶशίετʢ֓೦ͷγϯϓϧ͞ɺطଘϊ ϋͱͷੑʣ w ਓنͷద߹ੑ w ϝϯςφϯεੑ w ਓతࢿݯͷՄ༻ੑ w ֶशϞνϕʔγϣϯ ࢀߟɿʮཧͷٕज़બఆʯhttps://note.com/timakin/n/n2d9eaa02e633 -
Ұൠతͳٕज़બఆͷ؍ ʮཧͷٕज़બఆʯͷٕज़બఆͷධՁ࣠Λࢀߟ w αʔϏεཁ݅ͷ୲อ w ηΩϡϦςΟཁ݅ w ݁Ռ߹ੑʢಛʹετϨʔδʣ w
αʔϏεͷ࣮ݱՄೳੑ w ٕज़৴པੑ w ຊ൪࠾༻ w ։ൃମͷ҆ఆੑ w ֫ಘ͍ͯ͠Δελʔ w ੜ͔Βͷ w ܦࡁੑ w αʔόʔઅ w ਓ݅අઅ w ։ൃੜ࢈ੑ w ֶशίετʢ֓೦ͷγϯϓϧ͞ɺطଘϊ ϋͱͷੑʣ w ਓنͷద߹ੑ w ϝϯςφϯεੑ w ਓతࢿݯͷՄ༻ੑ w ֶशϞνϕʔγϣϯˡݸਓʹΑΓ͚Γ ࢀߟɿʮཧͷٕज़બఆʯhttps://note.com/timakin/n/n2d9eaa02e633 -
w ։ൃମʢఏڙձࣾʣΛվΊͯ֬ೝ ։ൃମɿ"NB[PO8FC4FSWJDFT *OD "84$%,νʔϜ
"84͕ެࣜͷπʔϧͱͯ͠ఏڙ͍ͯ͠Δ ͨΊऴྃͷةݥੑ͍ ମͷ҆ఆੑͱผʹఏڙऴྃͯ͠ $MPVE'PSNBUJPOཧʹͤΔ ։ൃମɿ)BTIJ$PSQ *OD ࣾһɿਓ ଞʹ7BHSBOU1BDLFSͳͲ༗໊ͳ ͷ͕ଟ ҆ఆͨ͠اۀͱ͍ͬͯͳ͍ ٕज़৴པੑ ։ൃମͷ҆ఆੑ -
w స৬αΠτͷٻਓͰਓతࢿݯͷՄ༻ੑΛ֬ೝ ˞࣌ͷใ "ࣾٻਓɿ݅ #ࣾٻਓɿ݅ ("͕ఔલͷͨΊ·ͩ·ͩࢢʹਓ
ࡐ͕গͳͦ͏ͳҹ ˞ฐࣾ݁ߏ࣮ଟ͍Ͱ͢ʢײ֮ʣ "ࣾٻਓɿ݅ #ࣾٻਓɿ݅ ͷ࣮͔Β༻1+ਓࡐଟ͍͘Δ Α͏ͳҹ ։ൃੜ࢈ੑ ਓతࢿݯͷՄ༻ੑ -
࣮ફ্ͨ͠Ͱͷٕज़બఆͷ؍ ࣗͷܦݧ͔Βಠࣗʹ؍Λ࡞ w ։ൃݴޠͷҧ͍ w ίʔυͷΞʔΩςΫνϟݕ౼ w νʔϜεΩϧ w
σϓϩΠ࣌ͷڍಈ w खಈมߋͷऔΓࠐΈ w αʔόϨε w αʔόϨεʢίʔυόϯυϧʣ w $*$% w ίϯςφԾϚγϯϕʔε w ରԠ͍ͯ͠ΔϦιʔε -
5ZQF4DSJQUɺ+BWB4DSJQUɺ1ZUIPOɺ +BWBɺ$ɺ(P ։ൃऀϓϨϏϡʔ ͰϦ ιʔεΛهड़ ࣮ࣗମ5ZQF4DSJQU )$-
)BTIJ$PSQ$POpHVSBUJPO -BOHVBHF ͱ͍͏ಠࣗͷ%4-ͰϦιʔ εΛهड़ ࣮ࣗମ(P ٕज़બఆͷ؍ ։ൃݴޠͷҧ͍ -
ϝϦοτɿ ීஈͷ࣮Ͱ༻͠׳ΕͨݴޠͰهड़͢ Δ͜ͱ͕Մೳ ίʔυิͰυΩϡϝϯτΛݟͳͯ͘ ࣮͕ਐΊΒΕΔ σϝϦοτɿ 5ZQF4DSJQUҎ֎Ͱ࡞Δ߹ຊޠͷ ใ͕গͳΊ
ϝϦοτɿ :".-ɺ+40/ʹ͍ۙͷͰϓϩάϥϛϯ άܦݧ͕ͳͯ࢝͘Ί͍͢ ݻఆͷݴޠͰ؆୯ͳنΛ࡞Ε։ൃऀ ʹدΒͣࣅͨΑ͏ͳॻ͖ํʹͰ͖Δ σϝϦοτɿ υϝΠϯݻ༗ݴޠ %4- ͳͷͰද໘తͳ هड़ํ๏ͷܦݧΛଞʹ׆͔ͮ͠Β͍ ٕज़બఆͷ؍ ։ൃݴޠͷҧ͍ -
ٕज़બఆͷ؍ ίʔυͷΞʔΩςΫνϟݕ౼ ʮBoost your infrastructure with the
AWS CDKʯ https://aws.amazon.com/jp/blogs/aws/boost-your-infrastructure-with-cdk/ ʮModule Creation- Recommended Patternʯ https://learn.hashicorp.com/tutorials/terraform/pattern-module- creation?in=terraform/modules -
ߏྫ ελοΫΛͲͷཻͰׂ͢Δ͔ݕ౼͕ ඞཁ ߏྫ εςʔτϞδϡʔϧͰ࣮ΛͲ͜·Ͱ
Γ͚Δ͔ͳͲݕ౼͕ඞཁ ٕज़બఆͷ؍ ίʔυͷΞʔΩςΫνϟݕ౼ -
ϝϦοτɿ ελοΫͷߟ͑ํੲ͔Βੵ͞Ε ͨ༰Λͦͷ··ͯΊΒΕΔ σϝϦοτɿ ࣗ༝͕ߴ͘$%,༻ͷίʔσΟϯάن ͕ͳ͍ͱݸਓʹΑΔϒϨ͕େ͖͍ ίʔυΛޮԽ͗͢͠ΔͱޙʑͷಡΈղ
͖ελοΫׂͳͲ͕ࠔʹͳΔ ϝϦοτɿ ͷੵͰଟ͘ͷϕετϓϥΫςΟε ͕ఏҊ͞Ε͍ͯΔ σϝϦοτɿ ઃܭʹؔ͢Δهࣄ͕ଟ͗ͯ͢Ή ϞδϡʔϧϫʔΫεϖʔεͳͲͷػೳ ͕ແ͍࣌ͷগ͠ݹ͍هࣄࡏ ެࣜϫʔΫεϖʔεͷ༻ํ๏໎ ؾຯ ڥʹ͏ͳ͕͑ࠞࡏ ٕज़બఆͷ؍ ίʔυͷΞʔΩςΫνϟݕ౼ -
ඞཁͳٕज़ελοΫ w 5ZQF4DSJQUͷه๏ w $%,$-*ͷ͍ํ w ΞʔΩςΫνϟͷཧղ
w OQNͳͲͷύοέʔδཧ w $%,$MPVE'PSNBUJPOͷ੍ ඞཁͳٕज़ελοΫ w )$-ͷه๏ w 5FSSBGPSN$-*ͷ͍ํ w ΞʔΩςΫνϟͷཧղ w 5FSSBGPSNͷ੍ ٕज़બఆͷ؍ νʔϜεΩϧ -
ඞཁͳٕज़ελοΫ w 5ZQF4DSJQUͷه๏ˡݴޠͷशಘ w $%,$-*ͷ͍ํ w ΞʔΩςΫνϟͷཧղ
w OQNͳͲͷύοέʔδཧ w $%,$MPVE'PSNBUJPOͷ੍ ඞཁͳٕज़ελοΫ w )$-ͷه๏ w 5FSSBGPSN$-*ͷ͍ํ w ΞʔΩςΫνϟͷཧղ w 5FSSBGPSNͷ੍ ٕज़બఆͷ؍ νʔϜεΩϧ -
ϝϦοτɿ ΞϓϦ࣮ͷܦݧ͕͋Ε͍͍͢ +BWBܦݧऀͳΒಛʹͳ͍ ࣮ମݧ ΞϓϦ࣮ܦݧͷ͋ΔΠϯϑϥϑϩϯ τόοΫΤϯυΤϯδχΞ͕ଟ͍νʔ
Ϝʹ༗ޮ ϝϦοτɿ :".-+40/ͳͲʹ͍ۙه๏Ͱशಘ ͍͢͠ ΞϓϦ࣮ܦݧͷগͳ͍ΠϯϑϥΤϯδ χΞະܦݧऀͷଟ͍νʔϜʹ༗ޮ ˞ϕʔεͱͳΔΞʔΩςΫνϟ࡞Γ͕ ɹͰ͖ΔΞʔΩςΫτผ్ඞཁ ٕज़બఆͷ؍ νʔϜεΩϧ ʮҰൠతͳٕज़બఆʯͷֶशίετʹؔ࿈ -
ϝϦοτɿ Ϧιʔεൺֱ͕Մೳ DELEJ⒎ ࣦഊ࣌େମશ෦ϩʔϧόοΫ͞ΕΔ σϝϦοτɿ $%,ͱ$MPVE'PSNBUJPOͷͲͪΒʹ ͕͋Δͷ͔Γ͚͕ඞཁ
ελοΫͷґଘؔপʹϋϚΓ͍͢ ϝϦοτɿ ࣮ڥͱίʔυͰϦιʔεൺֱ͕Մೳ UFSSBGPSNQMBO σϝϦοτɿ ࣦഊ࣌ϩʔϧόοΫ͞Εͣͳ͔ͬ ͨҰ෦ͷઃఆ͚ͩө͞ΕΔɻ࠶σϓϩ Π࣌ʹमਖ਼ͨ͠෦͚ͩө ٕज़બఆͷ؍ σϓϩΠ࣌ͷڍಈ -
$MPVE'PSNBUJPOʹJNQPSUޙ$%,ͷ Ϟδϡʔϧ˞Ͱཧ্औΓࠐΈՄೳ 'PSNFSͳͲͷ֎෦πʔϧΛ͏ ্ͷҊ྆ํͱ-$POTUSVDUʹͳͬ ͯ͠·͏ɻग़དྷΕຆͲͷϦιʔεΛ $%,Ͱॻ͘ͱ͍͏ڧ͍ҙࢤ͕ඞཁ
UFSSBGPSNJNQPSUίϚϯυͰऔࠐՄೳ 5FSSBGPSNͰ࡞ͨ͠Ϧιʔεͷࡉ͔͍ ઃఆ༰ͷมߋऔΓࠐΈ͍͢ طଘͷϦιʔεΛ࠷దͳϞδϡʔϧʹ ͯΊͯऔΓࠐΉͷେมͦ͏ ٕज़બఆͷ؍ खಈมߋͷऔΓࠐΈ ※ʮInclude CloudFormation templates in the CDKʯ https://docs.aws.amazon.com/cdk/api/latest/docs/cloudformation-include-readme.html -
-BNCEBपΓͷػೳ؆୯ʹݖݶΛઃఆ Ͱ͖ΔɻΑΓએݴతͳهड़͕Մೳ ։ൃΛ࢝Ί͖͍ͯ᪴͢Ϧιʔεؒ*". ϩʔϧͷݖݶΛࡉ͔͘؆୯ʹ࡞ΕΔʂ 3PMFपΓͷઃఆͰ໌ࣔతʹݖݶΛ༩͑
Δඞཁ͕͋Γগ͠खؒ ٕज़બఆͷ؍ αʔόϨε ࢀߟɿhttps://dev.classmethod.jp/articles/receive-data-from-soracom-on-aws-using-terraform/#toc-3 ࢀߟɿhttps://summit-online-japan-cdk.workshop.aws/20-typescript/40-hit-counter/600-permissions.html resource aws_dynamodb_table iot_sample { name = "Terraform_Iot_Sample" … } … resource "aws_iam_role" "role" { name = "IotRuleToDynamoDBAccessRole" assume_role_policy = = <<EOF {…} EOF } resource "aws_iam_role_policy" "iam_policy_for_iot" { … policy = <<EOF { … "Action": [ "dynamodb:PutItem" ], "Resource": “${aws_dynamodb_table.iot_sample.arn}" } } EOF } export class HitCounter extends cdk.Construct { … const table = new dynamodb.Table(this, 'Hits', { … }); this.handler = new lambda.Function(this, 'HitCounterHandler', { … }); // grant the lambda role read/write permissions to our table table.grantReadWriteData(this.handler); } } -
ϝϦοτɿ એݴతʹ࣮Ͱ͖5FSSBGPSNΑΓ͍ هड़Ͱ࣮͕Մೳ σϝϦοτɿ ҉ͷύϥϝʔλ͕ଟ͘ͳΓ͘͢୯७ ʹ࣮͢Δͱ5FSSBGPSNΑΓϝϯςφ
ϯεੑԼ͕Γ͍͢ ϝϦοτɿ هड़ྔ͕ଟ͘ͳΓઃఆΛஸೡʹߦ͍͢ ͘ϝϯςφϯεੑ͕༏Ε͍ͯΔ σϝϦοτɿ $MPVE'PSNBUJPOʹൺΕએݴతʹ ॻ͚Δ͕$%,ʹൺΔͱݖݶࢦఆͳͲ ࡉ͔͘ඞཁ ٕज़બఆͷ؍ αʔόϨε ʮҰൠతͳٕज़બఆʯͷϝϯςφϯεੑʹؔ࿈ ͲͪΒΛ͏ʹͯ͠҉ͷઃఆʢؔϞδϡʔϧ͕ඞਢͱ͍ͯ͠ͳ͍߲ͳͲʣ Λཧղͯ͠Θͳ͚Εϝϯςφϯεੑ͘ͳΔɻॏཁͳઃఆ֬ೝ͢Δ͜ͱ -
ެࣜͰόϯυϧػೳ͕͋Δ 1ZUIPOɺ/PEFKTɺ(P 1SFWJFX Ͱఏڙ -BNCEBͷόϯυϧػೳ͕ͳ͍ɻಠࣗͷ
ϏϧυεΫϦϓτ͕ඞཁ ٕज़બఆͷ؍ αʔόϨείʔυόϯυϧ ࢀߟɿhttps://dev.classmethod.jp/articles/terraform-lambda-deployment/ ࢀߟɿhttps://docs.aws.amazon.com/cdk/api/latest/docs/aws-lambda-nodejs-readme.html -
ϝϦοτɿ $%,1JQFMJOFͱ͍͏ެࣜͷ$PEFγϦʔ ζ࣮͕͋Δ "84֎ʹݖݶ͕ग़ͣ҆શੑҰ൪ߴ͍ σϝϦοτɿ $PEFγϦʔζͰ1VMM3FRVFTUͷ$*Λ
ߦ͍͍ͨ߹࡞ΓࠐΈ͕ඞཁ ˞(JU)VC"DUJPOT$JSDMF$*୯ମͷํ͕࠷ॳָʜ ϝϦοτɿ 5FSSBGPSN$MPVEͱ͍͏ެࣜͷπʔϧ ʹݖݶΛͯ͠σϓϩΠ͕Մೳ σϝϦοτɿ ΞϓϦͷ$*$%(JU)VC"DUJPOTΛ བྷΊͨ࡞ΓࠐΈ͕ඞཁ ˞(JU)VC"DUJPOT$JSDMF$*୯ମͷํ͕ෳࡶʹͳΒͣྑ͍͔ʜ ٕज़બఆͷ؍ $*$%πʔϧपΓ -
-$POTUSVDU-$POTUSVDUΛ͏ ͱ؆୯ʹߏஙՄೳ ྫɿBXTFDTQBUUFSOTNPEVMFͳͲ جຊ-$POTUSVDUͰߏ͠ࡉ͔͍ઃ ఆΛ͍ͨ͠߹-$POTUSVDUΛ͏ ͱ໌֬ʹࢦఆͰ͖Δ $POTUSVDUͷৄࡉҎԼͷεϥΠυΛࢀর ʮ"84#MBDL#FMU0OMJOF4FNJOBS"84$MPVE%FWFMPQNFOU,JU $%,
ʯ1 IUUQTXXXTMJEFTIBSFOFU"NB[PO8FC4FSWJDFT+BQBOBXTCMBDLCFMUPOMJOF TFNJOBSBXTDMPVEEFWFMPQNFOULJUDEL ʮ"84$%,ʹίϯτϦϏϡʔτ͢ΔͨΊͷ۩ମతͳํ๏ʯ1 IUUQTTQFBLFSEFDLDPNUPNPLJIPXUPBXTDELDPOUSJCVUF ϞδϡʔϧΛ͑खಈͱൺֱͯ͠؆୯ ʹ&$4&$पΓͷߏΛߏஙՄೳ ྫFDTGBSHBUFTFSWJDFNPEVMFͳͲ ࡉ͔͍ઃఆΛ͍ͨ͠߹ެࣜϞδϡʔ ϧΛΈ߹ΘͤΔͱޙ͔Β͔Γ͘͢ ࡞Ͱ͖Δ NPEVMFͷৄࡉҎԼͷެࣜࢿྉΛࢀর ʮ.PEVMFT0WFSWJFXʯ IUUQTMFBSOIBTIJDPSQDPNUVUPSJBMTUFSSBGPSNNPEVMF JOUFSSBGPSNNPEVMFT ٕज़બఆͷ؍ ίϯςφԾϚγϯ -
ϝϦοτɿ $MPVE'PSNBUJPOͰରԠͨ͠Ϧιʔε ΄΅͙͢ө͞ΕΔɻϚΠφʔ͔ͩΒର Ԡ͞Εͳ͍ͱ͍͏৺গͳͯ͘ࡁΉ σϝϦοτɿ "84֎෦ͷαʔϏεΛཧ͢Δػೳ ؚ·Ε͍ͯͳ͍
͍͔ͭ$%,GPS5FSSBGPSNͰཧͰ͖Δ͔ʁ ϝϦοτɿ "84Ҏ֎ͷΫϥυαʔϏε4BB4ͷ ϦιʔεཧՄೳ ($1"[VSF"VUI%BUB%PHFUD σϝϦοτɿ "84ͷ৽͍͠ػೳҰ෦ͷαʔϏε˞ ະରԠͷͷ͕ଟʑ͋Δ ˞IoTܥͷ IoT EventsɺIoT Analytics ͳͲ ٕज़બఆͷ؍ ରԠػೳ AWS IoT Events AWS IoT Analytics -
࣮ફ্ͨ͠Ͱͷٕज़બఆͷ؍ ࣗͷܦݧ͔Βಠࣗʹ؍Λ࡞ w ։ൃݴޠͷҧ͍ w ίʔυͷΞʔΩςΫνϟݕ౼ w νʔϜεΩϧ w
σϓϩΠ࣌ͷڍಈ w खಈมߋͷऔΓࠐΈ w αʔόϨε w αʔόϨεʢίʔυόϯυϧʣ w $*$% w ίϯςφԾϚγϯϕʔε w ରԠ͍ͯ͠ΔϦιʔε -
w αʔόϨεPS*P5ΔͳΒ"84$%, 5FSSBGPSNΛͬͯ݁ہผͷ*B$πʔϧಠࣗπʔϧ͕ඞཁʹͳΓֶशίετ͕૿Ճ w "84֎ͷϦιʔείʔυཧ͚ͨ͠Ε5FSSBGPSN "84$%,$%,GPS5FSSBGPSNͷࠓޙͷਐḿʹظ w ίϯςφԾϚγϯ"84$%,5FSSBGPSN͋Γ ϝϯςφϯεੑΛҙ࣮͕ࣝͨ͠ඞཁɻ·ͨίʔυͷΞʔΩςΫνϟʹ͍ͭͯཁҙ
w ΞϓϦະܦݧऀ͕ଟ͍ͳΒ5FSSBGPSN ΞϓϦܦݧऀ͕ଟ͍ͳΒ"84$%,ͱ͍͏બͼํ͋Γ ൺֱ݁Ռ·ͱΊ