質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.04%

Amazon Linuxについて

解決済

回答 2

投稿

  • 評価
  • クリップ 2
  • VIEW 2,441

tk_flavor

score 102

AWSで利用するOSディストリビューションについて質問させて頂きます

AWSでもCentOSが利用可能のようですが、CetOSライクなAmazonLinuxOSもあります
情報によると、Amazon LinuxはAWSクラウドに最適化されたLinuxディストリビューションであり、
AWS CLI等のさまざまなツールがすでにインストール済みなど、AWS機能を使う分には相性がいいみたいなのですが、
実際サービスとしてLinuxOS・phpを用いてサービスとして使う時、どちらのディストリビューションを使用した方が
いいのか迷っています。

  • 質問1.パッチ適用について
    AmazonLinuxも半年ごとにパッチ適用されたりするようですが、
    CentOSのように、yum update phpなど実行しないで
    AmazonLinuxのパッチを適用する事でphpのアップデートもされる事でいいのでしょうか

  • 質問2.EOLについて
    また、AmazonLinuxにはEOLの概念もなく、継続的にパッチ適用されていくものなのでしょうか

  • 質問3- 使うべきディストリビューションについて
    CentOS、AmazonLinux、どちらを利用した方がいいのかなどご助言頂けますと幸いです

よろしくお願い致します

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

0

ご認識のとおりですがAmazon Linuxは、
AWSが開発したAWS基盤で最大限のパフォーマンスが出せるように作られているLinuxです。
RHELをベースとしていますので、動作的にはCentOSと殆ど変わりません。

CentOSとの差異は、これぐらいになります。

CentOS Amazon Lnux
SELinux デフォルト有効 デフォルト無効
デフォルトユーザ root ec2-user
yumリポジトリ GLOBAL回線利用 AWS専用線利用

質問の回答としては以下になります。

質問1.パッチ適用について
AmazonLinuxも半年ごとにパッチ適用されたりするようですが、
CentOSのように、yum update phpなど実行しないで
AmazonLinuxのパッチを適用する事でphpのアップデートもされる事でいいのでしょうか

CentOSと全く同じです。
phpをyumで管理させRPMでインストールした場合、yum update を使います。
ソースコンパイルでインストールした場合は、自分で更新する事になります。

質問2.EOLについて
また、AmazonLinuxにはEOLの概念もなく、継続的にパッチ適用されていくものなのでしょうか

Amazon Linux AMIはローリングリリースで構築、管理されていますので、
AWSが続く限り、またはAWSが開発方針を変更しない限り半永久的に続けられます。
1本の川のようなパッケージで、AMI自体はその時点でのスナップショットにすぎないと考えてください。
#2012年からAmazon Linuxを使っていますが、今のところ方針変更はありません。

Amazon Linuxの更新状況はこちらから参照できます。
Amazon Linux AMI Security Center

パッケージアップデートについては不具合やセキュリティホールは、すぐに対応されますが
それ故にyum updateするとカーネルのアップデートも必ず走るようになっています。

従いまして、通常運用では問題ないのですが、運用上カーネルを固定したい場合があるかと思います。
その場合は、以下のような対応が必要になります。
AMI を特定のバージョンに固定するにはどうすればよいですか?

また、AMIからEC2インスタンスとしてローンチする際も同様のアップデートが走ることになりますので
回避したい場合は、AWSマネージメントコンソール上などでセキュリティアップデートを無効にする設定をしなければなりません。
Q: 初回起動時に非常に重要なセキュリティアップデートの自動インストールを無効にするにはどうすればよいですか?

質問3- 使うべきディストリビューションについて
CentOS、AmazonLinux、どちらを利用した方がいいのかなどご助言頂けますと幸いです。

AWSを活かしたいのであればAmazon Linuxの利用を推奨しておきます。
多くのAWSユーザーもAmazon Linuxを使っています。
ただし、CentOSでの利用でも何も問題はありません。

あと、Amazon LinuxのDockerイメージが用意されているため、
力技でローカル環境に持ってくることも可能なのですが、
開発環境は社内などのローカル環境にCentOS、
ステージング環境と本番環境はAWS上にAmazon Linuxというような構成の
システム環境構築を推奨しておきます。

 追記

すみません。上記に言葉が抜けていました。
CentOSを構築するのはローカル環境になります。
AWSのCentOSではありませんので注意してください。

開発側は、全ての環境は統一しておくのは当然のことだと思っているため、
そのように言われるのは明々白々のことだと思います。
従って、本来は全てAWSに構築するのが良い環境となります。

しかしながらインフラ側に求められることというのは、開発者の言い分とインフラ担当が判断している運用コスト観点(ここだとAWSの利用金額)をあわせて、総合的に判断しプロジェクト環境を構築するのが使命となります。

AWSに環境構築をしても良いのですが、インフラ担当は少しでもコストを下げなければなりません。
#多くのプロジェクトでは、CentOSをローカル環境に構築して、AWSにアプリケーションをデプロイする方法を取っています。

AWSは、スポットでの検証などはかなり有益で、ランニングコストも他のパブリッククラウドサービスに比べて遥かに安いものになっていますが、ロングランで見た場合、オンプレ環境とさほど変わらなくなってしまいます。
従って、使っていない無駄な金額(HDDやデータ通信にお金がかかる)はどんどん縮小した方が良いため、開発環境などはAWS外のローカルでのVM環境などにしてコストを抑える必要があります。

AWSは普通に使っても安いのですが、安いだけにコストを更に抑えるテクニックがあります。
それを身に着けていくことがインフラ側が常に考えておかないといけないことになります。
#極論で言ってしまえば、EC2インスタンスを使うことをやめて、サーバレスにしていくことが将来求められることになります。

 
バージョンに関しては、バージョン違いでの動作差異を無くしたいがために、どのプロジェクトにおいてもバージョンを統一していると思います。
メジャーバージョンとマイナーバージョンを揃えてさえおけば(できれば、マイクロバージョンも)パッケージが違えども、アプリケーションの動作に差異が発生することは特にありません。

もし本当に統一したいのであれば、ソースコンパイル(make installの方法)でやってしまえば良いかと思います。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/06/08 10:52

    大変、詳しくご回答頂きましてありがとうございます
    参考にさせていただきます
    phpとかのミドルウェアのセキュリティパッチ適用となるとAWSはカーネルもアップデートされるのですね。。
    この時の運用方法はちゃんと決めておかないといけないですね。
    今のところ、一旦環境構築してしまえば、繁忙期用に1台スケールアウトする以外は
    AMIテンプレートからEC2を作成する事は考えていません

    キャンセル

  • 2017/06/08 12:58

    すみません
    回答に対して質問させて頂きます。

    >開発環境はCentOS、ステージング環境と本番環境はAmazon Linuxというような構成
    これはどのような観点からになるのでしょうか
    特に開発チーム側からは、本番とステージング・開発環境は同等にしないと
    意味がないと言われます。
    CentOS、AmazonLinuxのOSでは特に差異がないとの事ですが
    例えば、php5.6のバージョンを使おうと思っている時
    AmazonLinuxでは、
    php56.x86_64 5.6.**-*.***.amzn1 amzn-main

    CentOSでは、
    php-5.6.**-*.el6.remi.x86_64
    のようにパッケージが微妙に異なってくるのかと思います
    こういう微妙な差異がある本番とステージング・開発環境でアプリの動作上問題ない事を
    どう保証する、開発側に説明をしていけばいいのでしょうか

    お手数お掛けしますが、よろしくお願い致します。

    キャンセル

  • 2017/06/08 13:56

    回答に追記しておきました。

    キャンセル

  • 2017/06/08 14:57

    ご回答ありがとうございました

    キャンセル

0

AmazonLinuxを主に利用しています。

質問1.パッチ適用について
AmazonLinuxも半年ごとにパッチ適用されたりするようですが、
CentOSのように、yum update phpなど実行しないで
AmazonLinuxのパッチを適用する事でphpのアップデートもされる事でいいのでしょうか

AmazonLinuxもyum updateでの対応となります。

質問2.EOLについて
また、AmazonLinuxにはEOLの概念もなく、継続的にパッチ適用されていくものなのでしょうか

その通りです。
バージョンは 2017.03 のように年月を示す文字列です。
これをバージョンアップせずに特定リリース内でのパッチを適用する場合は
/etc/yum.confreleasever変数にバージョンを指定します。
デフォルトではreleasever=latestとなっているため、yum updateでバージョンも更新されます。

質問3- 使うべきディストリビューションについて
CentOS、AmazonLinux、どちらを利用した方がいいのかなどご助言頂けますと幸いです

どちらでも同じようなものです。
要件、好みに合わせて選択すれば大丈夫です。
#個人的にはAWSであればAmazonLinuxのほうが便利かと思ってます

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.04%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る