MONTH や DAY が 8 (一桁) の時、
YYYYMMDD 形式でフォーマットが崩れないようにするためのワンライナー
YYYYMMDD=${YEAR}$(printf "%02d" ${MONTH})$(printf "%02d" ${DAY})
MONTH や DAY が 8 (一桁) の時、
YYYYMMDD 形式でフォーマットが崩れないようにするためのワンライナー
YYYYMMDD=${YEAR}$(printf "%02d" ${MONTH})$(printf "%02d" ${DAY})
以下の順番に対応する
オンプレミスの DB2、SAP、Windows などを AWS に移行する方法について
上記2点を考える必要がある。
これらのライセンスをそのまま移行するためには、
EC2インスタンスにソフトウェアをインストールすることになる。
そのための移行方法としてAWS SMSを利用してECインスタンスへの移行が選択肢になる。
AWS License Manager を利用する
ライセンスルールを定義。
ライセンス対象となるソフトウェアをインストールしたEC2インスタンスに適用することができる。
コンソールを利用してライセンス利用状況を追跡することも可能。
ソフトウェアベンダーのライセンスを簡単に管理できるようになる。
管理者はライセンス契約の規約をエミュレートするカスタマイズされたライセンスルールを作成することで、EC2 のインスタンスの起動時にそれらのルールを適用できる。
管理者はこれらのルールを使用して、契約が定める以上のライセンスを使用する。
または短期的に異なるサーバーにライセンスを再度割り当てるといったライセンス違反を規制できる。
AWS License Manager は AWS のサービスと統合し、1 つの AWS アカウントを通じて、複数のアカウント、IT カタログ、オンプレミスにわたってライセンスの管理を簡素化することができる。
また、ライセンス管理者は AWS Service Catalog でルールを追加することができる。
AWS Licence Manager
https://aws.amazon.com/jp/license-manager/features/
AWS Service Catalog
Amazon Rekognition
画像検品作業は可能だが、
画像検品に特化したサービスではない
もし画像検品などを行いたい場合は、
G2インスタンスにソフトウェアを導入するなどの対応が必要。
低レイテンシネットワーキングを備えた高度なグラフィック処理サーバーについて言及する場合は、EC2インスタンスの中のG2インスタンスが最適。
開発者が
するケース。
SWFはAWSサービスとの人間のやり取りを含むワークフローをサポートするが、
現在ではワークフロー作成にはSWFではなくAWS Step Functions の利用が推奨されている
公式は以下の通り
組織内のマスターアカウントとすべてのメンバーアカウントの CloudTrail イベントを同じ
に配信できるようにする設定である。
組織の証跡を作成すると、組織のための統一されたイベントログ記録戦略を定義するのに役立つ。
組織の証跡を作成すると、自分の組織に属するすべての AWS アカウントに、指定した名前の証跡が作成される。
メンバーアカウントで CloudTrail アクセス許可を持つユーザーは、
この証跡 (証跡 ARN を含む) を表示することができる。
各AWSアカウントでアクティビティが発生すると、そのアクティビティはCloudTrailイベントに記録される。
イベント履歴に移動すると、CloudTrailコンソールで最近のイベントを簡単に表示できる。
マルチリージョンおよびグローバルイベントの追跡を有効にすることもできる。
デフォルトでは、CloudTrailによってバケットに配信されるログファイルは、
Amazon S3管理の暗号化キー(SSE-S3)を使用したAmazonサーバー側の暗号化によって暗号化される。
直接管理可能なセキュリティレイヤーを提供するために、
CloudTrailログファイルにAWS KMS管理キー(SSE-KMS)を使用したサーバーサイド暗号化を使用できる。
ログを保護するには、S3バケットを暗号化し、バケット作成時にデータ削除不可の設定を行うことで、永続的にログを保存することが可能。
マスターアカウントに対して単一のCloudTrailを有効化して、ターゲットアカウント設定において他の子アカウントをターゲット設定・・・と言うことは必要ない。
AWS Organizationsを利用して、CloudTrailの「組織の証跡」を利用することで子アカウントにも自動的にCloudTrailログを設定することが可能になるからだ。
デフォルトで Amazon VPC 内に起動されるインスタンスと、ユーザー独自のネットワークとの通信はできない。
VPC から独自のネットワークへのアクセスを可能にするには、以下のアプローチが必要になる。
Site-to-Site VPN は、インターネットプロトコルセキュリティ (IPsec) VPN 接続をサポートしている。
データは暗号化されるが、SSLを利用してはいるわけではないと言うのは大きな特徴だ。
IPsec-VPNとは?SSL-VPNとの違いもわかりやすく徹底解説!
AWS Elastic Beanstalk は、デプロイポリシーも含めデプロイを処理するいくつかのオプションがある。
新しいバージョンをすべてのインスタンスに同時に展開する。
環境内のすべてのインスタンスは、展開が行われている間、短時間サービスが停止することになる。
そのため、展開に必要な合計時間を最短にする方法にはなる。
Elastic Beanstalk は環境の EC2 インスタンスを複数のバッチに分割し、アプリケーションの新しいバージョンを一度に 1 つのバッチにデプロイする。
そのため、環境内の残りのインスタンスは古いアプリケーションバージョンを実行した状態になる。
つまりローリングデプロイ中は、アプリケーションの古いバージョンでリクエストを処理するインスタンスもあり、新しいバージョンでリクエストを処理するインスタンスも存在する。
新しいバージョンをバッチで展開するが、最初にインスタンスの新しいバッチを起動して、展開プロセス中に完全な容量を確保する。
変更不可能な更新を実行して、古いバージョンを起動しているインスタンスと並行しながら、別の Auto Scaling グループにあるアプリケーションの新しいバージョンを起動している新しいインスタンスのフルセットを起動する。
部分的に完了したローリングデプロイにより発生する問題を防止することができる。
新しいインスタンスがヘルスチェックをパスしなかった場合、Elastic Beanstalkはそれを終了し、元のインスタンスをそのまま残す。
リソースベースポリシーのクロスアカウントアクセスを設定することで対応が可能。
一部の AWS サービスでは、リソースに対するクロスアカウントアクセス許可を付与することができる。
クロスアカウントの理論についてはこちら
これを行うには、プロキシとしてロールを使用するのではなく、
共有するリソースに直接ポリシーをアタッチすることになる。
共有するリソースは、リソースベースのポリシーをサポートしている必要がある。
なお、リソースベースポリシーが有効になっているサービスは
のみ。
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_roles_compare-resource-policies.html
端的に言うと、ユーザーに割り当てるのではなく、サービスに割り当てるもの。
リソースベースポリシーは Principal が必須となる。
公式のスライドはこちら
公式ドキュメントはちょっと難解なので、Classmethod さんの記事が非常にわかりやすく噛み砕かれていた。
API Gateway と Lambdaファンクションを統合して実行するための方法は
の2つあるのでそれぞれ整理する
プロキシ統合のセットアップ手順に加えて、
受信リクエストデータがどのように統合リクエストにマッピングされるか、
統合レスポンスデータの結果がメソッドレスポンスにどのようにマッピングされるかを指定す。
おそらく、API GW + lambda の構成の場合最も使われている機能だと思う。
API にコンテンツのエンコーディングやキャッシュが不要な場合は、
統合の HTTP メソッドを POST に設定し、統合エンドポイント URI を特定の Lambda 関数のアクションを呼び出す Lambda 関数の ARN に設定することで、認証情報を API Gateway がユーザーに代わって Lambda 関数を呼び出すことを許可する。