catch-img

Architecting on AWS for APN Partner 2020/10/7~9 QA


2020年10月7日から10月9日に開催しました、Architecting on AWS for APN Partnerにていただきましたご質問と回答の一部を掲載します。

以下は、2020年10月7日現在の情報を元に回答しております。


Q. おすすめの試験勉強方法を教えてください

A. とにかく触るのがおすすめです。AWSアカウントを作成して無料利用枠、セルフペースラボなどを利用して使ってみてください
ご自身でアカウントを作成した場合は、ルートユーザーのパスワード、MFA設定などセキュリティのベストプラクティスを忘れないようにしてください。


Q. FAQを公開しているページを教えていただけないでしょうか

A. AWS FAQで検索すると各サービスのFAQが確認でききます


Q. 復旧戦略のアクティブ-アクティブの場合、セカンダリDB→プライマリDBも含む双方向のレプリケーションが必要になる理解であっているでしょうか。

A. DBをどう設置しているかにもよりますが、図の場合はMasterDBが片側のみなので、その場合はM→SだけのレプリケーションのみでOKです。クロスリージョンリードレプリカが利用できます。


Q. コンソールからLambdaを作成していく中でリージョン指定する箇所がなかったのですが、どこで指定すればよいのでしょうか。

A. リージョン選択は、Lambdaの画面に遷移したところで行ってください。Lmandaファンクションのデプロイ時には指定しません。


Q. Lambda関数の標準出力はどこかで確認できるのでしょうか?

A. CloudwatchLogsです。Lambdaコード内で標準出力したものが記録されています


Q. S3作成で東京リージョン以外を選択すると、先に作成したLambda関数が選択肢に出てきません。
これはLambdaとS3のリージョンが異なるからでしょうか。
Lambda作成時にリージョン指定がなかったようなのですが。

A. S3通知イベントを使用する場合、Lambda関数は同じリージョンである必要があります。Lambda関数のリージョンはLmbdaコンソールの右上で指定します。
演習で実行したLambdaの結果をCloudWatch Logsで確認できますか?A. はい。Lambdaの[モニタリング]タブからCloudWatchで確認できます。


Q. API GWとLambdaの性能が、RDSインスタンスに影響を及ぼすということを聞いたことがあります。
(Lambbdaの処理にRDSがついていけない。。。?)
影響を出さないように処理をLambdaに制限を持たせるなどのBestPracticeはありますでしょうか?

A. RDSプロキシを使うと、Lambdaの並列処理能力を活かしつつ、RDSへの接続を行う事ができます。パフォーマンスに問題がなければLmabdaの同時実行数を減らすなどの対応も考えられます。

  Amazon RDS プロキシの料金 | 高可用性データベースプロキシ | アマゾン ウェブ サービス Amazon RDS プロキシでは、アプリケーションがデータベースと確立した接続をプールおよび共有することで、データベースの効率とアプリケーションのスケーラビリティが向上します。 Amazon Web Services, Inc.



Q. SQSにメッセージが入ったらLambdaが動く。。のような作りはできないのでしょうか?

A. LambdaのイベントにSQSを設定すると、AWSで内部的に動作しているLambdaがSQSにポーリングし、メッセージがあるとLamndaにイベントメッセージに含めてリクエストします。この内部的なLambdaからのポーリングにも課金されます。


Q. SQSから複数メッセージを読んだ場合、1メッセージずつ成功するごとに削除ができるのでしょうか。

A. 可能です。まとめてバッチ削除もできます。


Q. Lambdaの話しになるのですが、Lambdaは前後性を持たせることはできますか?
Lambda1が終わったら、Lambda2を実行するなど。

A. StepFunctionsというサービスでシンプルに実現、モニタリングできます。もちろんLambdaからLambdaを呼び出すことも可能です。


Q. エラーになったかどうかを条件に60秒でメッセージが見えるようになる、逆に成功したら、見えないままとなるのでしょうか。
成功した場合、一定時間でキューは削除されるのでしょうか。

A. メッセージの処理が終わると、受信側コンポーネントからメッセージの削除処理を行います。


Q. 可視性タイムアウトについて、SQSに[1A. 2A. 3]と入っている場合、あるLambdaが「1」を処理している途中で別のLambdaが読みに行った場合に「2」がみえてしまうのでしょうか。
もしくはキューが空にみえるのでしょうか

Q. A. 1は可視性タイムアウトで設定した秒数まで見えなくなるので、2、および3が見えることになります。


Q. 先ほどのRedisの件で、Redisを冗長構成とした場合にどれくらいの整合性となりますか?(同期時間はどの程度でしょうか?)

A. Q. レプリケーションは非同期で行われます
CloudwatchのReplicationLogメトリクスで遅延をモニタリングできます

  よくある質問 - Amazon ElastiCache | AWS Amazon Web Services, Inc.



Q. セッション情報を冗長構成することは可能でしょうか?(Elasticacheの冗長化)

A. Redisで冗長化できます、もちろんDynamoDBでも冗長化できます


Q. スタックを分けてexportした値を参照しているような場合、importしたい値がなければみつかるまでpendingになるのでしょうか。(lab-application → lab-networkの順で実行した場合も問題なく動きますか)

A. IDが見つからずにエラーになります。


Q. スタックを分けてexportした値を参照しているような場合、参照するスタックのアウトプットのデフォルト値や実行時に指定などして、参照するスタックの作成を待たずに単独で作成・テストはできるでしょうか。

A. Conditionsでテストの際には、検証目的でデフォルトVPCで起動するようにするなどで実現できます。


Q. PublicRoute以外はDependsOn指定がありませんが、暗黙で「参照しているリソースができるまで動かない」になっているのでしょうか。

A. 現時点でDependsOnが必要な対象がユーザーガイドにありました。こちらをご確認ください。

  DependsOn 属性 - AWS CloudFormation 特定のリソースの作成が AWS CloudFormation 内の別のリソースに依存していることを示すには、DependsOn 属性を使用します。 https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html#gatewayattachment



Q. PublicRouteでIGWのアタッチ後に実施するようにしていますが、アタッチ前だと設定エラーになるのでしょうか。

A. ターゲットの参照先がないのでエラーになります。


Q. テンプレートが格納されるS3は自動で作成されるのだと思いますが、こちらの利用料金はどうなりますか?

A. 課金対象です。


Q. スタック作成時の詳細オプションで実施できる内容について確認で、パラメータなどは何を入力できるのでしょうか?

A. パラメータはテンプレートで定義できます。
ですので、独自のパラメータを追加することが可能です。


Q. モジュールデプロイにjenkinsを用いていた場合、beanstalkは代替利用が可能か、もしくは組み合わせて使うべきでしょうか。

A. 組み合わせて使います。こちらのBlackbelt資料に具体的なケースがあります。

  AWS Black Belt Online Seminar AWS上のJenkins活用方法 【AWS Black Belt Online Seminar】 AWS上のJenkins活用方法 アマゾンウェブサービスジャパン株式会社 トレーニングデリバリマネージャ 大村 幸敬 2017.01.24 https://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-online-seminar-awsjenkins



Q. 手動で作成したAWS環境をCloudFormationに出力する方法はありますか?(複雑でも大丈夫か?など)

A. Formaer2というサードパーティサービスがあります。


Q. スタックを削除する際は関連するリソースを削除できますか?

A. はい、スタックとして作成したリソースは全て削除されます


Q. 今ご紹介いただいたCloudFormationのyamlや今までのJSONについてですが、これらは全部イチからテキストで書き起こしていかないといけないのでしょうか。
コンソール等からGUIで設定し、それをyaml/JSONにエクスポートでできないでしょうか。

A. Former2というサードパーティサービスを利用することで可能です。

  Former2で既存リソースのCloudFormationテンプレート出力を試してみた | ヤマムギ Tweet JAWS DAYS 2020の資料確認のお手伝いを少ししてまして、「ゼロからはじめる Infrastructure as Code ~SIer企業がAWSで⾃社Webサービスを⽴ち上げて2年間運⽤してきた話~ / Infrast ヤマムギ



Q. スケールアウト、スケールインを自動で実施するときに、データ保持が難しい(例えばセッションキャッシュなどが多い。。。)一番良い方法はどのような構成が望ましいでしょうか?

A. セッション情報をDynamoDB、ElastiCacheなどに保管して各インスタンスに状態を持たせないのがセッションステートレスとしてベストプラクティスです。


Q. EC2のインスタンスタイプを変更しスケールアップするのかAutoScalingでスケールアウトするのかについて使い分けについてご説明いただけないでしょうか。

A. リレーショナルDBのようにデータを保持していて、分散処理の困難なシステムはスケールアップで対応します。情報や状態を外部のDBやストレージに保管するような、分散処理の可能なアプリケーションの場合はスケールアウトが使えます。スケールアウトのほうが、性能向上に上限がないこと、対傷害性、伸縮性の点で優れています


Q. Route53で、EC2を起動後、ホスト名に対して起動したEC2のIPアドレスを割り当てたことがあるのですが、EC2再起動によるIPアドレスの変更をRoute53でいちいち設定を変更しなくてよい仕組みがあると聞きました。どのような仕組みを使っているのでしょうか。Route53でEC2のインスタンスから自動的にIPアドレスを取得する仕組みがあるのでしょうか。LoadBalancerを使う?

A. EIPを使うとEC2のパブリックアドレスが変化しないので、EC2単体で使うのであればこちらです。
ELBを併用すれば、Route53で指定するのはELBのDNSになるので、EIPも使用しなくてよくなります。


Q. LBとしては「新たにターゲットグループに追加されたもの」「healthy→unhealthyになったもの」どちらも扱いは同じでしょうか。後者についても、LBからヘルスチェックは継続して、一時的な応答不能だった場合は再度リクエスト割り当て対象になるのでしょうか。

A. はい、ターゲットグループから登録解除されていなければヘルスチェックは続いており、再度healthyになればリクエスト対象になります。


Q. NAT-GWのルーティングは[public1-private1A.  public2-private2]になっており、どちらのNAT-GWが落ちてもそれぞれのapp-serverが外部通信できなくなるように見えます。
これで可用性は確保できているのでしょうか。

A. NAT Gatewayが単体で障害が発生することよりも、AZ全体の障害対応として可用性を実現しています。
AZ全体での障害時にはそれぞれAppServerは機能しない前提ですので、ルートも必要ありません。
NAT Gatwayがハードウェアレベルで障害が発生したとしても内部的に冗長化されていますので、ルートが失われることにはなりません。


Q. 希望キャパシティを2、最小キャパシティを1にした場合に、1つしかインスタンスが作成できなかった場合、1つのインスタンスで稼働し続けるのでしょうか。
希望キャパシティは最初にいくつインスタンスを作成するかの設定でしょうか。

A. 希望キャパシティは今現在起動させるインスタンスの数の設定です。
仰っているケースで何らかの原因で1つしかインスタンスが起動できなかった場合は、起動のリトライが起こります。
例えば最大値3 希望3とすれば3つのインスタンスが起動します。


Q. Public Subnet 1のネットワークACLの確認で、100、 *という2つの名前で「0.0.0.0/0」のAllowとDenyの2レコードが存在しているように見えます。どちらのルールが適用されるのでしょうか? 

A. 100が適用されます。数字の低いものが順番に適用されて、最後に*が適用されます。


Q. コストのモニタリングはルートユーザーで行わないと全てのサービスのコストを見ることはできませんか?ルートユーザー以外で見ようとした場合、IAMで許可されているサービスだけになりますか?

A. まずIAMユーザーに対して課金情報を見れる用に設定する必要があります。その後、IAMユーザーにAWS管理ポリシーのBillingポリシーをアタッチすれば請求管理できます。


Q. 例えば、CloudTrailで不正アクセスされたことを通知するアクションなどはできますか?
(深夜にAWSへログインされるとか。。アクセス元のIPアドレスで判断することはできますでしょうか?)

A. CloudWatch EventでCloudTrailイベントをルール設定して、許可IPアドレスのリストと突き合わせて不正ログインと判断すれば通知する、といった仕組みを作成することは可能です。


Q. CloudTrailで「誰が?」というのはすぐに判断できるのでしょうか?

A. 誰がいつどんなAPIを使ったかを全て記録しているので分析すればわかります。


Q. 侵入者が、CloudTrailを一番最初に無効にしていたら、なにされたかわからない、ということでしょうか?

A. CloudTrailを無効にできるポリシーを持ったユーザーを乗っ取られた場合は、そうなります。最小権限の原則を守りましょう。


Q. CloudWatchでメトリクスを把握できるのは便利ですが、料金面はいかがでしょうか

A. 標準メトリクスは無料利用枠です。
カスタムメトリクスは追加料金が発生します。

  料金 - Amazon CloudWatch | AWS Amazon CloudWatch は無料で始めることができ、また 、無料利用枠内でご利用いただけるアプリケーションも多数ご用意しています。このページでは Amazon CloudWatch に関する各種お見積もりや API 使用時のコスト予測についてご説明します。 Amazon Web Services, Inc.



Q. WindowsServerのパフォーマンスモニタの項目もColudWatchで収集・分析可能でしょうか。

A. テキストで出力されるものであればcloudwatchエージェントを使って収集できます。テキストでなくても、SDKを利用してプログラムを書き、API経由で収集することも可能です


Q. CognitoからユーザーのログインID(もしくはそれに代わる情報)を取得することはできますか?
例えば、ログインIDに紐づけてDB側でユーザーの個人情報を取得するような操作を想定しています。

A. 可能です。アプリケーションで使用しているユーザーIDを取得して、その値をDBのキーにするなどが可能です


Q. CLIはコンソールからAWSのAPIにアクセスする、と理解したらよいですか?

A. CLIはコマンドライン上で使用します。WindowsのコマンドプロンプトやMacやLinuxのターミナルからawsコマンドを実行し、コマンドが内部的にAWSのAPIを利用する、とご理解ください


Q. デフォルトではどんなロールにも切り替えられるのでしょうか

A. 許可されたユーザーが許可されたロールにだけ切り替えリクエストをすることができます


Q. ユーザ、グループ、リソースそれぞれのポリシーで万一競合が起こった際に適用優先度はどのように決められますでしょうか。

A. 許可設定については合計、拒否が優先、となります


Q. IAMにポリシーを設定後に、AWS側でポリシーが更新された場合、設定内容が自動的に更新されるのでしょうか。

A. はい、AWS管理ポリシーでは、AWSが設定したバージョンのポリシーが適用されます。


Q. ELBのヘルスチェック機能に関して、ヘルスチェックの間隔とリトライ回数によってインスタンスを切り離す時間が決定されるという認識でよろしいでしょうか。すぐに切り離したい場合は設定で間隔を短くしたり、リトライ回数を減らせばいいのでしょうか。

A. 時間の考え方に関してはおっしゃるとおりです。ELBはヘルチェックが失敗するとリクエストを転送しないだけで切り離しは行いません。切り離ししたい場合はオートスケーリンググループを併用します


Q. ELB、 ALBの振り分け先インスタンスが全てダウンしている場合にSorryサーバ等へ転送する設定はありますか?

A. ELB自体にはありません。Route53を利用して構成します


Q. ELBについて質問です。
例えば、APサーバ1と2があり、あるユーザが最初にリクエストがきた際にAPサーバ1に振り分けられました。
同じユーザの次回以降のリクエストを全てAPサーバ1に向けることは可能でしょうか。
(同じセッションは同じサーバに振り分けられるようにしたいという要件です)

A. はい、可能です。スティッキーセッションという機能を使います、後ほど解説します。


Q. S3のアクセスポリシーで、特定のIPアドレス(例えば社内のGIPからのみ)というのをコントロールする場合、バケットポリシーで設定することは可能でしょうか?
IPアドレスをバケットポリシーで定義できるか?というのを知りたいです。

A. はい、可能です

  S3 バケットアクセスを特定の VPC エンドポイントまたは IP アドレスのみに制限する Amazon Web Services, Inc.



Q. TransitGatewayAttachmentはデフォルトで冗長化されるのでしょうか?

A. デフォルトでは冗長化されていません。アタッチメントはサブネット(つまりAZ)ごとに作成されるため、複数選択して冗長化されるようにしてください


Q. 別リージョン×別アカウントはピア接続不可でしょうか。

A. 接続可能です。ただピア接続がまだサポートされていないリージョンもありますので利用時は確認をオススメします


Q. 同じCIDRを持つVPCを2つ作成できたのですが、どのような扱いになるのでしょうか。

A. VPCはそれぞれ独立した空間ですので、IPアドレスレンジの重複は関係なく、それぞれのVPCは機能します
ただし、そのVPCどうしをピアリングすることができません


Q. 設定の中で「Classic Link」という選択がありましたが、どのような機能でしょうか。

A. EC2-Classicという、VPC以前のネットワーク環境内にあるEC2をVPCに関連付ける機能です。
EC2-Classicが使えるアカウントは古いアカウントのみです。

  ClassicLink - Amazon Elastic Compute Cloud ClassicLink を使用して、EC2-Classic インスタンスがプライベート IP を使用して VPC 内のインスタンスと通信できるようにします。 https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/vpc-classiclink.html



Q. ルートテーブルのルート設定は記載順の評価ではないのでしょうか。(削除権限もなく順番も変更できなさそうで、Publicがlocal->igw->pcxの順になっていますが問題なく通信できているので。。)

A. 「制限が高い順」です。より絞り込まれたほうが優先度は高くなります。

  ルートテーブル - Amazon Virtual Private Cloud ルートテーブルを使用して、ネットワークトラフィックの経路をコントロールします。 https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/VPC_Route_Tables.html#route-tables-priority



Q. VPCピアリングで接続したVPCのCIDRが重複していた場合、どういうルーティングになるのでしょうか。(そもそも接続できないでしょうか)

A. ピアリング作成時にエラーになり作成できません。


Q. VPCピアリングのリクエスタ、アクセプタの指定は、今回のように自分で承諾するような場合はどちらでも(shared->Publicでも)通信などに影響はないでしょうか。(単にどちらが承諾操作をするか、の違いのみですか)

A. はい。そのとおりです!


Q. インバウンドルールの「::/0」と「0.0.0.0/0」の違いは何でしょうか。

A. Q. IPv4とIPv6の違いです
「::/0」がIPv6
「0.0.0.0/0」がIPv4
です
どちらも、全てのIPアドレスを意味します


Q. 「Amazon VPCを次の環境でデプロイします。」
と書いてありますが、ここの「デプロイします」は「運用します」という意味でしょうか?

A. はい。構築します、という意味です。


Q. Elastic IPはリージョン当たり5つまでと記載ありましたが増やせないのでしょうか。

A. 上限緩和申請を出して承認されれば、増やすことができます


Q. NATゲートウェイで実現しているトラフィックの制御は、セキュリティグループの設定での実現は難しいのでしょうか?

A. 実現は可能です。しかし、ベストプラクティスである、あらゆるレイヤーでセキュリティを確保する、という点から、ルートテーブルとNATゲートウェイ
を利用してインターネットと通信できるインスタンスを限定することを推奨します。セキュリティグループだけでは、設定ミスなどからネットワークを守ることができなくなってしまうからです。


Q. パブリックIPアドレスが開放されるタイミングは、インスタンスの停止と削除のどちらでしょうか。

A. 停止、削除のどちらでも開放されます


Q. EC2のNICはデフォルト1つという考えでしょうか?追加すると課金されますか?

A. デフォルトで1つ、アタッチされています。ENI自体は無料なので追加料金はかかりません。ENIを介したデータ転送量に応じて課金されます


Q. ルートテーブルの送信先とターゲットのちがいがよくわかりませんでした。

A. 送信先は、通信先のIPのアドレスまたはIPレンジで、ターゲットはそのIPアドレスレンジに通信するためのゲートウェイ(ルータ)とお考えください


Q. パブリックサブネットはDMZ、プライベートサブネットは内部ネットワークのようなイメージでしょうか

A. はい、おっしゃるとおりです


Q. ワークロードって何ですか?

A. AWSでは以下のように定義しています

  Workloads - AWS Well-Architected Tool AWS WA Tool ワークロードの使用を開始します。 https://docs.aws.amazon.com/ja_jp/wellarchitected/latest/userguide/workloads.html



Q. EBS=Localディスク、EFS=共有ディスク。。。ということでよいでしょうか?
EFSのディスクサイズはどの程度まで利用できますでしょうか?

A. はい、その認識で大丈夫です
EFSの最大サイズは明記されていませんが、ペタバイト級まで自動でスケールしていきます

  Amazon EFS のクォータと制限 - Amazon Elastic File System Amazon EFS リソースのクォータです。 https://docs.aws.amazon.com/ja_jp/efs/latest/ug/limits.html



Q. RDSに割り当てるサブネットは2つのAZからなるサブネットグループである必要がありますか?単一のサブネットを割り当てることはできますか?

A. サブネットグループには最低2つのサブネットを設定する必要があります。


Q. パラメータストアのvalueは暗号化できるのでしょうか。(暗号キーやパスワードなどを保存するのはNGでしょうか。)

A. KMSを使って暗号化が可能です。ValueTypeは、SecureStringにします。


Q. RDSを作成する際はVPCとSGしか設定しませんでしたがAZやサブネットは自動で割り当てられているのでしょうか?

A. サブネットグループが作成されており、その内容が適用されています


Q. RDSをオンプレ環境など外部からDBとして利用することはできるのでしょうか。

A. VPCとVPN接続して使用する、が一般的な方法です。
RDSをパブリックアクセス設定することもできますが、セキュリティリスクがあります。


Q. DynamoDBグローバルテーブルは主副などの区別なく、双方向でレプリケーションされますでしょうか。

A. はい、主副の関係はなく双方向でレプリケーションされます。同時に更新がかかった場合は、後で更新をかけたほうが優先です


Q. AZを指定するとありますがふたつ指定する必要がありますか?

A. 冗長構成が必要なアプリケーション要件がある場合は、2つのAZを指定して可用性を高める必要があります
検証環境など冗長構成が必要ない場合は、指定する必要はありません


Q. RDSのネットワーク設定等はEC2と同じようにするのでしょうか

A. VPCとサブネット、セキュリティグループを選択するという手順は同じです


Q. 自動化は便利ですが、勝手にOSパッチが適用されますか?(postgress9.3→9.5など)
古いクライアントコマンドが使用できなくなるなどの障害はどのようにキャッチアップできますか。

A. 自動アップグレードを有効化していない限り、データベースのバージョンが勝手に変わってしまうことはありません。
検証などを行い、任意のタイミングでアップグレードしていただくことができます。


Q. EBSボリュームのバックアップ=データから、EBSを複製して別のEC2インスタンスに作成する(システムとして複製させる)などはできるのでしょうか?

A. EBSスナップショット(バックアップ)からAMIを作成し、そこからEC2インスタンスを新たに起動できます


Q. EBSアタッチ済みのEC2のAMIイメージを取得するとEBSの情報も含まれますか?
であれば、バックアップとしてEC2のAMIイメージを取得すれば、EBSのスナップショットは不要ともいえるでしょうか?

A. はい、そうなります。ブート用とデータ用でEBSを分けている場合はデータ用EBSのみスナップショットをとるなどの運用も考えられます


Q. EC2のOSライセンス費用について、リザーブドインスタンスの場合に途中でライセンス費用変動があった場合でも、リザーブドインスタンス契約期間はOSライセンス費用の変動はないでしょうか。

A. リザーブドインスタンスの購入時の料金から変更されることはありません。例えばEC2のディスカウントがあっても反映がされません。コンバーチブルで購入した場合は、値下げの影響は受けられます。


Q. EC2のOSのライセンス費、製品保守費はAWS利用料とは別で別途用意するのでしょうか。

A. ライセンス料金などは従量課金制の利用料金に含まれています。


Q. EC2の属性データは起動と停止を繰り返すと変化するのでしょうか

A. パブリックIPアドレスを割り当てている場合、一度停止するとアドレスが変わります


Q. スナップショットに保持した容量に対しても課金がかかりますか?

A. はい、課金請求対象です。


Q. EBSストレージの暗号化について、AWSのDC側で老朽機器を廃棄する際は内部の物理ストレージデータの消去や破壊等は行わないのでしょうか? (昨年あたりに発生した地方自治体からの廃棄サーバからの情報漏洩のようなケースを気にしています)

A.  物理機器を廃棄する際は、適切に破壊等が行われています
なお暗号化については、流出時の対策というよりは、アプリケーションや顧客の要件に対応する目的が高いです。

  クラウドにおける安全なデータの廃棄 | Amazon Web Services クラウドにおける統制をお客様が考慮する場合、基本的な考え方は大きく異なるものではありません。ただし、クラウドならではの統制を考慮すべきケースがあることも事実です。その際には、従来のオンプレミスのやり方を無理にクラウドに当てはめようとしてもうまくは行きません。大事なことはその統制が何を目的としていたのかに立ち返り、その上で、New normal(新しい常識)にあった考え方や実装をすすめる必要性を理解し、実践することです。この投稿では、メディアやデータの廃棄を例として、セキュリティのNew normalを考えていきます。 メディア廃棄における環境の変化 データのライフサイクルに応じた情報資産の管理は多くのお客様の関心事項です。 オンプレミスの統制との変更という観点では、メディア廃棄時の統制は従来のオンプレミス環境とクラウド環境では異なります。オンプレミス環境の利用者はハードウェアの消磁や破砕などを実行することでデータの保全を実行してきました。また、メディア廃棄をサードーパーティに委託し、その廃棄証明の提出をもって“確実な廃棄の証跡”として管理しているケースもありました。 AWSの環境ではセキュリティ責任共有モデルに基づき、クラウドのインフラストラクチャの管理はAWSの統制となるため、お客様はその統制が実施されるていることを評価していく必要があります。お客様はAWSが管理するハードウェアデバイスに物理的にアクセスすることはできないため、従来であれば自組織、場合によってはサードパーティに委託していたメディアの廃棄を自組織の統制範囲として行うことはありません。また、仮想環境のストレージは物理的なハードウェアと異なり、特定の利用者が占有しているとは限らないため、廃棄時に利用者に紐付けた管理や通知を行うことは現実的ではありません。 AWSにおけるメディアの廃棄 AWS データセンターは、セキュリティを念頭に置いて設計されており、統制により具体的なセキュリティが実現されています。ユーザーデータの保存に使用されるメディアストレージデバイスは AWS によって「クリティカル」と分類され、そのライフサイクルを通じて非常に重要な要素として適切に取り扱われます。AWS では、デバイスの設置、修理、および破棄 (最終的に不要になった場合) の方法について厳格な基準が設けられています。ストレージデバイスが製品寿命に達した場合、NIST 800-88 に詳細が説明されている方法を使用してメディアを廃棄します。ユーザーデータを保存したメディアは、安全に停止するまで AWS の統制から除外されることはありません。AWSで扱われるメディアはワイプ処理もしくは消磁処理され、AWSのセキュアゾーンを離れる前に物理的に破壊されます。AWS の第三者レポートに文書化されているように、AWS データセンターに対する第三者の検証によって、AWS がセキュリティ認証取得に必要となるルールを確立するためのセキュリティ対策を適切に実装していることが保証されます。お客様はこうした第三者のレポートをAWS Artifactから入手することが可能です。 AWSにおけるサードパーティの管理 AWSにおいては、本投稿執筆時点(2019年12月19日)においてお客様のコンテンツにアクセス可能なサードパーティーのプロバイダはありません。こうした事実は第三者の検証において評価を得るとともに、AWSのサードパーティアクセスページにおいて公表しており、また、変更がある場合にお客様は通知を受けることも可能です。 目的に立ち返る:なんのために”メディア廃棄”を行うか そもそもメディア廃棄の統制を行う目的は何でしょうか。脅威を踏まえて考えれば、組織の所有する(およびしていた)データが許可なく第三者に漏洩することを防ぐことにあります。メディア廃棄の証明をとることは、メディアの廃棄後も、データが第三者により許可なくアクセスされないことを評価するための手段にほかなりません。お客様にとって重要なことはデータがライフサイクルを通じて確実に保護されることです。メディアの廃棄の証明はその手段のうちの一つ(適切に処理されたことの保証手段)にすぎません。お客様の統制を離れたデータが保護されることを確実にすることに焦点をあてることで、環境がクラウドに変わったとしてもお客様の求める管理目的を達成することが出来るのです。 暗号化を活用したデータの保護と廃棄記録 AWSはお客様に重要なデータやトラフィックの暗号化による保護を推奨しており、そのための機能を提供しています。利用終了後もデータを保護する有効な手段として、暗号化による予防的な統制、そして処理の実行を確実に記録することは強く推奨されます。 暗号化がなぜ有効なのでしょうか。暗号化されたデータはそれを復号するための鍵がなければデータとして復元することが出来ません。暗号化に利用する鍵と暗号化されたデータへのアクセスを分離することで権限のない第三者によるデータへのアクセスを予防することが出来ます。このように暗号化を行い、その鍵を消去することはCryptographic Erase(CE:暗号化消去)としてNIST SP800-88においても紹介されています。 AWSのストレージサービスでは利用開始時にデフォルトで暗号化を行う機能を提供(Amazon EBS, Amazon S3)しています。また、Amazon Key Management Services (KMS)によりお客様の鍵によりデータを暗号化することが可能です。これによりお客様が定義したポリシーで鍵へのアクセスを統制しながら利用状況の証跡を取得することが可能となります。また、AWS Configにより意図しない設定の変更や設定ミスの検知および修正を自動化するといった発見的および是正的な統制を組み込むことも容易です。こうした統制を実施することでAWS上のお客様のデータに対して、ライフサイクルに応じた保護を行うことがより容易になりました。 お客様によるデータ廃棄の統制例 統制の一例として、ストレージ領域をデフォルトで暗号化を行う設定とすることで第三者によるアクセスへの保護を実現します。そしてEBSやS3 Bucketを削除する際には、あわせて当該領域の暗号化に用いた鍵をAWS Lambdaを使用してKMSより削除します。これにより従来行っていた当該データの復号が困難になるとともに廃棄証明の代わりとして、暗号化による保護を実施した記録をお客様自身で自動的に取得、管理することができるようになります。鍵へのアクセスが無くなることで、当然AWSによっても、またお客様も廃棄されたデータへのアクセスはできなくなります。   情報セキュリティを管理するためには目的にあわせた管理策を実施する必要があります。しかし一方で、手段自体が目的化してしまい、それを無理に新しい環境であるクラウドにあてはめてしまうアンチパータンが発生することがあります。本投稿ではメディアの廃棄を一つの例示としてとりあげましたが、セキュリティの管理策を実施するうえでの目的に立ち返り、クラウド上で行う上での妥当性、効果や効率性、そして何よりもクラウドの特性を生かしたさらなるセキュリティの向上を実現することでNew Normalに前向きに取り組むことができます。   このブログの著者 松本 照吾(Matsumoto, Shogo) セキュリティ アシュアランス本部 本部長 […] Amazon Web Services



Q. EC2と紐づけたEBSのボリュームタイプは実際に使用してモニタリング結果を受けてから変更する必要ができた場合は簡単に変更できるものなのでしょうか。

A. はい、ボリュームタイプは変更可能です


Q. EBS暗号化の場合、複合化はどうなるのでしょうか?
新しいインスタンスで同じEBSを共有(?)して利用することは可能でしょうか?(その際に複合化できるか?というのも気になります)

A. AWS KMSという鍵管理サービスを使用して復号化が可能です。なお、1つのEBSを複数のEC2インスタンスから同時にアタッチすることは基本的にできません

  暗号化された EBS ボリュームの暗号化を解除する Amazon Web Services, Inc.



Q. EBSを暗号化する場合、多少パフォーマンスが落ちるのでしょうか。ほかに何かデメリットがあればご教示ください。

A. 暗号化していないものと同じパフォーマンスを期待できます

  Amazon EBS 暗号化 - Amazon Elastic Compute Cloud EBS ボリュームの Amazon EBS 暗号化 を使用すると、独自のキー管理インフラストラクチャを構築、保守、保護する必要がなくなります。 https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/EBSEncryption.html



Q. EBSはデータ保存、S3はファイル保存という認識で正しいでしょうか?

A. Q. S3は、頻繁に変更されない完成されたファイルや過去のログファイルなどを置くのに適しています
EBSは、編集中のファイル、一時的なファイルなど変更が頻繁に起こるファイルを配置します


Q. CPUクレジットはどの程度のペースで溜まるのでしょうか。また、1クレジットあたりどの程度の時間バーストできるのでしょうか。

A. クレジットあたりの実行可能時間も定義されています。


Q. CPUクレジットに上限はあるのでしょうか。

A. はい、あります。インスタンスタイプやサイズで異なります。詳細は以下を御覧ください

  バーストパフォーマンスインスタンスの CPU クレジットとベースライン使用率 - Amazon Elastic Compute Cloud 従来の Amazon EC2 インスタンスタイプの場合は CPU 使用率が一定ですが、バーストパフォーマンスインスタンスの場合はベースラインレベルの CPU 使用率を提供するとともに、そのベースラインレベルを超えて CPU 使用率をバーストできます。ベースライン使用率とバースト機能は、CPU クレジットで管理します。 https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/burstable-credits-baseline-concepts.html



Q. バージョン①~③(③が最新)のオブジェクトがあり、①に復元したい場合、②と③をコンソールから削除する必要があるのでしょうか。②と③を残したまま①に復元可能でしょうか。

A. 1を元にオブジェクトのコピーをします。


Q. エンドポイントからページを見ているのは直接ファイルを閲覧しているということでしょうか?ネットワークの設定をしていないのでどういう公開のされ方をしているのかイメージできなかったです。

A. はい。ブラウザでオブジェクトをダウンロードして参照しています。ドメインに対しての名前解決はAWSの内部でされます。
WebサーバーにグローバルIPアドレスを設定してDNSを設定して、アクセスするのと同じですが、それらの手間がいりません。


Q. S3でバージョニングを有効にした場合、あるオブジェクトのバージョンの一覧参照手順をご教示ください。

A. バージョンを表示状態にすれば一覧で見れます。


Q. HTMLファイルを更新する度に公開を押さないといけないのは手間だと感じるのですが公開設定のものを更新した場合は自動で公開したりはできないのでしょうか

A. バケットポリシーを使って広い範囲で公開設定にすればできますが、非推奨です。
コマンドなどで、更新手順を自動化して、パブリック設定も自動化するほうが望ましいです。


Q. S3のライフサイクルポリシーで、「年末だけ標準ストレージ、以外はGracier」のような日付・期間指定かつストレージの双方向の行き来もできるのでしょうか。

A. Glacierは常にデータを置いておき、年末にデータをS3に取り出し、10日後に削除する、といった運用で実現可能です


Q. S3のライフサイクルポリシーについて期間指定でストレージタイプを変更できるとありましたが
アクセス頻度をポリシーに指定することは可能でしょうか。
もし可能だった場合、一度ストレージタイプを下げた場合(例:標準→標準IA)で
アクセス頻度が多くなったら、上のタイプに変更するといった設定は可能でしょうか。

A. インテリジェントティアリングをご利用されると、想定しているような動きになります。


Q. ライフサイクルルールは全体に対して適応されるイメージでしょうか。
例えば、オブジェクト等の単位で他のストレージに移行する日数を変更する事は可能なのでしょうか。

A. 全体以外に、プレフィックス、オブジェクト単位で設定可能です


Q. ストレージクラスをGlacierにした瞬間からWebからアクセスできなくなりますか?

A. はい、そうなります。


Q. 1ファイルのPUT or GETが1リクエストという考え方でしょうか

A. はい。他にもListやSelectなどのオペレーションがあります。


Q.1ゾーン低頻度アクセスの利用ケースの事例をご紹介いただけませんでしょうか。

A. オンプレミスバックアップデータの冗長化など再生成可能なデータを低コストで保管する用途でよく使われます。


Q. Snowballを何に接続してS3へアップロードするのでしょうか

A. LANケーブルでオンプレミスシステムに接続しデータをコピーします。その後AWSに送付すると、S3へのアップロードが行われます


Q. 説明を聞いた限りではTransfer Accelerationの設定は任意だが、メリットしかないように感じたのですがデメリットはあるのでしょうか?
CloudFrontを使用することによる料金でしょうか?

A. はい、追加料金は発生します。


Q. バージョニングで保存されるデータは差分のみでしょうか?

A. いえ、オブジェクトストレージなので差分ではなく実体がすべて保存されます


Q. バージョニングを有効にすると、過去に遡れるのは良いですが、使用容量はどんどん増えていきコスト嵩むと思いますが、そこはトレードオフでやむなし、というイメージでしょうか

A. はい、そのとおりです!


Q. Amazon Route 53 は、なぜ 53 なのですか?

A. DNSのサービス用ポート番号が53番を使用しているためです


Q. EC2 は何故2が入っているのですか?

A. Elastic Compute Cloudの略で、Cが2つ続くためです


Q. 大阪だけ「ローカル」ってありますね。何か意味がありますか?

A. 大阪ローカルリージョンは、東京リージョンのバックアップ用途などに特化された、利用のために申請が必要な特殊なリージョンのため、ローカルと呼ばれています
なお2021年春から、AZが3つの通常のリージョンとして利用可能になる予定です。


Q. AWS APIの一覧が記載されているようなページはあるのでしょうか。

A. APIリファレンスガイドがあります

  https://docs.aws.amazon.com/ja_jp/#user_guides https://docs.aws.amazon.com/ja_jp/#user_guides




ご受講、たくさんのご質問ありがとうございました!


合わせて読みたいAWS関連記事


  【解説つき】2020年3月新試験版AWS 認定ソリューションアーキテクト - アソシエイト資格のサンプル問題を解いてみよう | トレノケート公式ブログ 2020年3月23日更新の「AWS 認定ソリューションアーキテクト - アソシエイト」SAA-C02試験のサンプル問題の解説を書いてみます。 今回は公式解説もサンプル問題に記載がありますので、それをベースに図解します。 トレノケート公式ブログ


  AWS認定試験を自宅で受験しました | トレノケート公式ブログ AWS認定講師が自宅からAWS認定試験のOnVUE受験した体験をまとめました。 トレノケート公式ブログ


山下 光洋(やました みつひろ)

山下 光洋(やました みつひろ)

トレノケート株式会社 講師。AWS Authorized Instructor Champion / AWS認定インストラクター(AAI) / AWS 認定ソリューションアーキテクト - プロフェッショナル /AWS認定DevOpsエンジニア - プロフェッショナル / AWS 認定デベロッパー - アソシエイト / AWS 認定 SysOps アドミニストレーター - アソシエイト / AWS 認定クラウドプラクティショナー / kintone認定 カスタマイズスペシャリスト他。AWS認定インストラクターとしてAWS認定コースを実施。毎年1,500名以上に受講いただいている。AWS 認定インストラクターアワード2018, 2019を日本で唯一受賞。著書『AWSではじめるLinux入門ガイド』(マイナビ出版社)。共著書『AWS認定試験対策 AWS クラウドプラクティショナー』(SBクリエイティブ社)。前職では2016年にAWS Summitにパネラーとして参加。その前はLotus Technical Award 2009 for Best Architectとして表彰されている。また、各コミュニティの運営にも個人的に関わり、勉強会にてスピーカーや参加をしている。

© Trainocate Japan, Ltd. 2008-2020