
- TOP
- ã¿ã°äžèЧ
- ããã°ã©ãã³ã°
ããã°ã©ãã³ã°
ã€ãã³ã
ãã¬ãžã³
æè¡ããã°
æ¬èšäºã¯ 2026 幎 4 æ 3 æ¥ ã«å
¬éãããã Introducing OpenTelemetry & PromQL support in Amazon CloudWatch ãã翻蚳ãããã®ã§ãã Kubernetes ããã€ã¯ããµãŒãã¹ã®ã¯ãŒã¯ããŒãã AWS ã§å®è¡ããŠããå Žåãã¡ããªã¯ã¹ã«ã¯ namespaceãpodãcontainerãnodeãdeploymentãreplica setãã«ã¹ã¿ã ã®ããžãã¹ãã£ã¡ã³ã·ã§ã³ãªã©ã倿°ã®ã©ãã«ãä»ããŠããã§ããããç°å¢å
šäœãææ¡ããããã«ãã¡ããªã¯ã¹ãã€ãã©ã€ã³ãåå²ããŠããã±ãŒã¹ãå€ãã¯ãã§ããAWS ã¡ããªã¯ã¹ã«ã¯ Amazon CloudWatch ã䜿ããé«ã«ãŒãã£ããªã㣠(倿°ã®ã©ãã«ã®çµã¿åãããæã€) ãªã³ã³ãããã¢ããªã±ãŒã·ã§ã³ã®ã¡ããªã¯ã¹ã«ã¯å¥ã® Prometheus äºæããã¯ãšã³ãã䜿ãããšãã£ãå
·åã§ããããã«é²ãã ããŒã ã§ã¯ãPrometheus CloudWatch ãšã¯ã¹ããŒã¿ãŒã§ GetMetricData API ãåŒã³åºããAWS ãªãœãŒã¹ã¡ããªã¯ã¹ã Prometheus ããã¯ãšã³ãã«åã蟌ãã§ããããšããããŸããéçšè² è·ãšã³ã¹ãã¯å¢ããŸããããã¹ãŠãäžç®æã§ã¯ãšãªã§ããããã«ãªããŸãã Amazon CloudWatch ã§ OpenTelemetry ã¡ããªã¯ã¹ ã®ãã€ãã£ãåã蟌ã¿ãšã Prometheus Query Language (PromQL) ã«ããã¯ãšãªããµããŒããããŸããããã®ãã¬ãã¥ãŒæ©èœã§ã¯ãã¡ããªã¯ã¹ãããæå€§ 150 ã©ãã«ããµããŒãããé«ã«ãŒãã£ããªãã£ã¡ããªã¯ã¹ã¹ãã¢ãå°å
¥ãããã©ãã«ã®å€ãã¡ããªã¯ã¹ã倿ãåãæšãŠãªãã§ CloudWatch ã«çŽæ¥éä¿¡ã§ããŸããAWS Vended ã¡ããªã¯ã¹ã®èªåãšã³ãªããã¡ã³ããšçµã¿åãããããšã§ãCloudWatch ãã€ã³ãã©ã¹ãã©ã¯ãã£ãã³ã³ãããã¢ããªã±ãŒã·ã§ã³ã¡ããªã¯ã¹ã®äžå
çãªéä¿¡å
ã«ãªãããã¹ãŠ PromQL ã§ã¯ãšãªã§ããããã«ãªããŸããã æ¬èšäºã§ã¯ã以äžã®å
容ã説æããŸãã AWS ã¢ã«ãŠã³ãã§ OpenTelemetry ã¡ããªã¯ã¹ã®åã蟌ã¿ãš AWS ãªãœãŒã¹ã®èªåãšã³ãªããã¡ã³ããæå¹åããæ¹æ³ Amazon Elastic Kubernetes Service (Amazon EKS) ã¯ã©ã¹ã¿ãŒã« Amazon CloudWatch Container Insights ããããã€ããæ¹æ³ Amazon CloudWatch ãš Amazon Managed Grafana ã§ PromQL ã䜿ã£ãŠã€ã³ãã©ã¹ãã©ã¯ãã£ãš AWS ãªãœãŒã¹ã®ã¡ããªã¯ã¹ãã¯ãšãªããæ¹æ³ OpenTelemetry SDK ã§ã«ã¹ã¿ã ã¢ããªã±ãŒã·ã§ã³ã¡ããªã¯ã¹ãäœæããAWS ã³ã³ããã¹ãã§èªåãšã³ãªããã¡ã³ããããæ§å CloudWatch ã«ããã OpenTelemetry ãµããŒããäœãæå³ããã OpenTelemetry Protocol (OTLP) ã¯ãOpenTelemetry (OTel) ãããžã§ã¯ãã®æšæºã¯ã€ã€ãŒãããã³ã«ã§ããã¡ããªã¯ã¹ããã¬ãŒã¹ããã°ãå«ããã¬ã¡ããªããŒã¿ã®ãšã³ã³ãŒããšã³ã³ããŒãã³ãéã®è»¢éæ¹æ³ãå®çŸ©ããŠããŸãããã®ãã¬ãã¥ãŒã«ãããCloudWatch 㯠OpenTelemetry äºæã®ã³ã¬ã¯ã¿ãŒã SDK ãã¡ããªã¯ã¹ãéä¿¡ã§ãããªãŒãžã§ãã« OTLP ãšã³ããã€ã³ããå
¬éããŸãã CloudWatch ã¯ã¡ããªã¯ã¹ãåä¿¡ããæ°ããªé«ã«ãŒãã£ããªãã£ã®ã¡ããªã¯ã¹ã¹ãã¢ã«ä¿åããŸããã«ãŠã³ã¿ãŒããã¹ãã°ã©ã ãã²ãŒãžãã¢ããããŠã³ã«ãŠã³ã¿ãŒãªã©ã® OpenTelemetry ã¡ããªã¯ã¹ã¿ã€ãã¯å€æãªãã§ãã®ãŸãŸä¿æãããŸããä»åã®ãªãªãŒã¹ã§ãCloudWatch ã¯ãªãã¶ãŒãããªãã£ã® 3 æ¬æ±ãã¹ãŠã§ OpenTelemetry ããµããŒãããããã«ãªããŸãããCloudWatch ã¯ãã§ã« OTLP ãšã³ããã€ã³ã çµç±ã§ãã¬ãŒã¹ãšãã°ãåãä»ããŠããããã€ãã£ã OTLP ã¡ããªã¯ã¹åã蟌ã¿ãå ãã£ãããšã§ããã¹ãŠã®ãã¬ã¡ããªããªãŒãã³ã¹ã¿ã³ããŒãã§ãåäžã®ãããã³ã«ãéã㊠CloudWatch ã«éä¿¡ã§ããããã«ãªããŸããã3 ã€ã®æ©èœããã®ããšãéèŠã«ããŠããŸãã æ¡åŒµãããã©ãã«ãšã«ãŒãã£ããªãã£ã®ãµããŒã OTLP ã§åã蟌ãŸããã¡ããªã¯ã¹ã¯æå€§ 150 ã©ãã«ããµããŒãããCloudWatch ã«ã¹ã¿ã ã¡ããªã¯ã¹ã® 30 ãã£ã¡ã³ã·ã§ã³å¶éãè¶
ããŠããŸããKubernetesããã€ã¯ããµãŒãã¹ãOpenTelemetry ã¯ãŒã¯ããŒãã§ãã£ã«ã¿ãªã³ã°ãéèšã«é«ã«ãŒãã£ããªãã£ã©ãã«ã䜿ãéã®äž»èŠãªå¶çŽãè§£æ¶ãããŸããå¶éã¯ä»åŸãé²åãããããææ°æ
å ±ã¯ ã¯ã©ãŒã¿ããŒãž ãã確èªãã ããã PromQL ã¯ãšãªã®ãµããŒã OTLP çµç±ã§åã蟌ãã ã¡ããªã¯ã¹ã PromQL ã§ã¯ãšãªã§ããŸãããã§ã« Prometheus ã䜿ã£ãŠããå Žåãåãã¯ãšãªèšèªã CloudWatch ã Amazon Managed Grafana ã§çŽæ¥äœ¿ããŸããæ°ããæ§æãèŠããå¿
èŠã¯ãããŸããã AWS ãªãœãŒã¹ã®èªåãšã³ãªããã¡ã³ã ãã®æ©èœã«ãããAWS ã€ã³ãã©ã¹ãã©ã¯ãã£å
šäœã§ã¡ããªã¯ã¹ãã¯ãšãªã»ãã£ã«ã¿ãªã³ã°ããæ¹æ³ãæ ¹æ¬çã«å€ãããŸããCloudWatch ã¯åã蟌ãã ãã¹ãŠã®ã¡ããªã¯ã¹ã« AWS ãªãœãŒã¹ã³ã³ããã¹ã (ã¢ã«ãŠã³ã IDããªãŒãžã§ã³ãã¯ã©ã¹ã¿ãŒ Amazon Resource Name (ARN)ãAWS Resource Explorer ããã®ãªãœãŒã¹ã¿ã°) ãä»äžããŸãããã®ãšã³ãªããã¡ã³ãã¯è¿œå ã®èšè£
ãªãã§èªåçã«è¡ãããŸããContainer Insightsãã«ã¹ã¿ã ã¢ããªã±ãŒã·ã§ã³ãAWS ãµãŒãã¹ã®ãããããæ¥ãã¡ããªã¯ã¹ã§ããAWS ã¢ã«ãŠã³ãããªãŒãžã§ã³ãç°å¢ã¿ã°ãã¢ããªã±ãŒã·ã§ã³åã§ãã£ã«ã¿ãªã³ã°ãã°ã«ãŒãåãã§ããŸãããšã¯ã¹ããŒã¿ãŒäžèŠãã«ã¹ã¿ã ã©ãã«äžèŠã远å ã® API åŒã³åºãäžèŠã§ãã å³ 1: Amazon CloudWatch ã«ããã OpenTelemetry ã¡ããªã¯ã¹ã®åã蟌ã¿ãšãšã³ãªããã¡ã³ãã¢ãŒããã¯ã㣠OTLP åã蟌ã¿ãš AWS ãªãœãŒã¹ãšã³ãªããã¡ã³ãã®æå¹å OTLP ã¡ããªã¯ã¹ãåã蟌ãã§ã¯ãšãªããåã«ã2 ã€ã®ã¢ã«ãŠã³ãã¬ãã«ã®èšå®ãæå¹ã«ããŸãã1 ã€ç®ã¯ãAWS Resource Explorer ã§ç¢ºèªã§ãããã®ãšåããªãœãŒã¹ã¿ã°ããã¬ã¡ããªã«äŒæãããèšå®ã§ãã2 ã€ç®ã¯ãCloudWatch ã® OTLP åã蟌ã¿ãæå¹ã«ããèšå®ã§ãã äž¡æ¹ã®ãšã³ãªããã¡ã³ãèšå®ã¯ãAmazon CloudWatch ã³ã³ãœãŒã«ãŸã㯠AWS CLI ããæå¹ã«ã§ããŸãã ã³ã³ãœãŒã«ã䜿çšããå Žå CloudWatch ã³ã³ãœãŒã«ã§ãšã³ãªããã¡ã³ããæå¹ã«ããæé ã¯ä»¥äžã®ãšããã§ãã Amazon CloudWatch ã³ã³ãœãŒã«ãéããŸãã ããã²ãŒã·ã§ã³ãã€ã³ã§ èšå® ãéžæããŸãã ãªãœãŒã¹ã¿ã°ã®ãã¬ã¡ããªãžã®äŒæãæå¹ã«ããŸãã AWS ã¡ããªã¯ã¹ã® OTel ãšã³ãªããã¡ã³ããæå¹ã«ããŸãã äž¡æ¹ã®èšå®ãæå¹ã«ãããšãã¢ã«ãŠã³ãã§ãªãŒãžã§ãã«ãšã³ããã€ã³ããžã® OTLP ã¡ããªã¯ã¹åä¿¡ã®æºåãæŽããŸãã å³ 2: CloudWatch ã³ã³ãœãŒã«èšå®ã§ã® OTel ãšã³ãªããã¡ã³ããšãªãœãŒã¹ã¿ã°ã®æå¹å AWS CLI ã䜿çšããå Žå AWS CLI ã§äž¡æ¹ã®ãšã³ãªããã¡ã³ãã¬ã€ã€ãŒãæå¹ã«ããããšãã§ããŸãã以äžã®ã³ãã³ããå®è¡ããŸãã # Enable resource tags on telemetry aws observabilityadmin start-telemetry-enrichment # Enable OTel enrichment for CloudWatch aws cloudwatch start-o-tel-enrichment äž¡æ¹ã®ãšã³ãªããã¡ã³ãèšå®ãã¢ã¯ãã£ãã§ããããšã確èªããã«ã¯ã以äžã®ã³ãã³ããå®è¡ããŸãã aws cloudwatch describe-o-tel-enrichment-status ãšã³ãªããã¡ã³ããæå¹ã«ãããšãOTLP ãšã³ããã€ã³ãçµç±ã§åã蟌ãŸãããã¹ãŠã®ã¡ããªã¯ã¹ã« AWS ãªãœãŒã¹ã³ã³ããã¹ããèªåçã«ã¿ã°ä»ããããŸããCloudWatch ã远å ãã屿§ã¯ä»¥äžã®ãšããã§ãã Attribute 説æ äŸ @aws.account AWS ã¢ã«ãŠã³ã ID 123456789012 @aws.region AWS ãªãŒãžã§ã³ us-west-2 cloud.resource_id EKS ã¯ã©ã¹ã¿ãŒã®å®å
šãª ARN arn:aws:eks:us-west-2:123456789012:cluster/prod k8s.cluster.name EKS ã¯ã©ã¹ã¿ãŒå production-cluster k8s.namespace.name Kubernetes namespace karpenter k8s.container.name ã³ã³ããå controller @instrumentation.name èšè£
ãœãŒã¹ cloudwatch-otel-ci ãªãœãŒã¹ã¿ã° AWS Resource Explorer ããã®ã¿ã° (@aws.tag.Applicationã@aws.tag.CostCenterã@resource.ec2.tag.ManagedBy ãªã©) env=production ãããã®å±æ§ã¯ CloudWatch ã«ãã£ãŠè¿œå ãããæåã®èšè£
ã¯äžèŠã§ããã«ã¹ã¿ã ãã€ãã©ã€ã³ã®æ§ç¯ããšã¯ã¹ããŒã¿ãŒã®å®è¡ãªãã«ãAWS ã¢ã«ãŠã³ãããªãŒãžã§ã³ããªãœãŒã¹ã¿ã°ããŸããã§ã¯ãšãªã§ããã®ã¯ãã®ããã§ãã OpenTelemetry ã¡ããªã¯ã¹ã䜿ã£ã Amazon CloudWatch Container Insights OpenTelemetry ãš CloudWatch ã®é£æºãå®éã«ç¢ºèªãããããContainer Insights ããå§ããŸããããAmazon EKS åã Amazon CloudWatch Container Insights ã§ Prometheus ãš OpenTelemetry ã¡ããªã¯ã¹ã ãµããŒããããŸãã ãã³ã³ããã¡ããªã¯ã¹ã OpenTelemetry attribute ã§æšæºåãããPromQL ã§ã¯ãšãªã§ããããã«ãªããŸããContainer Insights ã¯ãã³ã³ãœãŒã«ãŸã㯠AWS CLI ãã Amazon EKS ã¢ããªã³ã䜿ã£ãŠ æå¹å ã§ããŸãã Container Insights ããã·ã¥ããŒã Container Insights ããããã€ãããšãCloudWatch 㯠CPU 䜿çšçãã¡ã¢ãªäœ¿çšéãPod æ°ãªã©ã®ã¯ã©ã¹ã¿ãŒã¬ãã«ã®ã¡ããªã¯ã¹ã衚瀺ããããã·ã¥ããŒããèªåçã«äœæããŸããããã·ã¥ããŒãã衚瀺ããã«ã¯ãCloudWatch ã³ã³ãœãŒã«ãéããããã²ãŒã·ã§ã³ãã€ã³ãã Container Insights ãéžæããããããããŠã³ããã¯ã©ã¹ã¿ãŒãéžæããŸããã¯ã©ã¹ã¿ãŒãnamespaceãPod ã¬ãã«ã®ãã¥ãŒãåãæ¿ããŠãç¹å®ã®ã¯ãŒã¯ããŒãã詳ãã確èªã§ããŸãã å³ 3: Amazon CloudWatch Container Insights ããã·ã¥ããŒã CloudWatch Query Studio ã§ PromQL ã䜿ã£ãŠã¡ããªã¯ã¹ãã¯ãšãªãã OTLP ã§åã蟌ãã ã¡ããªã¯ã¹ã¯ãCloudWatch ã³ã³ãœãŒã«ãAmazon Managed GrafanaããŸã㯠PromQL ãš AWS Signature Version 4 (SigV4) ããµããŒãããã¯ãšãªã€ã³ã¿ãŒãã§ãŒã¹ã§ PromQL ã䜿ã£ãŠã¯ãšãªã§ããŸãã CloudWatch Query Studio ã«ã¯ãã³ã³ãœãŒã«ã§çŽæ¥ã¡ããªã¯ã¹ãæ¢çŽ¢ã»å¯èŠåããããã® PromQL ãšãã£ã¿ãŒãçµã¿èŸŒãŸããŠããŸããPromQL ã¯ãšãªã¢ãŒããéžæããŠéå§ããŸãã å³ 4: PromQL ã¯ãšãªã¢ãŒãã® Amazon CloudWatch Query Studio ã€ã³ã¿ãŒãã§ãŒã¹ ãšã³ãªããããã AWS ãªãœãŒã¹ã³ã³ããã¹ãã䜿ã£ãã¯ãšãª ãšã³ãªããã¡ã³ããæå¹ã«ãªã£ãŠãããããCloudWatch ãèªåçã«è¿œå ããã¿ã°ã䜿ã£ãŠ AWS ãªãœãŒã¹ã®å¢çãè¶ããŠã¯ãšãªã§ããŸãããšã¯ã¹ããŒã¿ãŒäžèŠãã«ã¹ã¿ã ã©ãã«äžèŠã§ãã # AWS Lambda function duration for functions tagged with application "order-pipeline" Duration{"@aws.tag.appname"="order-pipeline"} # Amazon EC2 CPU utilization for production delivery workloads CPUUtilization{"@aws.tag.Environment"="production", "@aws.tag.Application"="delivery"} # Running pods grouped by AWS account and namespace sum by (aws_account_id, k8s_namespace_name) (kube_pod_status_phase{phase="Running"}) æåŸã®ã¯ãšãªã¯ãã«ã¹ã¿ã èšè£
ãªãã§ AWS ã¢ã«ãŠã³ããš Kubernetes namespace ããšã«ã°ã«ãŒãåãããå®è¡äžã® Pod æ°ãè¿ããŸãã aws_account_id ã©ãã«ã¯ãšã³ãªããã¡ã³ãã¬ã€ã€ãŒã«ãã£ãŠèªåçã«è¿œå ãããŸãã å³ 5: Lambda duration ã¡ããªã¯ã¹ãã¯ãšãªãã CloudWatch Query Studio Grafana ã§ PromQL ã䜿ã£ãŠã¡ããªã¯ã¹ãã¯ãšãªãã Amazon Managed Grafana ã§ OTLP åã蟌ã¿ã¡ããªã¯ã¹ãå¯èŠåããã«ã¯ãCloudWatch PromQL ãšã³ããã€ã³ããæã Prometheus ããŒã¿ãœãŒã¹ã远å ããŸãããã®ã»ã¯ã·ã§ã³ã§ã¯ãAWS Signature Version 4 (SigV4) èªèšŒã§ããŒã¿ãœãŒã¹ãèšå®ããæé ã説æããŸãã Amazon Managed Grafana ã¯ãŒã¯ã¹ããŒã¹ãéããŸãã Data Sources ãéžæããŸãã Add data source ãéžæããŸãã ããŒã¿ãœãŒã¹ã¿ã€ããšã㊠Prometheus ãéžæããŸãã URL ã«ã¯ããªãŒãžã§ã³ã® CloudWatch PromQL ãšã³ããã€ã³ããå
¥åããŸã: https://monitoring.<AWS Region>.amazonaws.com/v1/metrics Authentication ã§ SigV4 ãéžæããŸãã SigV4 èªèšŒçšã®é©å㪠IAM ããŒã«ãèšå®ããŸãã Save & Test ãéžæããŠæ¥ç¶ã確èªããŸãã Save & Test ãæåãããšããData source is workingããšãã確èªã¡ãã»ãŒãžã衚瀺ãããŸãã倱æããå Žåã¯ãIAM ããŒã«ã« cloudwatch:GetMetricData ãš cloudwatch:ListMetrics ã®æš©éãããããšãSigV4 眲åãæ£ããèšå®ãããŠããããšã確èªããŠãã ããã ããŒã¿ãœãŒã¹ãèšå®ãããšãGrafana ããã·ã¥ããŒãã§åã PromQL ã¯ãšãªã䜿çšã§ããŸãã å³ 6: CloudWatch PromQL ã䜿ã£ã Grafana Explore ã«ã¹ã¿ã ã¢ããªã±ãŒã·ã§ã³ã¡ããªã¯ã¹ CloudWatch OTLP åã蟌ã¿ã¯ã«ã¹ã¿ã ã¢ããªã±ãŒã·ã§ã³ã¡ããªã¯ã¹ããµããŒãããŠããŸããOpenTelemetry SDK ã§èšè£
ãããã¢ããªã±ãŒã·ã§ã³ã¯ãã¯ã©ã¹ã¿ãŒã§å®è¡äžã® CloudWatch ãšãŒãžã§ã³ãçµç±ã§ã¡ããªã¯ã¹ãéä¿¡ã§ããèšè£
ã³ãŒãã®å€æŽã¯äžèŠã§ãã å®éã®åäœã確èªããããã aws-otel-community ãªããžããªãããµã³ãã« Python ã¢ããªã±ãŒã·ã§ã³ããããã€ããŸãããã®ã¢ããªã±ãŒã·ã§ã³ã¯ OpenTelemetry Python SDK ã䜿çšããŠãã«ãŠã³ã¿ãŒããã¹ãã°ã©ã ãã²ãŒãžãã¢ããããŠã³ã«ãŠã³ã¿ãŒãªã©ããã¹ãŠã® OTel ã¡ããªã¯ã¹ã¿ã€ããã«ããŒããã«ã¹ã¿ã ã¡ããªã¯ã¹ãåºåããŸããäŸãã°ãã¢ããªã¯ API ã¬ã¹ãã³ã¹æéãæž¬å®ãã latency_time ãã¹ãã°ã©ã ãå®çŸ©ããŠããŸãã from opentelemetry import metrics meter = metrics.get_meter(__name__) # Histogram --- measures API latency distribution latency_time = meter.create_histogram( name="latency_time", description="Measures latency time", unit="ms", ) ãµã³ãã«ã¢ããªã±ãŒã·ã§ã³ã®ããã〠ãµã³ãã«ã¢ããªã±ãŒã·ã§ã³ ãšãã¹ãŠã®ãããã€ãããã§ã¹ãã¯ãGitHub ã® aws-otel-community ãªããžããªã«ãããŸããå
ã»ã©ãããã€ãã Container Insights ã¢ããªã³ã«ã¯ãOpenTelemetry ã³ã¬ã¯ã¿ãŒãšããŠæ©èœãã CloudWatch ãšãŒãžã§ã³ããå«ãŸããŠããŸãã OTEL_EXPORTER_OTLP_ENDPOINT ç°å¢å€æ°ãèšå®ããŠããµã³ãã«ã¢ããªããšãŒãžã§ã³ãã«åããŸã: http://cloudwatch-agent.amazon-cloudwatch.svc.cluster.local:4317 ãã®ãŠã©ãŒã¯ã¹ã«ãŒã§ã¯ CloudWatch ãšãŒãžã§ã³ãã䜿çšããŠããŸãããOTLP/HTTP ããµããŒãããä»»æã® OpenTelemetry äºæã³ã¬ã¯ã¿ãŒã SDK ã䜿çšããŠãCloudWatch OTLP ãšã³ããã€ã³ãã«çŽæ¥ã¡ããªã¯ã¹ãéä¿¡ã§ããŸãã PromQL ã§ã¢ããªã±ãŒã·ã§ã³ã¡ããªã¯ã¹ãã¯ãšãªãã ã¢ããªã±ãŒã·ã§ã³ããããã€ããããCloudWatch Query Studio ãéãããAmazon Managed Grafana ã¯ãŒã¯ã¹ããŒã¹ã§ Explore ã«ç§»åããCloudWatch PromQL ããŒã¿ãœãŒã¹ãéžæããŸãã 以äžã®ã¯ãšãªã¯ãAmazon Managed Grafana ã§ãã¢ã¢ããªã® p99 ã¬ã€ãã³ã·ãŒããèªåãšã³ãªããããã @aws.region ã©ãã«ã§ã°ã«ãŒãåããŠè¡šç€ºããŸãã histogram_quantile(0.99, sum by (le, aws_region) (rate(latency_time_bucket{resource_service_name="python-demo-app"}[5m])))` å³ 7: Amazon Managed Grafana ã§ã®ãµã³ãã«ã¢ããªã±ãŒã·ã§ã³ã® P99 ã¬ã€ãã³ã·ãŒ ãšã³ãªããã¡ã³ããæå¹ã«ãªã£ãŠããããããã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ã¡ããªã¯ã¹ã« AWS ãªãœãŒã¹ã³ã³ããã¹ããèªåçã«ä»äžãããŸããäŸãã°ã cpu_usage ãã¯ãšãªãããšã远å ã®èšè£
ãªãã§ä»¥äžã®ã©ãã«ãè¿ãããŸãã å³ 8: ã«ã¹ã¿ã OTel èšè£
ããã®ãšã³ãªãããããå
šã©ãã«ã®è¡šç€º æé OTLP åãèŸŒã¿æ©èœãš PromQL ã¯ãšãªã¯ããã¬ãã¥ãŒæéäžã¯è¿œå æéãªãã§å©çšã§ããŸããçŸåšã®æéã®è©³çްã«ã€ããŠã¯ãAmazon CloudWatch ã® æéããŒãž ãã芧ãã ããã ãã®ãŠã©ãŒã¯ã¹ã«ãŒã§äœ¿çšãã Amazon EKS ãš Amazon Managed Grafana ã®ãªãœãŒã¹ã¯ãæšæºæéã§èª²éãããŸããç¶ç¶çãªèª²éãé¿ããããããŠã©ãŒã¯ã¹ã«ãŒçµäºåŸã¯æ¬¡ã®ã»ã¯ã·ã§ã³ã®ã¯ãªãŒã³ã¢ããæé ã«åŸã£ãŠãã ããã ã¯ãªãŒã³ã¢ãã ãµã³ãã«ã¢ããªã±ãŒã·ã§ã³ãåé€ããŸãã kubectl delete -f demo-app.yaml EKS ã¯ã©ã¹ã¿ãŒãã Amazon CloudWatch Observability ã¢ããªã³ãåé€ããŸãã aws eks delete-addon \ --cluster-name \ --addon-name amazon-cloudwatch-observability Grafana ã¯ãŒã¯ã¹ããŒã¹ãã Prometheus ããŒã¿ãœãŒã¹ãåé€ããŸã (Grafana ã³ã³ãœãŒã«ã«ãã°ã€ã³ããData Sources ã«ç§»åããŠãèšå®ãã CloudWatch PromQL ããŒã¿ãœãŒã¹ãåé€ããŸã)ã Amazon Managed Grafana ã¯ãŒã¯ã¹ããŒã¹ãåé€ããŸã (ãã®ãŠã©ãŒã¯ã¹ã«ãŒçšã«äœæããå Žåã®ã¿)ã aws grafana delete-workspace --workspace-id Amazon EKS ã¯ã©ã¹ã¿ãŒãåé€ããŸã (ãã®ãŠã©ãŒã¯ã¹ã«ãŒçšã«äœæããå Žåã®ã¿)ã aws eks delete-cluster --name OTel ãšã³ãªããã¡ã³ããç¡å¹ã«ããŸã (ã¢ã«ãŠã³ãã§äžèŠã«ãªã£ãå Žå)ã # Disable OTel enrichment aws cloudwatch stop-o-tel-enrichment # Disable telemetry enrichment aws observabilityadmin stop-telemetry-enrichment ãã®ãŠã©ãŒã¯ã¹ã«ãŒçšã«ã¢ã¿ãããã IAM ããªã·ãŒããã¿ããããŸãã aws iam detach-role-policy \ --role-name \ --policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy ãŸãšã æ¬èšäºã§ã¯ãAmazon CloudWatch ã§ã®ãã€ãã£ã OpenTelemetry ã¡ããªã¯ã¹åã蟌ã¿ã«ã€ããŠèª¬æããŸããããšã³ãªããã¡ã³ãã¬ã€ã€ãŒã®æå¹åãAmazon EKS ãžã® Container Insights ã®ãããã€ãOpenTelemetry SDK ã§ã®ã«ã¹ã¿ã ã¢ããªã±ãŒã·ã§ã³ã¡ããªã¯ã¹ã®éä¿¡ãPromQL ã§ã®ã¯ãšãªã玹ä»ããŸããã ãã®ãã¬ãã¥ãŒæ©èœã«ãããã¡ããªã¯ã¹ãã€ãã©ã€ã³ã CloudWatch ã«çµ±åã§ããŸããæ¡åŒµãããã©ãã«å¶éãæã€é«ã«ãŒãã£ããªãã£ã¡ããªã¯ã¹ãPromQL ã¯ãšãªãAWS ãªãœãŒã¹ã®èªåãšã³ãªããã¡ã³ãã飿ºããã€ã³ãã©ã¹ãã©ã¯ãã£ã¡ããªã¯ã¹ãã³ã³ããã¡ããªã¯ã¹ãã¢ããªã±ãŒã·ã§ã³ã¡ããªã¯ã¹ããã¹ãŠåããã€ãã©ã€ã³ãæµããåã AWS ãªãœãŒã¹ã³ã³ããã¹ããæã€ããã«ãªããŸããå¥ã
ã®ããã¯ãšã³ãããšã¯ã¹ããŒã¿ãŒãAWS ã¡ããªã¯ã¹ãçµ±åãã¥ãŒã«åã蟌ãããã®è¿œå API åŒã³åºãã¯äžèŠã§ãã OpenTelemetry ã䜿ã£ãã¢ããªã±ãŒã·ã§ã³ã¬ãã«ã®èšè£
ã®å®è·µäŸã«ã€ããŠã¯ã以äžã®ãªãœãŒã¹ãã芧ãã ããã AWS Observability Best Practices Guide: OpenTelemetry SDK ã§ã¢ããªã±ãŒã·ã§ã³ãèšè£
ãããã¿ãŒã³ One Observability Workshop : AWS ã§ã®ã¡ããªã¯ã¹ããã¬ãŒã¹ããã°ã®ãã³ãºãªã³ã©ã AWS Observability Accelerator: ãã¬ã¡ããªåéãšã¯ãšãªãèªååãã CDK ãã¿ãŒã³ãš Terraform ã¢ãžã¥ãŒã« ãã¬ãã¥ãŒã¯ãç±³åœæ±éš (ããŒãžãã¢åéš)ãç±³åœè¥¿éš (ãªã¬ãŽã³)ãæ¬§å· (ã¢ã€ã«ã©ã³ã)ãã¢ãžã¢ãã·ãã£ã㯠(ã·ã³ã¬ããŒã«)ãã¢ãžã¢ãã·ãã£ã㯠(ã·ãããŒ) ã§è¿œå æéãªãã§å©çšã§ããŸããéå§ããã«ã¯ãã¢ã«ãŠã³ãã§ãšã³ãªããã¡ã³ãã¬ã€ã€ãŒãæå¹ã«ããAmazon EKS ã¯ã©ã¹ã¿ãŒã« CloudWatch Observability ã¢ããªã³ããããã€ããŠãã ããã 翻蚳ã¯ãœãªã¥ãŒã·ã§ã³ã¢ãŒããã¯ãã®å€§è¥¿æãæ
åœããŸãããåæã¯ ãã¡ã ã§ãã èè
ã«ã€ã㊠Rodrigue Koffi AWS ã®ãªãã¶ãŒãããªãã£æ
åœã¹ãã·ã£ãªã¹ããœãªã¥ãŒã·ã§ã³ã¢ãŒããã¯ãã§ãããªãã¶ãŒãããªãã£ã忣ã·ã¹ãã ãæ©æ¢°åŠç¿ã«æ
ç±ãæã£ãŠããŸããDevOps ãšãœãããŠã§ã¢éçºã®ããã¯ã°ã©ãŠã³ãããããGo ã§ã®ããã°ã©ãã³ã°ã奜ã¿ãŸããä»äºä»¥å€ã§ã¯ãæ°Žæ³³ãå®¶æãšã®æéãæ¥œããã§ããŸããLinkedIn: /grkoffi
ã¿ãªãããããã«ã¡ã¯ãAWS ãœãªã¥ãŒã·ã§ã³ã¢ãŒããã¯ãã®å€å±ã§ãã æ¥ã
ã®ã客æ§ãšã®äŒè©±ã®äžã§ããæ¥å課é¡ã解決ããããã«æ°ããªæ©èœãã·ã¹ãã ã®éçºãå¿
èŠã§ã¯ããããå€éšãªãœãŒã¹ã確ä¿ããäœåããªããèªç€Ÿã«ååãªãšã³ãžãã¢ãããªãããå®çŸãé£ããããšããã声ãããã ããŸããåæ§ã®ãæ©ã¿ããæã¡ã®æ¹ãå°ãªããªãã®ã§ã¯ãªãã§ããããã è¿å¹Žããããã£ãç¶æ³ã«å¯ŸããŠã Amazon Bedrock ã Amazon Q Developer ãã¯ãããšãã AWS ã®çæ AI ãµãŒãã¹ã®ç»å Žã«ãããéãããéçºãªãœãŒã¹ã®äžã§ããæ¥åãæãããç¥ãçŸå Žã®æ
åœè
èªèº«ã課é¡è§£æ±ºã®ä»çµã¿ãæ§ç¯ã§ããç°å¢ãæŽãã€ã€ãããŸãã ä»åã¯ããŸãã«çæ AI ãæŽ»ãããéãšã³ãžãã¢ã®ã¡ã³ããŒãäžå¿ãšãªã£ãŠå¥çŽæžç®¡ç AI ãšãŒãžã§ã³ããæ§ç¯ãããå€§ææ ªåŒäŒç€Ÿæ§ã®äºäŸãã玹ä»ããŸããæ¬äºäŸã§ã¯ãAmazon Q Developer ã«ããããã°ã©ãã³ã°çµéšãéãããã¡ã³ããŒã§ã AWS äžã§ã®ã·ã¹ãã æ§ç¯ãå¯èœãšãªããããã« Amazon Bedrock ãå©çšããããšã§ã€ã³ãã©æ§ç¯ãéçšç®¡çãªãã« Claude ã®ãããªé«æ§èœãªåºç€ã¢ãã«ã API äžã€ã§åŒã³åºãããããåŸæ¥æäœæ¥ã§æ°ååããã£ãŠããæ
å ±æœåºãæ°åã«ççž®ããä»çµã¿ãçæéã§å®çŸããã ããŸããã ã客æ§ã®ç¶æ³ãšçµç·¯ å€§ææ ªåŒäŒç€Ÿæ§ïŒä»¥äžãå€§ææ§ïŒã¯ãããã«ããŒã¿ã«ãœãªã¥ãŒã·ã§ã³ããæ²ãããã¡ã·ãªãã£ãããžã¡ã³ããããããã£ãããžã¡ã³ããäžåç£æè³äºæ¥ãä¿®ç¹å·¥äºãæ¹ä¿®å·¥äºãªã©ã®å»ºç¯äºæ¥ãå±éããç·åãµãŒãã¹äŒæ¥ã§ãã å€§ææ§ã®ããããã£ãããžã¡ã³ãæ¥åã§ã¯ããã«ãªãŒããŒæ§ãããã³ãæ§ãšã®éã§ç· çµããã倿°ã®å¥çŽæžãæ¥åã®æ ¹å¹¹ããªããŠããŸããããããªãããåŸæ¥ã®å¥çŽæžç®¡çã§ã¯ã以äžã®èª²é¡ãååšããŠããŸããã å¥çŽæžã®æ€çŽ¢ãæäœæ¥ã«äŸåããŠãããå¿
èŠãªæ
å ±ãèŠã€ããããã«è€æ°ã® PDF ãéããŠç®èŠã§ç¢ºèªããå¿
èŠããã ããã³ãæ§ããšã«å¥çŽå
容ã®ä»æ§ãç°ãªãããããã«åãããã³ãåã ãã§ã¯ç®çã®å¥çŽæžã«ãã©ãçããªãå Žåããã ãã«ãªãŒããŒæ§ããã®åãåããã«å¯Ÿããå¥çŽæžã®ç¹å®ããæ
å ±ç¢ºèªãåçãŸã§ã«å€ãã®æéãèŠããè¿
éãªé¡§å®¢å¯Ÿå¿ã®åŠšããšãªã£ãŠãã ãããã®èª²é¡ã解決ãããããæ¥åæ¹åãã·ã¹ãã 婿޻çšãæ
åœããŠãã IT æŠç¥æšé²å®€ãæ¬åãçµã¿ã«åå ããŸãããå€§ææ§ã§ã¯ç€Ÿå
SEãå
補éçºãè¡ããšã³ãžãã¢ãæããŠããªããããåéšã«ãŠçæ AI ãæŽ»çšããå¥çŽæžç®¡çã·ã¹ãã ã®æ§ç¯ãæ€èšãããããšã«ãªããŸããã ãœãªã¥ãŒã·ã§ã³ïŒæ§æå
容 æ¬ãããžã§ã¯ãã§ã¯ãéãšã³ãžãã¢ã®ãããžã§ã¯ããããŒãžã£ãŒãäžå¿ãšãªããAmazon Q Developer ã®æ¯æŽãåããªããã·ã¹ãã ãæ§ç¯ããŸãããAmazon Q Developer ã¯èªç¶èšèªã§ã®æç€ºã«åºã¥ããŠã³ãŒããçæãã AI ã¢ã·ã¹ã¿ã³ãã§ãããããã°ã©ãã³ã°çµéšãéãããæ
åœè
ã§ãå®çšçãªã·ã¹ãã ãæ§ç¯ã§ããŸãã æ¬ã·ã¹ãã ã§ã¯ãAmazon Bedrockã AWS Lambda ã Amazon S3 ã Amazon DynamoDB ãçµã¿åãããŠæŽ»çšããŠããŸããAmazon Bedrock ã¯çæ AI ã®äžæ žãæ
ããAnthropic 瀟㮠Claude AI ã¢ãã«ãéããŠå¥çŽæž PDF ã®è§£æãšéèŠæ
å ±ã®æœåºãå®è¡ããŸãã Amazon Bedrock + Claude ãæ¡çšãããã€ã³ããšããŠãClaude ã®é«åºŠãªææžçè§£èœåãæããããŸããå¥çŽæžã¯æ³çãªå°éçšèªãå«ãè€éãªææžã§ãããããã³ãæ§ããšã«ãã©ãŒããããç°ãªããŸãããClaude 㯠PDF ãªã©ã®éæ§é åããŒã¿ããæèãçè§£ããäžã§å¿
èŠãªæ
å ±ãæ£ç¢ºã«æœåºã§ããŸãããŸããAWS Lambda ãäžå¿ãšãããµãŒããŒã¬ã¹ã¢ãŒããã¯ãã£ã«ãããéãšã³ãžãã¢ãäžå¿ã®ããŒã ã§ãã€ã³ãã©ç®¡çã«ç
©ããããããšãªãã·ã¹ãã ãéçšã§ããç¹ããããŠæ¥åžžçã«äœ¿çšããŠãã Slack ãšã®çµ±åã容æã§å°å
¥æã®ç§»è¡éå£ãäœãæããããç¹ããAWS ãéžæãããçç±ã§ãã å°å
¥å¹æ å®éã«ãå©çšããã ããçµæã以äžã®ãããªå¹æãåŸãããŠããŸãã å¥çŽæžããã®æ
å ±æœåºã«ãããäœæ¥æéã çŽ 70ã80% åæž ãåŸæ¥ 1 ä»¶ãããæ°ååãèŠããŠããäœæ¥ãæ°åã§å®äº å°æ¥çã«ã¯ãCSV 圢åŒã§ã®ããŒã¿åºåæ©èœãå®è£
ããå¥çŽæžæ
å ±ã®äžæ¬ç®¡çããã³åæãå¯èœãšããä»çµã¿ã®æ§ç¯ãæ€èš AI ã«ããè§£æã§æ
å ±æœåºã®ç²ŸåºŠãšäžè²«æ§ãåäžãã人æã«ããèŠèœãšãã誀èªã®ãªã¹ã¯ãäœæž Slack äžã®ã·ã³ãã«ãªã¯ãŒã¯ãããŒã«ãããåŸæ¥å¡ã®åãå
¥ããã¹ã ãŒãºã« ãŸããéãšã³ãžãã¢ã§ã Amazon Q Developer ã®æ¯æŽã«ãã AWS ã®åçš®ãµãŒãã¹ãçµã¿åãããå®çšçãªã·ã¹ãã ãæ§ç¯ã§ããããšãå®èšŒãããããšã«ãããä»ã®æ¥åé åã§ãçæ AI ãæŽ»çšããæ¥åæ¹åã®åãçµã¿ãå§ãŸããã£ãããšãªã£ãŠããŸãã å€§ææ§ã§ã¯ä»åã®æåãèžãŸããå¥çŽæžã®èªåèŠçŽæ©èœãèªç¶èšèªã§ã®é«éæ€çŽ¢æ©èœã®è¿œå ãæ€èšãããŠããŸããããã«ãæœèšç®¡çå ±åæžã®èªåçæãã¡ã³ããã³ã¹èšé²ã®åæãªã©ãããããã£ãããžã¡ã³ãæ¥åå
šè¬ã§ã® AI æŽ»çšæ¡å€§ãèšç»ãããŠããŸãã ã客æ§ã®å£° å€§ææ ªåŒäŒç€Ÿ IT æŠç¥æšé²å®€ ç³å· éè¯æ§ããã¯ããAWS ã®ãµãŒãã¹ã䜿ãããšã§éãšã³ãžãã¢ã§ã宿¥åã®èª²é¡ãèªãã®æã§è§£æ±ºã§ããåã³ã宿ããŸãããããšã®ã³ã¡ã³ããããã ããŠããŸãã ãŸãšã ä»åã¯å€§ææ§ã Amazon Bedrock ãš Amazon Q Developer ãæŽ»çšããéãšã³ãžãã¢ã®æã§å¥çŽæžç®¡ç AI ãšãŒãžã§ã³ããæ§ç¯ãããäºäŸãã玹ä»ããŸãããClaude ã®é«åºŠãªææžçè§£èœåãšãµãŒããŒã¬ã¹ã¢ãŒããã¯ãã£ã®çµã¿åããã«ãããå°éçãªéçºãªãœãŒã¹ããªããŠãå®çšçãªæ¥åæ¹åã·ã¹ãã ãå®çŸãããŠããŸããã¹ã¢ãŒã«ã¹ã¿ãŒãã§ç¢ºå®ã«ææãåºãã¢ãããŒãã¯ãããããçæ AI 掻çšãæ€èšãããäŒæ¥ã«ãšã£ãŠãåèã«ãªãåãçµã¿ã§ãã çæ AI ãæŽ»çšããæ¥åæ¹åã«ãèå³ããæã¡ã®ã客æ§ã¯ããã² AWS ãŸã§ãåãåãããã ããã å€§ææ§ IT æŠç¥æšé²å®€ æšé²èª² 課é·ãç°å³¶ å®çŸ IT æŠç¥æšé²å®€ æŠç¥èª² 䞻任ãç³å· éè¯ IT æŠç¥æšé²å®€ æšé²èª² 䞻任ãéå ç±äœ³ Account TeamïŒ ãœãªã¥ãŒã·ã§ã³ã¢ãŒããã¯ããæ£® çèŒ ã¢ã«ãŠã³ããããŒãžã£ãŒãæ€æšãèŒ èšäºå·çïŒ ãœãªã¥ãŒã·ã§ã³ã¢ãŒããã¯ããå€å±ãæ¥
ã¯ããã« BASE Order Section ã§Webã¢ããªã±ãŒã·ã§ã³ãšã³ãžã㢠ãããŠãã Capi(ããŽ) ã§ãã 2026/3/20ïŒéïŒ- 3/22ïŒæ¥ïŒã®3æ¥éãBASEæ ªåŒäŒç€ŸããŽãŒã«ãã¹ãã³ãµãŒãšããŠåè³ãã PHPerKaigi 2026 ãéå¬ãããŸãããä»åã¯PHPerKaigi 2026ã«åå ããã¡ã³ããŒã®ã³ã¡ã³ããææ³ããå±ãããŸãïŒ PHPerKaigiãšã¯ PHPerKaigiã¯ããªãŒãã³ãœãŒã¹ã®ã¹ã¯ãªããèšèª PHP ïŒæ£åŒåç§° PHP:Hypertext PreprocessorïŒã䜿çšããŠããæ¹ãéå»ã«PHPã䜿çšããŠããæ¹ãããããPHPã䜿ããããšæã£ãŠããæ¹ããããŠPHPã倧奜ããªæ¹ãã¡ããæè¡çãªããŠããŠãšPHPæãå
±æããããã®ã€ãã³ãã§ããã³ãã¥ããã£è²¢ç®æŽ»åã®äžç°ãšããŠãä»å¹ŽããŽãŒã«ãã¹ãã³ãµãŒãšããŠåè³ããŸããã ç»å£è
ã³ã¡ã³ã å·å³¶æ
§ ã¢ãžã¥ã©ã¢ããªã¹ãå°å
¥ããŠãã4幎ãçµã¡ããããããçãåãããã§ããã®ã§ã¯ããšããæ°æã¡ã§ä»åã®çºè¡šã«èšã¿ãŸããã ãäœã解決ããããšããŠããã®ãåãããªããŸãŸãã€ã¯ããµãŒãã¹ïŒorã¢ãžã¥ã©ã¢ããªã¹ïŒãéå§ããããšããã®ã¯ã»ãšãã©æªãã¢ã€ãã£ã¢ã ããšãããæè¡äž»å°ã¯å€§æµèª€ãã§ãããšããæèãïŒå¹Žåãããã£ãšæã£ãŠæãã§ããŸãããçµæçã«æããããªãã€ãŸã¥ãããããŸããããç¡äºã«è§£æ±ºããã¹ãIssueã®è§£å床ãäžãã£ãïŒå¹Žéã§ããã ã¹ã©ã€ãäžã§ã¯ãAIã«èŠçŽãããªããèªãããšãæšå¥šããšæžããã®ã§ãããã¢ããããŒãåŸã«è©ŠããŠã¿ããšãæå€ãªããšã«ChatGPTãGeminiã§ã¯äœåºŠèšæ£ãããŠãå
šãéãå
容ãè¿ã£ãŠããŸãããã©ããã100æè¶
ã®ã¹ã©ã€ããAIã«èŠçŽãããã®ã¯ãŸã é£ããããã§ããClaudeãšNotebookLMã ãšããçšåºŠããŸããã£ãŠãããŸãã å人çã«ã¯ããªãçæã§ããããã»ã©ã®æéãèªããšã³ãžãã¢ã¯ä»ã®æä»£ã«ãŸãããªãã®ã§ãã»ãšãã©ã®äººã«å±ããªãå
容ã«ãªã£ãŠããŸã£ããšæããŸããã¹ã©ã€ããèªãéã¯ãèªèº«ã®ç®ã§ãã£ããèªãã§ããã ãããåç»ãèŠãããClaudeãŸãã¯NotebookLMãããã«ã«ãé¡ãããã®ãããããã§ãïŒåäººã®ææ³ã§ãïŒã speakerdeck.com ããã°ã©ãã³ã°ããããã³ã ã»ãŒã«éå§ã®ãããã®ããã©ãŒãã³ã¹ãããŒã ã§æ¹åãããšãã話ãå
±æããŸãããçºè¡šåŸã«ããã¡ã§ãé
ãããããããããšãã話ãèããããããã£ããé
ãããšã«æ°ã¥ããŠæ¹åã«æã£ãŠãããäœå¶ãäœãããŠããã®ãçŽ æŽãããããšãè€ãã®èšèãããã ãããããŸããã ç¹ã«ãã¹ãã¢ãŒãã å
±æäŒããã£ãŠãããšããããšãä»åã®ãããã®æ¹åã®èµ·ç¹ã«ãªã£ãã®ã§ããããã®åãçµã¿ããšãŠãè¯ããšèšã£ãŠãããããšãå€ãããã¹ãã¢ãŒãã å
±æäŒãå¥ã®ã¡ã³ããŒãå§ããŠããã®ã§å€§å€ããããããªãšæã£ãŠããŸãã ã¹ã©ã€ãã®æåŸã®æ¹ã§ãè§ŠããŸããããä»åã®çºè¡šãæ©ã«ããäžæ®µæ¹åã§ãããšãããèŠçŽãããšæãã®ã§ãããã«æ©ãã§ããã®ã§ã¯ãªãããªãšæã£ãŠããŸããåœæ¥çºè¡šãèãã«æ¥ãŠãã ãã£ãæ¹ãããããšãããããŸãããããã§ãªãæ¹ããã²ã¹ã©ã€ããäžåºŠã芧ãã ãããçæ§ã®ã圹ã«ç«ãŠãã°å¹žãã§ãã speakerdeck.com 02 PHP8.5ã«è¿œå ãããarray_first / array_lastã®æŽå²çèæ¯ã«ã€ããŠè©±ããŸããã5åãšããçãæéã§7幎åã®è°è«ã®æµãã远ããŸããããéèŠãªè©±ã¯ã§ããã ãåããã«äŒãããããšæããŸãã ããŸããŸãªèгç¹ããè°è«ãéããŠæªè§£æ±ºã®çåããªããå¿
èŠãããäžæ¹ã§ãçºæ£ããè°è«ã¯ã¹ã³ãŒããçµã£ãããç¹å®ã®èгç¹ãéèŠããŠä»æ§ã決ãããã»ã»ã»ä»äºã®é²ãæ¹ããã¡ã·ãªããŒã·ã§ã³ããããžã¡ã³ããªã©ãæ®æ®µã®ãããã¯ãéçºã§éèŠãªåããRFCã®æ¡æã«ãããŠãéèŠã ãšããææãæããŸããã PHP Internalsã®è°è«ã®æµãã远ãäžã§åŠã³ãå€ããä»åã®array_first / array_last以å€ã®è°è«ã远ã£ãŠã¿ãããšæããŸãããèå³ãæã£ãçãããããŸãã¯åèæç®ã®URLããarray_first / array_lastã®è°è«ã远ã£ãŠã¿ãŠãã ããïŒ speakerdeck.com ãã³ãã¬ããèšäºå·çè
ã³ã¡ã³ã meihei ãã«ã³ãã¡ã¬ã³ã¹ãçµãã£ãããšã«ããšãããã³ãã¬ãããå¯çš¿ããŸãããå
æ¥ã®PHPerKaigiã§ã¯å€ãã®åŠã³ããã£ãããšæããŸããããããèªåã®äžã§ããŸãããŒã ã¡ã³ããŒãšãšãã«ç¥èãšããŠåæ§ç¯ããä»åŸããŸããŸãªæ©äŒã§æŽ»ãããæŠåšã«ããŠãããããå¬ããã§ãã ãã³ãã¬ããã¯ãã³ã¬ã§è§£èª¬ããŠããŸãã®ã§ããæ°è»œã«ãèªã¿ãã ããïŒ çŸå°ã§èŠãã»ãã·ã§ã³ãäžéšçŽ¹ä» åœæ¥ã€ãã³ãã«åå ããèªåå«ãåŒç€Ÿã¡ã³ããŒãçŸå°ã§èŠãã»ãã·ã§ã³ã®ãã¡ç¹ã«æ°ã«ãªã£ãã»ãã·ã§ã³ã®ã¬ããŒãã§ãïŒ 1. ãæ¥ç¶ãâããã©ãŒãã³ã¹ãã¥ãŒãã³ã°ã®æåŸã®äžæ ãç¹ãšç¹ãçµã¶ããã®äžç¬ã®ããã«ã by æŠç° æ²å€ªéãã é«ãã©ãã£ãã¯ãæãæè¡çãªè§£æ±ºãèªä¿¡æã£ãŠè¡ãããã«ã§ããããšã玹ä»ããŠããã ããŸãããã¢ããªã±ãŒã·ã§ã³ã³ãŒããããããã«ãŠã§ã¢ã®è©±ãäžå¿ã§ããã Keep AliveãPersistent Connectionãã³ãã¯ã·ã§ã³ããŒã«âŠ åèªã¯ç¥ã£ãŠããããã©èªåã䜿ãããªããŠããªããã®ãããããåºãŠããŠéåžžã«å匷ã«ãªããŸãããã¹ã©ã€ãã«ã¯å³ãã°ã©ããã³ãŒããæ·»ä»ãããŠããã®ã§é£ããå
容ã§ãçè§£ããããã£ãã§ããèå³ã®ããæ¹ã¯ãã²ã¹ã©ã€ãã ãã§ãã¿ãŠããã ãããã§ãããªã¹ã¹ã¡ã§ãã èªåã¯ç»å£ã®äžã§æŠç°ããããã£ããã£ãŠãããèšæž¬ã¯ä»®èª¬ãæã£ãŠè¡ãããšããèšèãå°è±¡ã«æ®ã£ãŠããŸãããŸããç»å£ãèããªããã·ã¹ãã ã®æ¥ç¶ã¯ãšãŠãå¥¥ãæ·±ãæè¡è
ã®è
ã®èŠãæãªã®ã§ã¯ãªãããšèããŸããã (BASE Order Section @Capi) 2. ããã°ã©ãã³ã°èšèªè«ããèŠãPHPã®æ£äœ by ããã¿ããããã ãPHPãã©ããªæŽå²ãç©ã¿éããä»ã®æžãæ¹ã«ãªã£ãã®ãããçŽè§£ããŠãããŸãããPHPããããµãèšèªãšããã®ã¯èªåããªããšãªãçè§£ããŠããŸãããæ³å以äžã«ãããµãèšèªã§ããããšãç¥ããPHPããããå床èªèããè¯ãæ©äŒã«ãªããŸããã ãŸããç»å£ã®äžã§ã¯PHPäœè
Rasmus Lerdorf(ã©ã¹ãã¹ã»ã©ãŒãã)æ°ã®çºèšãåãäžããŠããŸãããèšèªäœè
ã®äººãšãªããç¥ãã®ãé¢çœããªãšç»å£ãèããªããèããŸããããªãèšèªãäœãããã®ããã©ããªææ³ã§èšèªãæé·ããŠããã®ããç¥ãããšã§ãã®èšèªãžã®æçã匷ãŸããŸãã ç»å£ã§åºãŠãããã®ã¹ã©ã€ããèªåã¯å¥œãã§ãç¬ (BASE Order Section @Capi) 3. 俺ã®/ç§ã®æåŒ·ã¢ãŒããã¯ãã£æ±ºå®æŠéå¬ â ããŒã ã§æ°ããã¢ãŒããã¯ãã£ã«é©åããŠããããã« by 髿©çŽèŠãã æç¶å¯èœãªããŒã éçºãç®æãäžã§ããã¢ãŒããã¯ãã£ãå·æ°ããå¿
èŠããããããããããŠã³ã§æ±ºããã®ã¯é¿ãããããšããèæ¯ããããæåŒ·ã¢ãŒããã¯ãã£æ±ºå®æŠããéå¬ãããšããå
容ã®ã©ã€ããã³ã°ããŒã¯ã§ããã 2人çšåºŠã§äŒŒããããªã€ãã³ããéå¬ããããšã¯ãããŸããããçµéšå€ã«å·®ãããããŒã ã§å®æœããããšã¯ãªãã£ãããããã¹ãŠã®åŠçãç¥ã¡ãœããã§å®çŸããããšããææ¡ã®ããŒãã«ãäžããããã®å·¥å€«ããã€ãã³ãã®æµããªã©éçºããŒã ã®éå¶ã«ãããŠå€§å€åèã«ãªãå
容ãå€ãã£ãã§ããïŒPay ID Engineering Section å²¡éš @rerenoteïŒ 4.AIæä»£ã®è³ç²åŒãšåãåã ~èšèªåŠãšããŠã®PHP~ by ãããããã æ¥ã
ã®æ¥åã®äžã§ãäœãããAIãšãããšãããæ©äŒãå¢ããŠããŸãããã®äžã§ãæœè±¡çãªå
容ãå
·äœçãªè¡šçŸã«èœãšã蟌ãå Žé¢ã以åããå€ããªã£ãŠãããšæããŠããŸããããŸããAIãšé·æéãããšãããåŸã«åŒ·ãç²åŽæãèŠããããšãå¢ããŠããŠããŸãã ãã®ã©ã€ããã³ã°ããŒã¯ã§ã¯ãããããç²ããã©ãããçããã®ãããããŠãã®å¯Ÿçã«ã€ããŠè§£èª¬ãããŠããŸããã察çã®äžã§ããæèããŠæéã䜿ãåãããã¯ããã«å®è·µã§ãããã ãšæããæ©éåãå
¥ããŠããŸãã以åãšæ¯ã¹ãŠãç²åŽæãèŠããå Žé¢ãå°ãªããªã£ãŠããããã«æããŠããŸããïŒPay ID Engineering Section å²¡éš @rerenoteïŒ ãããã« å»å¹Žã«åŒãç¶ãã¬ããŒã¿ãŒãšããŠPHPerKaigiã«åå ãããŠããã ããŸããã ä»å¹Žãåè³æŽ»åã瀟å¡ã®ã¹ããŒã«ãŒåå ãéã㊠PHPã³ãã¥ããã£ã®çãäžããã«è²¢ç®ã§ããåŒç€ŸãšããŠã倧倿æçŸ©ãªæéãšãªããŸããã ã¹ã¿ããã®æ¹ã
ã«ã¯æ¥åã§ãå¿ããã«ãé¢ããããå€ãã®æéãã€ãã³ãæºåãžæ³šãã§ããã ããããšæããŸãããã®å ŽãåããŠåŸ¡ç€Œç³ãäžããŸãã
























