ããã«ã¡ã¯ãã€ã³ãã©ãšã³ãžãã¢ã®ç¶¿åŒã§ãã ä»å㯠AWS CloudFormation ã§ EC2ã»ALBã»RDS (Aurora) ã® CloudWatch ããã·ã¥ããŒããäœæããããšæããŸãã CloudWatch ããã·ã¥ããŒãã§ã¢ãã¿ãªã³ã°ãè¡ãããããç£èŠãããã¡ããªã¯ã¹ãå€ããããç°å¢æ¯ã«èšå®ããã®ãé¢åããšããçç±ã§æ¬é ãããŠããæ¹ãå€ãã®ã§ã¯ãªãã§ããããïŒ ç§ãäžèšã®çç±ã§ãªããªãæãåºããã«ããã®ã§ãããä»å CloudFormation ãçšããããšã§ããã解決ã§ããŸããã®ã§ãå®ãããã°åèã«ããŠé ããã°ãšæããŸãã å¯Ÿè±¡ã®æ¹ã¯ä»¥äžã®ãããªæ¹ã§ããããã EC2ã»ALBã»RDS (Aurora)ã CloudWatch ããã·ã¥ããŒã ã§ã¢ãã¿ãªã³ã°ããã CloudWatch ããã·ã¥ããŒããæåã§äœããããªã ç£èŠã®å
補åãæ€èšããŠãã ãã³ãã¬ãŒããã¡ã€ã«äœæ ã§ã¯æ©éãã³ãã¬ãŒããã¡ã€ã«ãäœæããŠãããŸãã æ¹ããŠã¢ãã¿ãªã³ã°å¯Ÿè±¡ã®ãµãŒãã¹ã¯ä»¥äžã§ãã EC2 ALB RDS (Aurora) 以äžã«ãœãŒã¹ãèšèŒããŸããããããEC2 ã ãã§ãããããALB ãš RDS (Aurora) ã ãã§ããããªã©ããã°äžèŠéšåãåã£ãŠé ããã°ãšæããŸãã ç£èŠé
ç®ãšã¡ããªã¯ã¹äžèЧ ä»åç£èŠããã¡ããªã¯ã¹ãäžèЧã«ããŸããã ç£èŠé
ç®ïŒèªåã§åæã«ã€ããŸããïŒãšå¯Ÿå¿ããã¡ããªã¯ã¹ãåå空éãèšèŒããŠããŸãã ã©ã®ãµãŒãã¹ã®ç£èŠé
ç®ãã¯åå空éãèŠãŠé ããã°ãšæããŸãã ç£èŠé
ç® åå空é ç£èŠã¡ããªã¯ã¹ EC2 CPU 䜿çšç AWS/EC2 CPUUtilization EC2 CPU ã¯ã¬ãžãããã©ã³ã¹ AWS/EC2 CPUCreditBalance EC2 ã¡ã¢ãªäœ¿çšç CWAgent mem_used_percent EC2 swap 䜿çšç CWAgent swap_used_percent EC2 ãã£ã¹ã¯èªã¿åãåæ° CWAgent diskio_reads EC2 ãã£ã¹ã¯æžã蟌ã¿åæ° CWAgent diskio_writes EC2 ãã£ã¹ã¯I/O æé CWAgent diskio_io_time EC2 ãã£ã¹ã¯äœ¿çšç CWAgent disk_used_percent EC2 ã¹ããŒã¿ã¹ãã§ãã¯å€±æ AWS/EC2 StatusCheckFailed “ “ StatusCheckFailed_Instance “ “ StatusCheckFailed_System ALB æ£åžžã¿ãŒã²ããæ° AWS/ApplicationELB HealthyHostCount ALB ãªã¯ãšã¹ãæ° AWS/ApplicationELB RequestCount ALB ã¿ãŒã²ããã®å¿çæé (ç§) AWS/ApplicationELB TargetResponseTime ALB æå¹æ¥ç¶æ° AWS/ApplicationELB ActiveConnectionCount ALB æ°èŠæ¥ç¶æ° AWS/ApplicationELB NewConnectionCount ALB ããã»ã¹ããããã€ãæ° AWS/ApplicationELB ProcessedBytes ALB æ¥ç¶ãšã©ãŒæ° (ALB æå€§æ¥ç¶è¶
é) AWS/ApplicationELB RejectedConnectionCount ALB æ¥ç¶ãšã©ãŒæ° (LB – ã¿ãŒã²ããé) AWS/ApplicationELB TargetConnectionErrorCount ALB TLSæ¥ç¶ãšã©ãŒæ° (ã¯ã©ã€ã¢ã³ã – LBé) AWS/ApplicationELB ClientTLSNegotiationErrorCount ALB TLSæ¥ç¶ãšã©ãŒæ° (LB – ã¿ãŒã²ããé) AWS/ApplicationELB TargetTLSNegotiationErrorCount ALB ELB 3XX (ã«ãŠã³ã) AWS/ApplicationELB HTTPCode_ELB_3XX_Count ALB ELB 4XX (ã«ãŠã³ã) AWS/ApplicationELB HTTPCode_ELB_4XX_Count ALB ELB 5XX (ã«ãŠã³ã) AWS/ApplicationELB HTTPCode_ELB_5XX_Count Aurora CPU 䜿çšç AWS/RDS CPUUtilization Aurora DatabaseConnections AWS/RDS DatabaseConnections Aurora 空ãã¡ã¢ãªå®¹é AWS/RDS FreeableMemory Aurora CPU ã¯ã¬ãžãããã©ã³ã¹ AWS/RDS CPUCreditBalance Aurora ã¯ãšãªå®è¡åæ° (ç§) AWS/RDS Queries Aurora ãããããã¯åæ° (ç§) AWS/RDS Deadlocks Aurora Select ã¬ã€ãã³ã·ãŒ AWS/RDS SelectLatency Aurora Insert ã¬ã€ãã³ã·ãŒ AWS/RDS InsertLatency Aurora Update ã¬ã€ãã³ã·ãŒ AWS/RDS UpdateLatency Aurora Commit ã¬ã€ãã³ã·ãŒ AWS/RDS CommitLatency Aurora Delete ã¬ã€ãã³ã·ãŒ AWS/RDS DeleteLatency æ§æãç°å¢ãªã©ã«ãã£ãŠç£èŠãããã¡ããªã¯ã¹ãç°ãªãããšã¯æããŸãã®ã§ãå¿
èŠãªã¡ããªã¯ã¹ããªãã£ãããäžèŠãªã¡ããªã¯ã¹ãããå Žåã¯ãä»»æã§ã«ã¹ã¿ãã€ãºããŠé ããã°ãšæããŸãã ãŸããEC2 ã¹ããŒã¿ã¹ãã§ãã¯å€±æãã®ã¿ãã€ã³ã¹ã¿ã³ã¹ã¹ããŒã¿ã¹ãã§ãã¯ãšãã·ã¹ãã ã¹ããŒã¿ã¹ãã§ãã¯ã®ã©ã¡ãã§å€±æããŠããããææ¡ãããã£ããããè€æ°ã®ç£èŠã¡ããªã¯ã¹ãæå®ããŠããŸãã ãã³ãã¬ãŒããã¡ã€ã« 次ã¯å®éã®ãã³ãã¬ãŒããã¡ã€ã«ã§ãã ä»åã yaml ã§èšèŒããŠããŸãã åºæ¬çã«å¯å€éšåã¯ãParametersããçšããããšã§å
±æåããŠãããããParameters éšåãç°å¢ã«åãããŠå€æŽããã ããã°åé¡ãªããšæããŸãã ãŸã念ã®ãããCloudFormation åŽãæåããŠããããã·ã¥ããŒãåŽã§åé¡ãªãã¡ããªã¯ã¹ã衚瀺ãããŠãããã確èªããã ãããšééããªãããšæããŸãã 倿Žç¹ã»æ³šæç¹ã以äžã«èšèŒããŸãã®ã§ã確èªãã ããã ç°å¢ã«åãããŠãParametersãã® XXXX éšåãå€æŽ ãEC2 ãã£ã¹ã¯ãé¢é£é
ç®ã® name,device ã®ãnvme0n1ããšãfstype ã®ãxfsãã¯å¿
èŠã«å¿ããŠå€æŽ CloudFormation æååŸã«ããã·ã¥ããŒãåŽãã¡ãããšç¢ºèª AWSTemplateFormatVersion: '2010-09-09' Description: CloudWatch Dashboard ##################################################################### # Parameters èšå® ##################################################################### Parameters: Ec2InstanceId: Description: Ec2 InstanceId Type: AWS::EC2::Instance::Id Ec2ImageId: Description: Ec2 ImageId (AMIID) Type: String Default: ami-XXXXXXXXXXXX # EC2 ã® ImageId ãèšèŒ Ec2InstanceType: Description: Ec2 InstanceType Type: String Default: XXXXXX # ã€ã³ã¹ã¿ã³ã¹ã¿ã€ããèšèŒ AlbLoadBalancer: Description: AlbLoadBalancer Type: String Default: app/XXXXXX/XXXXXXXXXXX # ALB ã® ARN ãèšèŒ AlbTargetGroup: Description: ALB TargetGroup Type: String Default: targetgroup/XXXXXX/XXXXXXXXXXX # ã¿ãŒã²ããã°ã«ãŒãã® ARN ãèšèŒ RdsDBInstanceIdentifier: Description: RDS DBInstanceIdentifier Type: String Default: XXXXXX # DB ã¯ã©ã¹ã¿ãŒèå¥åãèšèŒ ##################################################################### # Resources èšå® ##################################################################### Resources: # CloudWatchããã·ã¥ããŒãã®å®çŸ© ##################################################################### # ããã·ã¥ããŒãèšå® ##################################################################### CWDashboard: Type: AWS::CloudWatch::Dashboard Properties: DashboardName: !Sub '${AWS::StackName}' DashboardBody: !Sub | { "widgets": [ { "type": "metric", "x": 0, "y": 0, "width": 12, "height": 6, "properties": { "view": "timeSeries", "stacked": false, "metrics": [ [ "AWS/EC2", "CPUUtilization", "InstanceId", "${Ec2InstanceId}" ] ], "region": "ap-northeast-1", "yAxis": { "left": { "min": 0, "max": 100 } }, "title": "EC2 CPU 䜿çšç" } }, { "type": "metric", "x": 12, "y": 0, "width": 12, "height": 6, "properties": { "view": "timeSeries", "stacked": false, "metrics": [ [ "AWS/EC2", "CPUCreditBalance", "InstanceId", "${Ec2InstanceId}" ] ], "region": "ap-northeast-1", "title": "EC2 CPU ã¯ã¬ãžãããã©ã³ã¹" } }, { "type": "metric", "x": 0, "y": 6, "width": 12, "height": 6, "properties": { "view": "timeSeries", "stacked": false, "metrics": [ [ "CWAgent", "mem_used_percent", "InstanceId", "${Ec2InstanceId}", "ImageId", "${Ec2ImageId}", "InstanceType", "${Ec2InstanceType}" ] ], "region": "ap-northeast-1", "yAxis": { "left": { "min": 0, "max": 100 } }, "title": "EC2 ã¡ã¢ãªäœ¿çšç" } }, { "type": "metric", "x": 12, "y": 6, "width": 12, "height": 6, "properties": { "view": "timeSeries", "stacked": false, "metrics": [ [ "CWAgent", "swap_used_percent", "InstanceId", "${Ec2InstanceId}", "ImageId", "${Ec2ImageId}", "InstanceType", "${Ec2InstanceType}" ] ], "region": "ap-northeast-1", "title": "EC2 swap 䜿çšç" } }, { "type": "metric", "x": 0, "y": 12, "width": 12, "height": 6, "properties": { "view": "timeSeries", "stacked": false, "metrics": [ [ "CWAgent", "diskio_reads", "InstanceId", "${Ec2InstanceId}", "ImageId", "${Ec2ImageId}", "name", "nvme0n1", "InstanceType", "${Ec2InstanceType}" ] ], "region": "ap-northeast-1", "title": "EC2 ãã£ã¹ã¯èªã¿åãåæ°" } }, { "type": "metric", "x": 12, "y": 12, "width": 12, "height": 6, "properties": { "view": "timeSeries", "stacked": false, "metrics": [ [ "CWAgent", "diskio_writes", "InstanceId", "${Ec2InstanceId}", "ImageId", "${Ec2ImageId}", "name", "nvme0n1", "InstanceType", "${Ec2InstanceType}" ] ], "region": "ap-northeast-1", "title": "EC2 ãã£ã¹ã¯æžã蟌ã¿åæ°" } }, { "type": "metric", "x": 12, "y": 18, "width": 12, "height": 6, "properties": { "view": "timeSeries", "stacked": false, "metrics": [ [ "CWAgent", "diskio_io_time", "InstanceId", "${Ec2InstanceId}", "ImageId", "${Ec2ImageId}", "name", "nvme0n1", "InstanceType", "${Ec2InstanceType}" ] ], "region": "ap-northeast-1", "title": "EC2 ãã£ã¹ã¯I/O æé" } }, { "type": "metric", "x": 0, "y": 18, "width": 12, "height": 6, "properties": { "view": "timeSeries", "stacked": false, "metrics": [ [ "CWAgent", "disk_used_percent", "path", "/", "InstanceId", "${Ec2InstanceId}", "ImageId", "${Ec2ImageId}", "InstanceType", "${Ec2InstanceType}", "device", "nvme0n1p1", "fstype", "xfs" ] ], "region": "ap-northeast-1", "yAxis": { "left": { "label": "", "max": 100, "min": 0 } }, "title": "EC2 ãã£ã¹ã¯äœ¿çšç" } }, { "type": "metric", "x": 0, "y": 24, "width": 24, "height": 6, "properties": { "view": "timeSeries", "stacked": true, "metrics": [ [ "AWS/EC2", "StatusCheckFailed", "InstanceId", "${Ec2InstanceId}" ], [ ".", "StatusCheckFailed_Instance", ".", "." ], [ ".", "StatusCheckFailed_System", ".", "." ] ], "region": "ap-northeast-1", "title": "EC2 ã¹ããŒã¿ã¹ãã§ãã¯å€±æ" } }, { "type": "metric", "x": 0, "y": 30, "width": 12, "height": 6, "properties": { "view": "timeSeries", "stacked": false, "metrics": [ [ "AWS/ApplicationELB", "HealthyHostCount", "TargetGroup", "${AlbTargetGroup}", "LoadBalancer", "${AlbLoadBalancer}", "AvailabilityZone", "ap-northeast-1a" ] ], "region": "ap-northeast-1", "title": "ALB æ£åžžã¿ãŒã²ããæ°" } }, { "type": "metric", "x": 12, "y": 30, "width": 12, "height": 6, "properties": { "view": "timeSeries", "stacked": false, "metrics": [ [ "AWS/ApplicationELB", "RequestCount", "TargetGroup", "${AlbTargetGroup}", "LoadBalancer", "${AlbLoadBalancer}", "AvailabilityZone", "ap-northeast-1a" ] ], "region": "ap-northeast-1", "title": "ALB ãªã¯ãšã¹ãæ°" } }, { "type": "metric", "x": 0, "y": 42, "width": 12, "height": 6, "properties": { "view": "timeSeries", "stacked": false, "metrics": [ [ "AWS/ApplicationELB", "TargetResponseTime", "LoadBalancer", "${AlbLoadBalancer}", "AvailabilityZone", "ap-northeast-1a" ] ], "region": "ap-northeast-1", "title": "ALB ã¿ãŒã²ããã®å¿çæé (ç§)" } }, { "type": "metric", "x": 0, "y": 36, "width": 12, "height": 6, "properties": { "view": "timeSeries", "stacked": false, "metrics": [ [ "AWS/ApplicationELB", "ActiveConnectionCount", "LoadBalancer", "${AlbLoadBalancer}" ] ], "region": "ap-northeast-1", "title": "ALB æå¹æ¥ç¶æ°" } }, { "type": "metric", "x": 12, "y": 36, "width": 12, "height": 6, "properties": { "view": "timeSeries", "stacked": false, "metrics": [ [ "AWS/ApplicationELB", "NewConnectionCount", "LoadBalancer", "${AlbLoadBalancer}" ] ], "region": "ap-northeast-1", "title": "ALB æ°èŠæ¥ç¶æ°" } }, { "type": "metric", "x": 12, "y": 42, "width": 12, "height": 6, "properties": { "view": "timeSeries", "stacked": false, "metrics": [ [ "AWS/ApplicationELB", "ProcessedBytes", "LoadBalancer", "${AlbLoadBalancer}" ] ], "region": "ap-northeast-1", "title": "ALB ããã»ã¹ããããã€ãæ°" } }, { "type": "metric", "x": 0, "y": 48, "width": 12, "height": 6, "properties": { "view": "timeSeries", "stacked": false, "metrics": [ [ "AWS/ApplicationELB", "RejectedConnectionCount", "LoadBalancer", "${AlbLoadBalancer}" ] ], "region": "ap-northeast-1", "title": "ALB æ¥ç¶ãšã©ãŒæ° (ALB æå€§æ¥ç¶è¶
é)" } }, { "type": "metric", "x": 12, "y": 48, "width": 12, "height": 6, "properties": { "view": "timeSeries", "stacked": false, "metrics": [ [ "AWS/ApplicationELB", "TargetConnectionErrorCount", "LoadBalancer", "${AlbLoadBalancer}" ] ], "region": "ap-northeast-1", "title": "ALB æ¥ç¶ãšã©ãŒæ° (LB - ã¿ãŒã²ããé)" } }, { "type": "metric", "x": 12, "y": 54, "width": 12, "height": 6, "properties": { "view": "timeSeries", "stacked": false, "metrics": [ [ "AWS/ApplicationELB", "ClientTLSNegotiationErrorCount", "LoadBalancer", "${AlbLoadBalancer}" ] ], "region": "ap-northeast-1", "title": "ALB TLSæ¥ç¶ãšã©ãŒæ° (ã¯ã©ã€ã¢ã³ã - LBé)" } }, { "type": "metric", "x": 0, "y": 54, "width": 12, "height": 6, "properties": { "view": "timeSeries", "stacked": false, "metrics": [ [ "AWS/ApplicationELB", "TargetTLSNegotiationErrorCount", "LoadBalancer", "${AlbLoadBalancer}" ] ], "region": "ap-northeast-1", "title": "ALB TLSæ¥ç¶ãšã©ãŒæ° (LB - ã¿ãŒã²ããé)" } }, { "type": "metric", "x": 0, "y": 60, "width": 6, "height": 6, "properties": { "view": "timeSeries", "stacked": false, "metrics": [ [ "AWS/ApplicationELB", "HTTPCode_ELB_3XX_Count", "LoadBalancer", "${AlbLoadBalancer}" ] ], "region": "ap-northeast-1", "title": "ALB ELB 3XX (ã«ãŠã³ã)" } }, { "type": "metric", "x": 6, "y": 60, "width": 6, "height": 6, "properties": { "view": "timeSeries", "stacked": false, "metrics": [ [ "AWS/ApplicationELB", "HTTPCode_ELB_4XX_Count", "LoadBalancer", "${AlbLoadBalancer}" ] ], "region": "ap-northeast-1", "title": "ALB ELB 4XX (ã«ãŠã³ã)" } }, { "type": "metric", "x": 12, "y": 60, "width": 6, "height": 6, "properties": { "view": "timeSeries", "stacked": false, "metrics": [ [ "AWS/ApplicationELB", "HTTPCode_ELB_5XX_Count", "LoadBalancer", "${AlbLoadBalancer}" ] ], "region": "ap-northeast-1", "title": "ALB ELB 5XX (ã«ãŠã³ã)" } }, { "type": "metric", "x": 0, "y": 66, "width": 12, "height": 6, "properties": { "view": "timeSeries", "stacked": false, "metrics": [ [ "AWS/RDS", "CPUUtilization", "DBClusterIdentifier", "${RdsDBInstanceIdentifier}" ] ], "region": "ap-northeast-1", "title": "Aurora CPU 䜿çšç" } }, { "type": "metric", "x": 0, "y": 72, "width": 12, "height": 6, "properties": { "view": "timeSeries", "stacked": false, "metrics": [ [ "AWS/RDS", "DatabaseConnections", "DBClusterIdentifier", "${RdsDBInstanceIdentifier}" ] ], "region": "ap-northeast-1", "title": "Aurora DatabaseConnections" } }, { "type": "metric", "x": 12, "y": 72, "width": 12, "height": 6, "properties": { "view": "timeSeries", "stacked": false, "metrics": [ [ "AWS/RDS", "FreeableMemory", "DBClusterIdentifier", "${RdsDBInstanceIdentifier}" ] ], "region": "ap-northeast-1", "title": "Aurora 空ãã¡ã¢ãªå®¹é" } }, { "type": "metric", "x": 12, "y": 66, "width": 12, "height": 6, "properties": { "view": "timeSeries", "stacked": false, "metrics": [ [ "AWS/RDS", "CPUCreditBalance", "DBClusterIdentifier", "${RdsDBInstanceIdentifier}" ] ], "region": "ap-northeast-1", "title": "Aurora CPU ã¯ã¬ãžãããã©ã³ã¹" } }, { "type": "metric", "x": 0, "y": 78, "width": 12, "height": 6, "properties": { "view": "timeSeries", "stacked": false, "metrics": [ [ "AWS/RDS", "Queries", "DBClusterIdentifier", "${RdsDBInstanceIdentifier}" ] ], "region": "ap-northeast-1", "title": "Aurora ã¯ãšãªå®è¡åæ° (ç§)" } }, { "type": "metric", "x": 12, "y": 78, "width": 12, "height": 6, "properties": { "view": "timeSeries", "stacked": false, "metrics": [ [ "AWS/RDS", "Deadlocks", "DBClusterIdentifier", "${RdsDBInstanceIdentifier}" ] ], "region": "ap-northeast-1", "title": "Aurora ãããããã¯åæ° (ç§)" } }, { "type": "metric", "x": 0, "y": 84, "width": 12, "height": 6, "properties": { "view": "timeSeries", "stacked": false, "metrics": [ [ "AWS/RDS", "SelectLatency", "DBClusterIdentifier", "${RdsDBInstanceIdentifier}" ] ], "region": "ap-northeast-1", "title": "Aurora Select ã¬ã€ãã³ã·ãŒ" } }, { "type": "metric", "x": 12, "y": 84, "width": 12, "height": 6, "properties": { "view": "timeSeries", "stacked": false, "metrics": [ [ "AWS/RDS", "InsertLatency", "DBClusterIdentifier", "${RdsDBInstanceIdentifier}" ] ], "region": "ap-northeast-1", "title": "Aurora Insert ã¬ã€ãã³ã·ãŒ" } }, { "type": "metric", "x": 12, "y": 90, "width": 12, "height": 6, "properties": { "view": "timeSeries", "stacked": false, "metrics": [ [ "AWS/RDS", "UpdateLatency", "DBClusterIdentifier", "${RdsDBInstanceIdentifier}" ] ], "region": "ap-northeast-1", "title": "Aurora Update ã¬ã€ãã³ã·ãŒ" } }, { "type": "metric", "x": 0, "y": 90, "width": 12, "height": 6, "properties": { "view": "timeSeries", "stacked": false, "metrics": [ [ "AWS/RDS", "CommitLatency", "DBClusterIdentifier", "${RdsDBInstanceIdentifier}" ] ], "region": "ap-northeast-1", "title": "Aurora Commit ã¬ã€ãã³ã·ãŒ" } }, { "type": "metric", "x": 0, "y": 96, "width": 12, "height": 6, "properties": { "view": "timeSeries", "stacked": false, "metrics": [ [ "AWS/RDS", "DeleteLatency", "DBClusterIdentifier", "${RdsDBInstanceIdentifier}" ] ], "region": "ap-northeast-1", "title": "Aurora Delete ã¬ã€ãã³ã·ãŒ" } } ] } å®éã®ãœãŒã¹ ãœãŒã¹ã¯ä»¥äž GitHub ã«äžããŠãããŸããã®ã§å®ãããã°ã䜿ããã ããã GitHub : CloudFormation-Templates CloudWatch-Dashboard â» éææŽæ°ããŠããããäžèšèšèŒã®å
容ãšã¯è¥å¹²ç°ãªãå ŽåããããŸã æåŸã« ä»å㯠CloudFormation ã䜿ã£ãŠ CloudWatch ã®ããã·ã¥ããŒããäœæããŸããã ãœãŒã¹ã¯ã¡ãã£ãšé·ãã§ãããCloudWatch ããã·ã¥ããŒãã¯åå¥ã«çšæããããšãããã©ãã®ã§ CloudFormation ã§ã§ãããšéåžžã«å¬ããã§ãã ä»åã¯ãããã»ã¹ç£èŠãã®éšåã¯ããã·ã¥ããŒãã«å«ããŸããã§ããããä»åŸå ãããããªãšæã£ãŠãããŸãã æ¬¡ã¯ CloudWatch Alarm ãäœã£ãŠã¿ãããšæããŸãã