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

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

新規登録して質問してみよう
ただいま回答率
85.49%
AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

2回答

4715閲覧

Amazon Linuxについて

tk_flavor

総合スコア104

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

3クリップ

投稿2017/06/07 03:49

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、どちらを利用した方がいいのかなどご助言頂けますと幸いです

よろしくお願い致します

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

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

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

CentOSAmazon Lnux
SELinuxデフォルト有効デフォルト無効
デフォルトユーザrootec2-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/07 10:58

編集2017/06/08 05:02
lazhuward

総合スコア1294

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tk_flavor

2017/06/08 01:52

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

2017/06/08 03: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 のようにパッケージが微妙に異なってくるのかと思います こういう微妙な差異がある本番とステージング・開発環境でアプリの動作上問題ない事を どう保証する、開発側に説明をしていけばいいのでしょうか お手数お掛けしますが、よろしくお願い致します。
lazhuward

2017/06/08 04:56

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

2017/06/08 05:57

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

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のほうが便利かと思ってます

投稿2017/06/07 04:48

moonphase

総合スコア6621

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問