Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Linux初心者がAmazon Linux 2023への移行に奮闘した話
Search
南條綾乃
June 26, 2024
1
400
Linux初心者がAmazon Linux 2023への移行に奮闘した話
2024年6月27日のLTイベントです。
https://increments.connpass.com/event/317283/
南條綾乃
June 26, 2024
Tweet
Share
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
427
64k
How to Think Like a Performance Engineer
csswizardry
20
1.1k
Agile that works and the tools we love
rasmusluckow
327
21k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
GraphQLとの向き合い方2022年版
quramy
43
13k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Intergalactic Javascript Robots from Outer Space
tanoku
269
27k
The Language of Interfaces
destraynor
154
24k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
10 Git Anti Patterns You Should be Aware of
lemiorhan
655
59k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
44
2.2k
How to Ace a Technical Interview
jacobian
276
23k
Transcript
Linux初心者が Amazon Linux 2023への移行 に奮闘した話 QIITA ENGINEER FESTA 2024 南
條 綾 乃
01 02 03 06 自己紹介 話したいこと AL2との違い 疑問 CONTENT 05
デモ 07 今後について 04 ディストリビューション
PART 01 自己紹介
日系IT企業のSREチームに所属。入社4年目。 入社後2年間、アジャイル開発でのGo言語を用いたバックエンド開発に従事。 その後、香港の子会社で1年インフラ業務に従事し、CentOS等のLinuxの運用に取 り組む。 現在はSREチームでCCoE業務に従事している。CCoE業務ではフロント開発からイ ンフラ構築まで、幅広く学びながら取り組み中。 休日は愛犬に会うため実家に帰ったりしてます。 南條綾乃 経歴
PART 02 話したいこと
Amazon Linux 2からAmazon Linux 2023の移行の取り組みを 行なったので、そこで学んだことを自分の理解で話す 取り組みの中で初心者目線で疑問に思ったことなどを話す
背景 当プロジェクトでは、EKSとECSのノードとしてEC2を利用している。 その際、AMIをカスタムして利用している。 → これまでAmazon Linux 2のAMIをベースとしていたが、今回Amazon Linux 2023のAMIを用いて運用できる ようにした。
取り組みの背景 発表の前提 今回は実際にどのようなカスタムをしているのか、に着目するのではなく、取り組みの中で学んだり感じた りしたLinuxのあれこれについて発表する。 まだ運用フェーズではないので、運用の話はなし。
PART 03 ディストリビューション
様々な違い ref. https://docs.aws.amazon.com/ja_jp/linux/al2023/ug/compare-with-al2.html 追加、更新、削除されたパッケージ 各リリースのサポート 命名およびバージョニングの変更 最適化 Python 2.7 は
Python 3 に置き換えられました セキュリティ更新 安定性向上のための確定的な更新 複数のアップストリームから供給されています。 AMI ルートファイルシステムとデフォルトの Amazon EBS ボ リュームタイプ ネットワークシステムサービス 統合コントロールグループ階層 (cgroup v2) タスクのスケジューリング glibc、gcc、および binutils のパッケージ パッケージマネージャー ロギングシステム curl および libcurl のパッケージ変更 GNU プライバシーガード (GNUPG) デフォルト JVM としての Amazon Corretto・AWS CLI v2 UEFI Preferred SSH サーバーのデフォルト設定の変更 Extra Packages for Enterprise Linux (EPEL) cloud-init の使用 グラフィカルデスクトップサポート コンパイラトリプレット 32 ビット x86 (i686) パッケージ lsb_release および system-lsb-core パッケージ AL2からのAL2023カーネルの変更
根底にあるのは ベースとしているディストリビューションの違い!!! Amazon Linux 2 Amazon Linux 2023 CentOS, RHEL7,
Fedora 複数のFedoraアップストリーム (Fedora 34, 35, 36) の組み合わせ ・これは正式に公開されていない ・RHEL9もFedoraもFedora34をベースにしているが、 それだけでなく35、36を取り込んでいる
ディストリビューションとは Linuxをシステムや人が使いやすくしたもの ref. https://lpi.or.jp/lpic_all/linux/intro/intro02.shtml カーネルだけではコマンド実行も 起動もできない!
ref. https://photos1.blogger.com/blogger/3370/2500/1600/GNULinuxupdatedw4.0.jpg
RHELとFedoraの関係性 Fedora ・Red HatがスポンサーをしているOSSコミュニティの プロジェクトで開発されている非商用のLinux ディスト リビューション ref. https://rheb.hatenablog.com/entry/202007-fedora-distribution Red
Hat Linux Project Fedora Linux Project RHELとして商用サービス化 Fedora
PART 03 AL2との違い ref. https://docs.aws.amazon.com/ja_jp/linux/al2023/ug/compare-with-al2.html
SELinuxがenabled、permissiveモードに → RHELではPermissiveモードの使用が推奨されている ref. https://docs.redhat.com/ja/documentation/red_hat_enterprise_linux/9/html/using_selinux/enabling_and_disabling_selinux- disabling_selinux_changing-selinux-states-and-modes
デフォルトのソフトウェアパッケージ管理ツールがyum→dnfに これが理由か不明だが、 gpgcheckのデフォルトの設定が0,1から booleanに変更されていた AL2 AL2023
デフォルトでrsyslogがインストールされていない → /var/log/messagesのようなテキストベースでのログ確認ではなく、systemd- journalのjournalctlコマンドでログ確認を推奨されている AL2 AL2023
cgroupがv1→ v2に → 複数階層構造→単一階層構造に AL2 AL2023 ref. https://speakerdeck.com/tenforward/techfeed-experts-night-number-28 k8s, ECSでもどちらでも影響がありそうだが、
全体像についてはあまり理解できていないのが正直なところ...
PART 03 デモ
デモ内容 terraformで以下のEC2インスタンスを立ち上げて、Run Commandで環境差分を確認する。 Amazon Linux 2 Amazon Linux 2023 RHEL7
RHEL8 RHEL9 fedora ubuntu ←linucの勉強等してると出てくるが、実際業務などで関わることが少ない... なのでこれを機に実際に触ってみる!
確認する環境差分 demo.json
①terraformでEC2インスタンスを立ち上げる。
②環境差分を確認する。
PART 04 疑問
疑問 「SELinuxは無効化するべきだ」という業界の常識?のようなものがある模様... ⇨ どういうこと? そもそもSELinuxとは、 強制アクセス制御(MAC:Mandatory Access Control)の仕組み アメリカ国家安全保障局(NSA)が中心となって開発した、Linuxのカーネ ルに強制アクセス制御を付加するモジュール
→ ホワイトリスト形式でのアクセス制御なので、あらかじめ定義したアクセスルール以外のアクセスは全 て拒否される。 → セキュリティレベルが高いが故にプログラムが動かなかったり、必要なパッケージなどがインストール できなかったりする。 → SELinuxを無効化するのが常識になりつつあった。 ref. https://thinkit.co.jp/article/13296, https://www.b-tm.co.jp/blog/detail/27.html
疑問 なぜAmazon Linux 2023ではRHEL8、9ではなくFedoraがベースとされたのか? ref. https://thinkit.co.jp/article/13296, https://www.b-tm.co.jp/blog/detail/27.html AWSの正式な回答はわからない... 私の理解では、 →
RHELもFedoraベースでできている。 → Fedoraはアップストリームの改修を取り込み、早いライフサイクルでバージョン更新をしている。 → 早いスピードで業界の最新を取り込めているから?
PART 05 今後の展望
開発環境でアプリのテスト予定 → 各種設定変更がどのような影響を及ぼすのかを確認したい テスト・運用フェーズへ 次の発表に向けて もっと理解を深め、感動したい! 感動できるまでLinuxを深く理解できていないので、手を動かし学び続けたい!
ご静聴ありがとうございました!