catch-img

Architecting on AWS for APN Partner 2020/10/28~30 QA

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

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


Q. AWS Organizationsに追加できるアカウント数に制限はありますか?

A. デフォルトの制限は4です。上限緩和申請が可能です。


Q. EC2からEBSに対する書き込み中にEC2が落ちた場合に
書き込み中であったファイルはEBSにそのまま残りますか?
それとも、journalのようなものがあり復旧が行われるのでしょうか?

A. EC2インスタンスのみの障害であれば、EBSをデタッチして、別で起動したEC2インスタンスにアタッチすることによってデータを復旧できる可能性があります。


Q. Amazon EFSで複数のEC2からマウントされた場合、同一ファイルに対する書き込みは排他制御が行われるのでしょうか?
それとも実装アプリケーションで考慮することになりますか?

A. NFSプロトコルを使用して1つのファイルを編集中の別のプロセスが編集する時と同じようにロックされます。


Q. S3へのマルチパートアップロードはAWS上のコンソールから可能でしょうか?
それともCLIからAPI経由でなければできないのでしょうか?

A. コンソールからアップロードした際は、容量によって自動でマルチパートアップロードされます。


Q. ElastiCacheは単独利用より組み合わせて使うということでしょうか?

A. 元となるデータは他のデータベースにあって、キャッシュ目的で使うのが一般的です。


Q. Lambdaの実行履歴を確認するにはどうすればいいでしょうか。

A. CloudWatchLogsで確認できます。


Q. Lamdaをスケジュールバッチ的に利用する上で、自動起動のトリガーはCloudWatchEvent利用が一般的でしょうか。

A. はい。


Q. Lambda関数が並列処理時の各処理は独立していて互いに影響しないということでいいでしょうか。

A. はい、独立しています。


Q. Lamdbaに関して、長時間かかるような処理を実現するには、処理を分割して、直列に処理させるような組み方になるのでしょうか?

A. Lambda自体は15分まで処理が可能です。処理を分割して例えば並列実行してすべて成功してから後続処理する場合はStepFunctionsと組み合わせます。


Q. ECSでデプロイした際にEC2インスタンスも起動する認識ですが、その場合はEC2インスタンスも課金対象の認識でよいですか?

A. はい、ECSのEC2タイプはEC2の利用料金が課金対象です。


Q. SQSは設計図ではどの位置にあるのでしょうか。リージョン内でしょうか。

A. はい、設計図ではリージョンに書きます。使用するときはリージョンを選択します。AZは意識せずに使用できます。


Q. SQSに格納するメッセージ数の上限などはあるのでしょうか?

A. キューに保存できるメッセージ数は無制限です。

  キューに関連するクォータ - Amazon Simple Queue Service キューに関連する Amazon SQS のクォータの一覧を示します。 https://docs.aws.amazon.com/ja_jp/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-queues.html


Q. 可視性タイムアウトについて、ラムダがメッセージを受け取ったことをトリガーに、メッセージが不可視になるという認識であってますでしょうか。

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


Q. SQSはIN/OUTの順序性は保たれるのでしょぅか

A. FIFOキューを使うと保たれます。標準キューでは順番はベストエフォートです。


Q. CloudFrontとALBでは配置される場所がVPCの内外で異なると思うのですが
WAFは同一の設定で問題ないのでしょうか?

A. CloudFront向けWAFはグローバルを対象に、ALB向けはリージョンを対象に作成するので、異なるWAF ACLを使用します。


Q. ライトスルー、遅延書き込みはアプリ側で実装する、という事でしょうか?

A. はい、アプリケーションの実装です。


Q. WAFは個別のサービスではなく、何かのサービス(CloudFrontとか)の中で指定できる機能ということでしょうか?

A. AWS WAFという個別のサービスです。CloudFront、Application Load Balancer、API Gatewayと連携できます。


Q. CloudFormationは無料で利用できるのでしょうか?

A. 基本無料です。手動で作った際と同じように各リソースの料金が発生します。
ただし、サードパーティ提供のリソースタイプを使用した場合は追加料金が発生します。

  料金 - AWS CloudFormation | AWS Amazon Web Services, Inc.



Q. アーキテクチャの現状の構成をCloudFormationのテンプレートに出力できますか?

A.  AWSのサービスとしてはありませんが、サードパーティサービスとして、Former2というサービスがあります。

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


Q. 作成したRDSのDBバージョンをUpgradeしたい場合は、再作成になるのでしょうか?
その際、データ移行は、DMSを使用した移行になるのでしょうか?

A. 特に移行作業は不要でバージョンアップが可能です。決めた時間帯に自動でアップデートするような設定も可能です。


Q. オートスケーリングで管理されていることをインスタンスの一覧から判別する方法はありますか。

A. インスタンス一覧の表示を右上の歯車からカスタマイズして、aws:autoscaling:groupnameを一覧に表示すれば可能です。


Q. 2つ以上のターゲットグループを、1つのロードバランサに関連付けることはできますか?

A. 可能です。リスナーのルール編集で追加することができます。


Q. スポットインスタンスでスケーリングした後、スポットインスタンスが使えなくなった場合、それを検知してさらにスケーリングしてくれるのでしょうか?

A. はい、あるAZでスポットインスタンスが使えなくなった場合、要求を満たすインスタンス数になるまで、別のAZでスポット起動してくれます。


Q. AutoScalingの最小値を0にすることは可能ですか?
(夜間帯にサーバを停止するなどに利用したいため)

A. 可能です。ゼロにしておけば夜間は自動終了させる運用が可能です。


Q. VPCフローログについて
IPトラフィックに関する情報とは、一般的なパケットキャプチャで
取得できるレベルまで取れますか?

A. フローログで取得する情報は以下で確認できます

  VPC フローログ - Amazon Virtual Private Cloud ネットワークインターフェイスとの間で行き来する IP トラフィックに関する情報をキャプチャするため、フローログを作成します。 https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/flow-logs.html#flow-log-records



Q. 開発環境を特定時間に自動停止し、特定時間に起動したいと考えています。
AWSCLIではなく、マネージメントコンソールからこのような設定は可能でしょうか?

A. 可能です。CLoudWatchEventsとSystemsManager(SSM Automation)で設定しま


Q. SecretsManagerで認証情報を管理するということは、認証にパラメータストアを使わなくなる、という理解であっていますか?

A. はい、パラメータストアの代わりに利用します


Q. 組織の配下全部とかポリシー適用できるのですか?

A. はい、SCPで設定可能です。


Q. IAMロールの信頼されたエンティティはIAMロールにSTS AssumeRoleを請求するリソースのことだという認識で合っていますか

A. はい、あっています。今回の例では、EC2がAssumeRoleAPIを実行することを許可していた、というポリシーです


Q. EC2からのAWS_CLIはアクセスキーが不要ということですか?
EC2に対するIAMロールは1つしかアタッチできませんか?

A. IAMロールを使用しているEC2インスタンスには、追加でアクセスキーを設定する必要はありません。
IAMロールは一つのみ設定できますが、IAMポリシーを複数IAMロールに設定することができます。


Q. Route53で新しいドメイン名を取得することは可能でしょうか?
それとも事前に別のドメインレジストラで取得が必要でしょうか?

A. はい、可能です。通常のレジストラと同じようにマネージメントコンソールから購入可能です。


Q. RDSがレプリケーションを別のRDSに取っているときに、障害発生時のフェイルオーバーはRDSが持つ機能でスイッチするのでしょうか?

A. AZ間で自動フェイルオーバーしてエンドポイントが変わります。マルチリージョンリードレプリカの場合は明示的にマスターDBへの昇格(書き込み可能なようにパラメータストアの変更)が必要です。


Q. DBのフェールオーバした場合、APサーバ側のアプリケーション再起動は必要になりますか?

A. APサーバーの再起動や設定変更は不要です。フェイルオーバー中のダウンタイムが発生するための考慮は必要です。


Q. Connection Drainingにて登録解除されたインスタンスは自分で削除するということでしょうか?
Auto Scalingを利用することになりますか?

A. AutoScalingを使った場合は自動で削除できます。そうでない場合は手動で削除します。


Q. VPCエンドポイントですが、VPC外サービスにアクセスするときには必須と考えた方がいいのでしょうか
それを使わずにアクセスした場合にどんな問題があるのでしょうか。

A. 必須ではありません。インターネットへの通信ができればVPCエンドポイントは必要ありません。


Q. LBのヘルスチェックと登録解除遅延の関係性はありますか?

A. ヘルスチェックの失敗回数に達するとリクエストは送信されません。登録解除遅延はインスタンスの登録解除時に新たなリクエストを送信しなくなる機能です。ただし、ターゲットをオートスケーリンググループにして、オートスケーリンググループのヘルスチェックにELBのヘルスチェックも追加すると、ヘルスチェックの失敗回数に達したときに、自動で登録解除遅延が開始されます。


Q. ALB、NLBにSSL証明書を適用することは可能ですか?

A. どちらも、SSL証明書を設定できます。


Q. 1つのVPCにIGWとVGWを両方つけることはできないのでしょうか。
2つのVPC構成をPeer接続するような構成がよいのでしょうか。

A. 可能です。1つのVPCで構成可能です


Q. VPCピアリングによって別VPC環境間のサブネットでも通信できる経路が作られて
ルートテーブルにその経路を許可して通信できるようにするということであっていますでしょうか?

A. はい!あっております!


Q. AWSのサービスでWAFとセキュリティグループの違いがいまいち把握できていません。
セキュリティグループはインバウンドとアウトバウンドで通信を制御する仮想ファイアウォールと理解しています。WAFはどのようなファイアウォールでしょうか?

A. WAFは、IPアドレスとポートだけでなく、URLパターンや、パスなどの複数条件に基づいてブロック、許可ができます。
インジェクション攻撃などにも対応できます。


Q. VPCピアリングではCIDRが異なっていなければいけませんか?
またルートテーブルでサブネットへのルートを指定する際もCIDRが同一だとルーティングができませんか?

A. はい。CIDRに重複があると、VPCピアリング自体が作成できません。
ですので、ルートテーブルのルート設定もできません。


Q. EC2インスタンスにパブリック IPv4 アドレスが割り当てられるのは、パブリックサブネットに紐付けたからですか?
EC2インスタンスを起動すると、インターネットへのアクセス可否によらずデフォルトでパブリック IPv4 アドレスが割り当てられるのでしょうか?

A. パブリックサブネットで「自動割り当てIPの有効化」をしたことによって、EC2インスタンスのネットワーク設定で、パブリックIPアドレスの割り当てがデフォルトで有効になります。
起動時に無効に設定することも可能です。


Q. 別アカウントにVPC-Peerが可能なように(VPCアクセプタの欄に候補が出てくるように)するには、具体的にはどのような操作をするのでしょうか?

A. 相手先のVPC IDを知っておく必要があります。
VPC IDを直接入力して、リクエストをします。
相手先アカウントでは承諾待ちステータスになるので、承諾してピア接続が作成されます。


Q. VPCピアリングは同じリージョン内のVPCのみでしかできないでしょうか?

A. 別リージョン、別アカウントも可能です。


Q. EC2にデフォルトでアタッチされているENIは、デタッチできない。であっていますか?

A. はい。あっております!デタッチできません。


Q. プライベートSubnet内のEC2から、DynamoDBなどのVPCを設定できないAWSリソースに対してアクセスする場合、NAT Gatewayは必須になりますか?それとも暗黙的に何かのPublicIPにNATされて通信できますか?

A. VPCエンドポイントを使用するか、仰っているようにNAT Gatewayを使用する構成もできます。


Q. EC2にアクセスするためには必ずElastic IPが必要となりますか?

A. EC2インスタンス起動時にパブリックIPアドレスを有効化して割り当てられたパブリックIPアドレスでもアクセスできます。


Q. ElasticIPアドレスとENIの関係性が分からなかったのですが、ENIにElasitcIPアドレスを割り当てるイメージなのでしょうか?

A. はい、EIPを作成したあとENIに割り当てます。操作上はインスタンスに割り当てている用に見えますが、実際はインスタンスにアタッチされているENIに関連付けられています。


Q. AMIからEC2を復旧した場合は、別のPrivataIPアドレスになりますか?

A. はい、アドレスは変更されます。アドレスを固定したENIをつけることで同じアドレスで運用することもできます。


Q. NICが2つあるというイメージでしょうか?
障害が発生したときにもう一方ので復旧してもプライベートIPは変わらないという認識で大丈夫でしょうか?

A. はい。ENIが2つあります。
ENIでアドレスを固定しておくことで、他のインスタンスに付け替えれば同じIPアドレスで運用できます。


Q. システムを運用している中で、プライベートサブネット上にある、EC2インスタンスやRDSを、直接操作したい場合(コマンドベースでの設定、データパッチをあてるなど)、パブリックサブネット上に、踏み台用EC2インスタンスを立てて対応する以外に、何か方法はないでしょうか?

A. 仰っておられる方法もあります。VPCにVPN接続することで直接プライベートサブネットに接続できます。EC2の場合はSystemsManagerで管理することもできます。


Q. サブネットのCIDRは/28から/16のネットマスクまでと聞いたことがありますが、認識あっておりますでしょうか。

A. はい、その範囲です。


Q. パブリックGW、NAT GW単体で冗長構成はしてないのでしょうか?

A. 冗長化されています。インターネットGWはVPC単位で、NATFGWはAZ単位で冗長化されており、メンテナンスやスケーリングについてユーザーは意識しません。


Q. AZごとにパブリックとプライベートを作るということですが、冗長構成のようなイメージでしょうか

A. はい。AZごとにサブネットを作成して、冗長化を実現します


Q. NATゲートウェイを利用するとInboudを防いでくれるということですがOutboudで使われるパブリックなIPアドレスはAWS側で面倒みて動的に付与されているという理解でいいでしょうか

A. NATゲートウェイに付与するアドレスはElasticIPを作成してそれを割り当てます。AWSの持っているIPv4アドレスレンジからEIP作成時に1度だけ払い出され、NAT Gateway使用中は変わりません。


Q. スナップショットをテープ保管するためオンプレ環境にダウンロードすることは可能でしょうか

A. EBSに関してはStorage Gatewayを利用すれば可能です。RDSの場合は、スナップショットからRDSを起動してダンプを取る、などが必要です


Q. 1つのVPCでは1つのCIDRしか設定できないでしょうか?

A. 追加することも可能です。


Q. デフォルトの制限値の拡張自体には課金が発生しないという認識であっていますか?

A. はい、緩和申請自体は無料です。実際にサービス等を利用したときに課金されます


Q. RDSで実際にDBを使ってDB性能の問題が発生した場合、DB側で基本的にインスタンスタイプを変える以外の対応(DBAでよくやるパラメータ設定など)はできないのでしょうか。

A. パラメータグループで、各データベースエンジンのパラメータ設定ができますのでチューニングが可能です。


Q. スナップショット的には取って保管できますか?監査に耐える。

A. RDSやDynamoDBでバックアップの取得は可能です。暗号化も可能です。


Q. DMSとSnow系(Snow ballA.  Snow mobile)の使い分けはどこをポイントに判断したらよいですか?

A. DMSはシステムを稼働しながらAWS上のDBに移行ができます。Snowball/ShowMobileはポータブルなストレージというイメージで、データをコピーして物理的に配送しS3にデータを移行します
データベースを稼働しながら移行するか、停止してデータをS3に持っていくか、が判断基準になると思います。


Q. DynamoDBのアクセス制御ですが、VPC的な配置ではなくリージョン内配置という説明がありましたがアクセスできる元は、限定されたセキュリティグループからアクセス可という設定はできる認識でよいでしょうか。

A. DynamoDBではセキュリティグループは使用せず、IAMで利用権限を制御するのみです。ネットワークレイヤやAPIのセキュリティはAWS側が行います。


Q. EC2インスタンスを毎日作り直す場合、それを自動化する手段も用意されているのでしょうか。

A. はい、オートスケーリングでスケジューリング設定して実現できます。


Q. EC2は中断と終了するのとで、使い捨てのメリットとしてはなにがあるのでしょうか?中断している間の課金はないと思っており、金額としては違いがないように思っています。

A. 中断の場合、EBSルートボリュームの課金は発生します。また、時間とともに変化していく状態にあわせて運用するも、常に同じ状態のインスタンスが起動するほうが想定外の事象は起こりにくく運用しやすいと考えられます。


Q. HPCコンピューティングのプランでは、Dedicationオプションとは違ってHPC専用の高性能のホストを利用すると考えればよろしいですか?

A. コンピューティング性能に特化したホストを選択するのはインスタンスファミリーの選択です。プレイスメントグループは、あくまで通常の利用に加えて、インスタンス間レイテンシーを下げるための配置オプションです。


Q. Systems Managerのパラメータストアを利用するメリットは何でしょうか

A. 複数のEC2インスタンスでシステムを構成して同一の設定を入れたい場合、設定内容を一元管理できます。
パスワードのようなセキュアな情報もSecureStringタイプを使用すると、暗号化されるのでセキュリティ要件を満たせます。


Q. ユーザーデータに書いたコマンドは、デプロイ時に実行されるとの理解でよいでしょうか。
(起動スクリプトではないですよね?)

A. AMiを元にEC2インスンタンスが起動した時に実行されます。


Q. リザーブドインスタンスの月払いは可能ですか?
可能な場合、金額は毎月変動しますか?

A. 月払いは可能です。金額は変更しません。ただし先払いのほうが割引率は高くなります。

  Amazon EC2 リザーブドインスタンス料金表 | AWS Amazon Web Services, Inc.



Q. リザーブドインスタンスを選択しても、動いているEC2には影響ないということでしょうか?(インスタンス再作成等は発生しない?)

A. はい、動作に影響はありません。権利を購入するだけです


Q. リザーブドインスタンスは、期間の延長はできますか?

A. 期間の延長はできません、都度購入することになります


Q. リザーブドインスタンスは、利用期間としては最低1年間なのでしょうか?

A. はい、最低1年となります


Q. T2, T3ファミリーは、CPUを使い続けるようなミドルウェアは使わず、Apacheのような要求に応じて処理をするようなコンピューティングに適しているということでしょうか?

A. 常時負荷がかかるような用途よりも時々CPUバーストする要件に向いています。


Q. 「CPUクレジット」の言葉の意味がよくわかりません…
ベースラインを下回っている場合に貯金しておいて、バーストできるように貯金を使うイメージでしょうか…?

A. はい、あっています。普段節約しておき、いざというときにお金を使うようなイメージです。


Q. EBSをアタッチしたEC2のAMIイメージを利用すれば、全く同じ環境のEC2サーバーがいくつも複製できる認識ですがあっていますか?

A. はい。AMIから起動すれば同じ構成のサーバーを複数起動できます


Q. 世代が古いものを使い続けると具体的にどのようなデメリットがありますか?

A. 新しい世代で改善された性能やコスト最適化されたインスタンスを使用できないというデメリットです。


Q. EBS、S3で組み合わせたりしたするんでしょうか?組み合わせパターンはオンプレミスとあまり変わらない?EFSなども?

A. AWSでは、データ要件に応じて、1つのアプリケーションであっても複数のストレージサービスから自由に選択できます。複数のインスタンスでファイルストレージを共有する場合はEFSで、オンプレミスから移行したアプリケーションの変更を極力少なくすることができます。
PDFのようなオブジェクトファイルを配信する場合はS3が向いていますが、アプリケーションの変更が必要かもしれません。


Q. インスタンスストアとは、インスタンスのホストローカルのストレージを使用するということだと思いますが、ここでいう「ホストローカル」とはどういう意味でしょうか?

A. EC2インスタンス、つまり仮想マシンが起動るする物理ホストのことです。


Q. EC2のタイプによって選べるボリュームタイプが違う、という認識であっていますか?

A. はい、インスタンスタイプによってインスタンスストアが使用できるかどうかが異なります。


Q. EC2で使用するWindowsServerライセンスは別途購入が必要なのでしょうか?

A. 別途購入は不要で、1時間毎の利用料金にライセンス料も含まれています
ライセンス持ち込みも可能です


Q. EC2のメタデータのエンドポイントはどの単位で設定されているのでしょうか?
例だとhttp://IPアドレス/latest/meta-dataでしたが、このIPアドレスはどこで決定するのでしょうか。

A. IPアドレスは不変で共通です。
一般的に用いられない、IPv4のリンクローカルアドレスレンジです。


Q. Glacierの取り出し料金というのはストレージタイプを標準などに変更する事でしょうか?

A. いいえ、GlacierからS3にオブジェクトのコピーを作成するイメージです。


Q. 1ゾーンIAの説明でおっしゃっていた、「アクセスできなくなっても良いデータ」について、以下どちらの意図でしょうか?
・一時的にアクセスできない状態が発生してもよいデータ
・障害が発生した場合になくなってしまってもよいデータ

A. 前者が該当します。後者については、耐久性はスタンダードと変わらないため、AZが一時的に利用できないときにオブジェクトにアクセスできなくなる場合があることを検討してください。


Q. バケットのエンドポイントはプライベートNW内にも作れるのでしょうか
(例えば、AWS上のVMが属するプライベートNW内から、外へ出ずに、バケットのエンドポイントにアクセスしたい)

A. VPCエンドポイントで仰っている要件は実現可能です。


Q. バージョニングすると、S3に保存されるデータが増えるのでしょうか?(それだけ使用料金が増えますか?)

A. はい、増えていきます。コストと完全性とのトレードオフです。


Q. S3バージョニングは世代数とか設定出来るのでしょうか?

A. 世代数設定はできません。ライフサイクルポリシーを使用することで、過去のバージョンを削除する設定はできます。


Q. 「キャパシティ予測が不要」とあるが、「変動支出」のコスト試算をする上では、キャパシティ予測が必要になるのではないでしょうか?

A. もちろんビジネスを計画することは必要でしょう。ただオンプレミスでの調達のときのように、数年後のサーバーのリソース使用状況を予測してCPUコアやメモリ量を決定して、以降変化しないことは、クラウドではスケールアップ、ダウン、スケールアウト、スケールインが容易にできるので不要になります、という意味です。


Q. EC2がデフォルトでシングル構成なのは何故なのでしょうか。
理想上勝手にマルチ構成にしてもらった方がいいと思うのですが。

A. AWSを利用する際、全てが高可用性を求められるということでもありません。例えばPoCや、ビジネス的に重要でないシステム(ダウンタイムが許容できる)です。
こういうったものにコストを掛けずに構成する際に、シングルインスタンスは選択肢になります。


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


合わせて読みたい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