2.5K Views
November 11, 23
スライド概要
Amazon Linux 2023にWordPress移行とWell-Architected + re:Inventに行くための社内稟議について、JAWS-UG長野でお話しました
開発ベンダーに5年、ユーザ企業システム部門通算9年を経て、2018年よりトレノケート株式会社でAWS Authorized InstructorとしてAWSトレーニングコースを担当し、毎年1500名以上に受講いただいている。プロトタイプビルダーとして社内の課題を内製開発による解決もしている。 AWS認定インストラクターアワード2018・2019・2020の3年連続受賞により殿堂入りを果たした。 APN AWS Top Engineers、APN ALL AWS Certifications Engineers、AWS Community Buildersに数年にわたり選出。 個人活動としてヤマムギ名義で執筆、勉強会、ブログ、YouTubeで情報発信している。 その他コミュニティ勉強会やセミナーにて参加、運営、スピーカーや、ご質問ご相談についてアドバイスなどをしている。
JAWS-UG 長野支部 勉強会 in 松本 2023/11/11 #jawsug_nagano Amazon Linux 2023に WordPress移行と Well-Architected + re:Invent に行くための 社内稟議 #jawsug_nagano 山下 光洋
#jawsug_nagano
サーバーもサーバーレスも適切に #jawsug_nagano
最近は役割からサーバーレスが多い傾向 #jawsug_nagano
#jawsug_nagano ブログはサーバー(WordPress, Linux, Nginx, MySQL) 大阪 東京リージョン VPC Availability Zone Public subnet Availability Zone Availability Zone Public subnet Public subnet Bucket Replication Auto Scaling group Private subnet Private subnet AWS Backup Private subnet Private subnet Private subnet Private subnet AMI Snapshot
#jawsug_nagano Amazon Linux 2からAmazon Linux 2023へ ついでにT3からT4Gへ、PHP 7.xからPHP 8.xへ、大阪から東京へ、RDSからAuroraへ
#jawsug_nagano Linux, Nginxサーバーの移行 ZIP t3.micro /etc/nginx/conf.d /etc/php-fpm.d /usr/share/nginx/ t4g.micro
Amazon Linux 2023のインストールはDNF #jawsug_nagano Dandified Yum(ダンディファイド ヤム) Yumからフォークされた事実上の後継 $ sudo dnf install -y php php-cli php-common \ php-pdo php-fpm php-json php-mysqlnd php-gd\ php-mbstring php-xml $ sudo dnf install -y nginx $ sudo dnf install -y mariadb105
S3の移行(大阪→東京) #jawsug_nagano $ aws s3 sync s3://yamamugi s3://blog-yamamugi\ --storage-class INTELLIGENT_TIERING 大阪リージョン 東京リージョン
S3の移行(大阪→東京) #jawsug_nagano S3バッチオペレーションを使ったほうがよかった 大阪 リージョン 東京 リージョン
MySQLの移行(RDS→Aurora Serverless) DMS(Database Migration Service)??? #jawsug_nagano
MySQLの移行(RDS→Aurora Serverless) $ mysqldump -h source -u admin -p -d db > dump.sql $ mysql -h target -u admin -p < dump.sql 520MB #jawsug_nagano
PHP 8.x 系エラー(PHP Fatal error) #jawsug_nagano Array and string offset access syntax with curly braces is no longer supported PHP 7.4以降で配列の波括弧が使えなくなった。 x $foo{0} ↓ o $foo[0] /wp-content/plugins/jetpack-markdown/markdown/lib/gfm.php /wp-content/plugins/jetpack-markdown/markdown/lib/extra.php
PHP 8.x 系エラー(PHP Fatal error) #jawsug_nagano Unparenthesized `a ? b : c ? d : e` is not supported 曖昧な三項演算子に括弧が必要になった /usr/share/nginx/charinko/wp-content/plugins/wp-social-bookmarking-light/ vendor/twig/twig/lib/Twig/Node.php →プラグイン変更
PHP 8.x 系エラー(PHP Fatal error) #jawsug_nagano Uncaught TypeError: implode(): Argument #2 ($array) must be of type ? Crayon Syntax Highlighter ↓ Urvanov Syntax Highlighter
#jawsug_nagano ブログはサーバー(WordPress, Linux, Nginx, MySQL) 大阪 東京リージョン VPC Availability Zone Public subnet Availability Zone Availability Zone Public subnet Public subnet Bucket Replication Auto Scaling group Private subnet Private subnet AWS Backup Private subnet Private subnet Private subnet Private subnet AMI Snapshot
#jawsug_nagano S3オリジングループ クロスリージョンレプリケーション フェイルオーバー 東京 リージョン 大阪 リージョン
WAF #jawsug_nagano
#jawsug_nagano 2024年2月に備えよう Virtual private cloud (VPC) Public subnet AWS Global Accelerator ajdsa78.awsglobalaccelerator.com 192.0.2.101 203.0.113.15 NAT gateway 192.0.2.10 Corporate data center AWS Transit Gateway 192.0.2.7 203.0.113.8 VPN connection 192.0.2.5 203.0.113.6 Application Load Balancer 192.0.2.12 192.0.2.13 Network Load Balancer 192.0.2.14 192.0.2.15 Instance* ECS Task 192.0.2.11 192.0.2.16 RDS Public 192.0.2.17
#jawsug_nagano ブログはサーバー(WordPress, Linux, Nginx, MySQL) 大阪 東京リージョン VPC Availability Zone Public subnet Availability Zone Availability Zone Public subnet Public subnet Bucket Replication Auto Scaling group Private subnet Private subnet AWS Backup Private subnet Private subnet Private subnet Private subnet AMI Snapshot
Egress Only Internet Gateway #jawsug_nagano SSM、CloudWatch(Logs、カスタムメトリクス)がIPv6に対応していない。 wordpress.comもIPv6ではアップデートアクセスできなかった。
#jawsug_nagano EC2 Instance Connect Endpoint Virtual private cloud (VPC) Private subnet sg-ec2 sg-eic AWS Management Console EC2 Instance Connect Endpoint インバウンド EC2 Instance インバウンド なし アウトバウンド ポート 送信元 22 sg-eic アウトバウンド ポート 送信先 22 sg-ec2 なし
#jawsug_nagano VPC Endpoint Virtual private cloud (VPC) 東京リージョン (2023/8/5) Private subnet s3 ssm EC2 ssm messages ec2 messages S3 0.014USD/h 0.01USD/GB Systems Manager カスタムメトリクス monitoring logs インターフェイス エンドポイント CloudWatch Logs
CloudWatch Logs #jawsug_nagano
Spotインスタンス #jawsug_nagano
#jawsug_nagano ブログのアーキテクチャ 大阪 東京リージョン VPC Availability Zone Public subnet Availability Zone Availability Zone Public subnet Public subnet Bucket Replication Auto Scaling group Private subnet Private subnet AWS Backup Private subnet Private subnet Private subnet Private subnet AMI Snapshot
#jawsug_nagano まとめ 大阪 東京リージョン VPC Availability Zone Public subnet Availability Zone Availability Zone Public subnet Public subnet Bucket Replication Auto Scaling group ・新しいインスタンス、OSは積極的に使いたい Private subnet Private subnet ・コスト - スポットインスタンス、無駄を省く Private subnet ・セキュリティ - WAF、可能な範囲で最少公開、ロギング ・パフォーマンス - CloudFront、キャッシュ、オートスケーリング、Aurora Serverless Private subnet Private subnet Private subnet ・信頼性 - マルチAZ、DR対策(レプリケーション、バックアップ) AWS Backup AMI Snapshot
re:Invent2023 コミット内容 ・毎日会社Tシャツ着用 ・現地交流人数 120人 ・Expoブースで案内 ・グループ会社と情報交換 ・帰国後社内外勉強会開催 ・会社ブログ 5本 ・re:Capセミナー開催 ・SNSにおいて発信 #jawsug_nagano
PR #jawsug_nagano
PR #jawsug_nagano
PR #jawsug_nagano
PR #jawsug_nagano
PR #jawsug_nagano