Upgrade to Pro — share decks privately, control downloads, hide ads and more …

20240216 Amazon Linux 2 を 2023 に移行してみた

20240216 Amazon Linux 2 を 2023 に移行してみた

2024/2/16 JAWS-UG朝会 #54 勉強会の資料です。

Masaru Ogura

February 16, 2024
Tweet

More Decks by Masaru Ogura

Other Decks in Technology

Transcript

  1. 自己紹介 • 小倉 大 (マサル) Facebook : https://www.facebook.com/masaru.ogura.71 Twitter :

    @MasaruOgura • 株式会社サーバーワークス • 2020 - 2023 APN ALL AWS Certifications Engineer • 2023 Japan AWS Top Engineer • ススキノが生んだエンジニア • 共著: AWS 運用入門
  2. Amazon Linux 2023 の概要 • Amazon Linux 2023 とは •

    Amazon Linux 2 との主な違い – パッケージ管理が dnf – SSH 接続がデフォルトで RSA 無効
  3. Amazon Linux 2023 とは • Amazon Linux 2 の後継バージョンの OS

    – https://aws.amazon.com/jp/linux/amazon-linux-2023/ • Amazon Linux 2 は 2025/6/30 で長期サポートが切れます – https://aws.amazon.com/jp/amazon-linux-2/faqs/
  4. Amazon Linux 2 との主な違い 1. パッケージ管理が dnf • dnf とは

    – yum の後継コマンドで、オプションは一緒 • https://atmarkit.itmedia.co.jp/ait/articles/2001/09/news018.html – 今のところ yum も使える – EPEL, Amazon Linux Extras リポジトリが使えない • https://docs.aws.amazon.com/ja_jp/linux/al2023/release-notes/all- packages.html
  5. Amazon Linux 2 との主な違い 2.SSH 接続がデフォルトで RSA 無効 • RSA

    で接続したい場合 –サーバーで以下のコマンドを実行 (非推奨) • sudo update-crypto-policies --set LEGACY –クライアントのターミナルソフトで rsa-sha2-512 を選択 • TeraTerm も対応済み – https://github.com/TeraTermProject/teraterm/releases
  6. Amazon Linux 2 との主な違い • その他の違いについては以下をご確認ください – Comparing Amazon Linux

    2 and Amazon Linux 2023 • https://docs.aws.amazon.com/ja_jp/linux/al2023/ug/compare-with- al2.html
  7. Amazon Linux 2 から 2023 への移行 • 移行方法 1. Amazon

    Linux 2023 の EC2 インスタンスを作成 2. 移行前のパッケージと同じバージョンでインストール 3. Amazon Linux 2 のデータを 2023 へコピー 4. Amazon Linux 2 の EIP を 2023 へつけかえ ※2023/8 現在、簡単に移行する方法はありません
  8. Amazon Linux 2 から 2023 への移行 • 移行前 AWS Cloud

    東京リージョン Public subnet Amazon EC2 (Amazon Linux 2) Virtual private cloud (VPC) Amazon S3 Role Elastic IP address
  9. Amazon Linux 2 から 2023 への移行 • バージョン情報 (Amazon Linux

    2) – PHP 8.2 – MariaDB 10.5 – Apache 2.4 – WordPress 6.3 ※Amazon Linux 2023 側を同じバージョンで用意しておく
  10. Amazon Linux 2 から 2023 への移行 • S3 バケット •

    IAM ロール – AmazonS3FullAccess – AmazonSSMManagedInstanceCore
  11. 1. Amazon Linux 2023 の EC2 インスタンス作成 AWS Cloud 東京リージョン

    Public subnet Amazon EC2 (Amazon Linux 2) Virtual private cloud (VPC) Amazon EC2 (Amazon Linux 2023) Amazon S3 Role Role Elastic IP address
  12. 2. 移行前のパッケージと同じバージョンでインストール AWS Cloud 東京リージョン Public subnet Amazon EC2 (Amazon

    Linux 2) Virtual private cloud (VPC) Amazon EC2 (Amazon Linux 2023) Amazon S3 Role Role Elastic IP address
  13. 2. 移行前のパッケージと同じバージョンでインストール <Amazon Linux 2023> ・パッケージのインストール $ sudo su -

    # dnf update -y # dnf install -y httpd wget php-fpm php-mysqli php-json php php-devel mariadb105-server php-mysqlnd ・Apache と MariaDB の起動 # systemctl start httpd # systemctl enable httpd # systemctl start mariadb # systemctl enable mariadb
  14. 2. 移行前のパッケージと同じバージョンでインストール <Amazon Linux 2023> ・MariaDB の初期設定 # mysql_secure_installation Enter

    current password for root (enter for none): <何も入力せずEnter> Switch to unix_socket authentication [Y/n] y Change the root password? [Y/n] y New password: <rootユーザーのパスワードを入力してEnter> Re-enter new password: <rootユーザーのパスワードを入力してEnter> Remove anonymous users? [Y/n] y Disallow root login remotely? [Y/n] y Remove test database and access to it? [Y/n] y Reload privilege tables now? [Y/n] y
  15. 2. 移行前のパッケージと同じバージョンでインストール <Amazon Linux 2023> ・MariaDB の初期設定(続き) # DBRootPassword=<rootユーザーのパスワード> #

    mysql -u root -p${DBRootPassword} -e “CREATE USER <ユーザー名 >@localhost IDENTIFIED BY ‘<ユーザーのパスワード>’;” # mysql -u root -p${DBRootPassword} -e “CREATE DATABASE ¥`<データベース名 >¥`;“ # mysql -u root -p${DBRootPassword} <データベース名>-e “GRANT ALL PRIVILEGES ON ¥`<データベース名>¥`.* TO <ユーザー名>@localhost;“ # mysql -u root -p${DBRootPassword} -e "FLUSH PRIVILEGES;" Amazon Linux 2023 での WordPress ブログのホスト https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/hosting-wordpress-aml-2023.html
  16. 3. Amazon Linux 2 のデータを 2023 へコピー AWS Cloud 東京リージョン

    Public subnet Amazon EC2 (Amazon Linux 2) Virtual private cloud (VPC) Amazon EC2 (Amazon Linux 2023) Amazon S3 Role Role Elastic IP address
  17. 3. Amazon Linux 2 のデータを 2023 へコピー <Amazon Linux 2>

    ・移行データの取得 $ sudo su - # mysqldump -u root -p <データベース名> > wordpress_db.sql # tar zcvf /root/wordpress.tar.gz /var/www/html/ ・S3 へ移行データをコピー # aws s3 cp wordpress.tar.gz s3://<S3バケット名>/ # aws s3 cp wordpress_db.sql s3://<S3バケット名>/
  18. 3. Amazon Linux 2 のデータを 2023 へコピー <Amazon Linux 2023>

    ・S3 から移行データの取得 $ sudo su - # aws s3 cp s3://<バケット名>/wordpress.tar.gz ./ # aws s3 cp s3://<バケット名>/wordpress_db.sql ./ ・移行データの配置 # mysql -u <ユーザー名>-h localhost -p <データベース名>< wordpress_db.sql # tar zxvf wordpress.tar.gz # cp -r /root/var/www/html/* /var/www/html/ # chown -R apache:apache /var/www/html/ # systemctl restart httpd
  19. 4. Amazon Linux 2 の EIP を 2023 へつけかえ AWS

    Cloud 東京リージョン Public subnet Amazon EC2 (Amazon Linux 2) Virtual private cloud (VPC) Amazon EC2 (Amazon Linux 2023) Amazon S3 Role Role Elastic IP address
  20. Amazon Linux 2 から 2023 への移行 • 移行後 AWS Cloud

    東京リージョン Public subnet Amazon EC2 (Amazon Linux 2) Virtual private cloud (VPC) Amazon EC2 (Amazon Linux 2023) Amazon S3 Role Role Elastic IP address