システム運用には様々なトラブルが発生する可能性があります。大企業でも使われているAmazonが提供するawsはトラブルを未然に防ぐ機能は搭載されていますが、使い方やアクセス状況、設定方法などによっては思いもよらないトラブルが発生することもあります。

awsを運用する際にトラブルになる良くある原因や注意点を考慮し対策を講じておくことで、安心して運用することができます。では、注意点とその対策を見ていきましょう。

「awsのプラットフォーム・docker運用について」

高負荷によるアクセス障害

awsは一般顧客向けのWebサイトにも利用されるクラウドサービスです。そのため大量のアクセスにも耐えうる設定になっています。しかし、アクセス数を多くすることで利用料金も比例して高くなるため、費用対効果の両方を兼ね備えたバランスの良い状態にしておくのがベストです。

高いトラフィックが継続的に生じるのであれば、そもそもの契約を見直しアップグレードする事を推奨しますが、アクセス数が一定でない場合はスペックをどの程度にしておくかがポイントになります。Amazonのawsでは、アクセス数に応じてスペックをコントロールができるサービスがあります。

ロードバランサーとモニタリングツールを組み合わせて予め負荷条件を設定しておくことで必要なインスタンスの起動や停止を行うことができます。必要最低限のコストでawsを運用することができる素晴らしい仕組みが整っています。

また、物理的な対策で回避させることも可能です。静的なコンテンツはあえてWebサーバーを回避させ、S3を利用してコンテンツを置いておくことでアクセス経路を分割させることができます。アクセスが集中しそうなトップページなどはできる限り静的なコンテンツで作り込んでおくことで、そもそものアクセス負荷を軽減させる方法も有効です。参考サイト...AWS監視 - CloudCREW

悪意の攻撃に対する対策

Webサイトを公開している限り、そのWebサイトを閲覧している人が多ければ多いほど、悪意の攻撃を受けるリスクが高くなります。悪意の攻撃は必ずあるものと捉えて対策を講じておくことが無難です。aws自体、悪意の攻撃に対するセキュリティを施していますが、攻撃する側も知能を使い今までとは異なる手法へのグレードアップするのが常です。

そのためすべての攻撃を未然に防ぐことは絶対に不可能にはなりますが、攻撃による影響を最小限にとどめる事は工夫次第で可能です。awsには優れた監視機能が搭載されています。awsのあらゆる機能に対して監視設定を行うことが可能で、異常値を発見したときにはメールなどで速やかにアラートを発することが可能です。

その中で脅威の検知に優れた監視機能を搭載しているサービスがAmazon GuardDutyです。Amazon GuardDutyは機械学習機能を持っており、見落としがちな傾向やパターン、そして異常を追跡した上で何億ものイベントの解析を繰り返し行います。

既存サービスには全く影響を及ぼさない中で、悪意のあるデータを抜き出そうとする行為やインスタンスへの侵害、そして感染を受けたインスタンスも検知する賢い機能を持ち合わせています。

アクセスキー漏洩の心配

awsの構築には一人の管理者が存在し、アクセスキーを用いてawsの設定を行います。しかし組織などでawsを利用する際には設定を行う人が複数存在することも珍しくなく、アクセスキーを安易に使い回すケースが多々あります。

アクセスキーはaws設定の中枢に存在するため権限設定は厳格に行うことが最大の注意点です。

アクセスキーの共用や必要以上にAdministrator権限を与える行為、使っていないアクセスキーを放置しているなどずさんなアクセスキーの管理や権限設定によりリスクを高めることになります。管理方法は管理者がアクセスキーについて厳重に管理する方法が一番で機械的というより、人的管理がメインになります。

機械的に管理するのであれば、アクセスキーの代わりに一時的なセキュリティ認証を取り入れたり、そもそもアクセスキーを不容易に生成しないなどの対策を施すのが効果的です。

ECサイトのセキュリティリスクへの対策

ECサイトはawsのメインサイトとして利用されることが多いのですが、リスクとして考えられるのは不正アクセスです。クラウドサービス全体の悩みでもある不正アクセスを防止するためには、アクセス権限を最小限に絞り込むことが有効な対策です。

社内サイトや関係者だけが利用するサイトを構築しているのであれば、IPアドレスによる制限が可能です。ホワイトリストに許可するIPアドレスを設定することでそれ以外からのアクセスを拒絶させることが可能です。一般顧客用に間口を設けているようなWebサイトではIP制限をそのままかけることはできませんが、工夫をすることで直接のアクセスを防止することができます。

ECサイトのインスタンスはプライベートネットワークに置き、直接アクセスできないように制御します。その上でプライベートネットワークへのアクセスをパブリックネットワーク経由で踏み台にさせることで、踏み台サーバー経由以外のアクセスを拒絶させることができます。

踏み台サーバーからプライベートネットワークへのアクセスは専用のIPアドレスを設定することで不正アクセスを防止できます。もちろんこの手法をとっても完全に不正アクセスを防止することはできません。そのためログ管理で不正アクセスを監視したり、脆弱診断ツールを用いて不正アクセスしやすい環境を見つけ出す事、そして異常を検知した際にアラートを出すようにするなど、不正アクセスによる影響を最小限にとどめる工夫も必要不可欠です。

S3からの情報漏洩

S3はawsの中のファイル置き場です。重要なファイルなどをS3の中に安全に置けるように事前に準備しておく事が必要です。S3自体もともとセキュリティは高く、初期状態で外部に公開されない仕様になっており、ファイルを暗号化することもデフォルトの設定で可能です。

バージョン管理も同時に行えるため、ファイルの改ざんなどの対策にも有効です。そのためS3から情報が漏洩するケースはECと比較すると少ないのですが、利便性を向上するが故に脆弱になってしまうケースに注意が必要です。

S3はパケットポリシーを用いてセキュリティの設定を行うことが可能ですが、設定ミスにより公開させてしまうケースが多いのが実情です。awsマネジメントコンソールをもいいて公開状況を常に確認するなど人為的なミスが発生していないか監視することが大切です。

またECと同じようにS3にも監視やログ管理をつけ、ダウンロード状況や更新状況などのアクセス状態を定期的にチェックする事も必要です。