Slide 1

Slide 1 text

Amazon Linux 2 を 2023 に移行してみた 2024/2/16 Fri Masaru Ogura

Slide 2

Slide 2 text

自己紹介 • 小倉 大 (マサル) Facebook : https://www.facebook.com/masaru.ogura.71 Twitter : @MasaruOgura • 株式会社サーバーワークス • 2020 - 2023 APN ALL AWS Certifications Engineer • 2023 Japan AWS Top Engineer • ススキノが生んだエンジニア • 共著: AWS 運用入門

Slide 3

Slide 3 text

アジェンダ • Amazon Linux 2023 の概要 • Amazon Linux 2 から 2023 への移行

Slide 4

Slide 4 text

Amazon Linux 2023 の概要 • Amazon Linux 2023 とは • Amazon Linux 2 との主な違い – パッケージ管理が dnf – SSH 接続がデフォルトで RSA 無効

Slide 5

Slide 5 text

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/

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

Amazon Linux 2 との主な違い 2.SSH 接続がデフォルトで RSA 無効 • キーペアのタイプを ED25519 にする

Slide 8

Slide 8 text

Amazon Linux 2 との主な違い 2.SSH 接続がデフォルトで RSA 無効 • RSA で接続したい場合 –サーバーで以下のコマンドを実行 (非推奨) • sudo update-crypto-policies --set LEGACY –クライアントのターミナルソフトで rsa-sha2-512 を選択 • TeraTerm も対応済み – https://github.com/TeraTermProject/teraterm/releases

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

Amazon Linux 2 から 2023 への移行 • S3 バケット • IAM ロール – AmazonS3FullAccess – AmazonSSMManagedInstanceCore

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

1. Amazon Linux 2023 の EC2 インスタンス作成

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

2. 移行前のパッケージと同じバージョンでインストール ・パッケージのインストール $ 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

Slide 18

Slide 18 text

2. 移行前のパッケージと同じバージョンでインストール ・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: Re-enter new password: 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

Slide 19

Slide 19 text

2. 移行前のパッケージと同じバージョンでインストール ・MariaDB の初期設定(続き) # DBRootPassword= # 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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

3. Amazon Linux 2 のデータを 2023 へコピー ・移行データの取得 $ 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:/// # aws s3 cp wordpress_db.sql s3:///

Slide 22

Slide 22 text

3. Amazon Linux 2 のデータを 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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

まとめ • Amazon Linux 2 と 2023 には違いがある • 移行方法は移行元と移行先のパッケージのバージョンを揃えて からデータをコピーする

Slide 26

Slide 26 text

ご清聴ありがとうございました。