AWS Developer ~の資格を取ろうとしたけどやめちゃったときのメモ
マネージコンソールにログイン後にshellを使うことができる。認証はログインしたユーザのものが通っているので、AWS CLIが使える。
コメントからコード生成
client = boto3.client('s3')
Principalが必須。これがあればリソースベース。S3 Select: コンテンツの中身をSQL式でバケットからオブジェクトを取得できる。json, csvなどが対応aws s3 websiteするとホスト名を叩くと/index.htmlに転送してくれる。また、corsを許可するとput_object: upload_fileはファイル自体をs3に上げる。put_objectはpythonの中でバイナリを読み込んでs3に上げる。マネージド転送という。下りのdownload_fileとdownload_fileobj`も同様。scanしてfilterはあるが、内部では全件読み取り後のフィルタなのであまり意味がない。RCUも全件消費するパーティションキーとソートキー以外で検索できない→基本的にアプリケーションとして読み取りが発生するデータを洗い出して設計時に決定しておく必要がある修飾ARNの例:
arn:aws:lambda:aws-region:acct-id:function:helloworld:42
バージョンなしを非修飾ARNという
arn:aws:lambda:aws-region:acct-id:function:helloworld
$LATESTを呼び出す。lambda のエイリアスとは、更新可能な関数のバージョンへのポインタです。:prodなど。トラフィックの一部を 2 番目の関数バージョンに送信します。たとえば、エイリアスを設定して、ほとんどのトラフィックを既存のバージョンに送信し、トラフィックの一部を新しいバージョンに送信するように設定することで、新しいバージョンを展開するリスクを軽減できますcanaryの設定ユーザーは、Amazon Cognito を介してウェブやモバイルのアプリケーションにサインインできるようになります。また、ユーザーは Google、Facebook、Login with Amazon、Apple などのソーシャルアイデンティティプロバイダー、および Security Assertion Markup Language (SAML) 2.0 のアイデンティティプロバイダー経由でサインインすることもできます。ユーザーが直接またはサードパーティーを通じてサインインするかどうかにかかわらず、ユーザープールのすべてのメンバーには、ソフトウェア開発キット (SDK) を通じてアクセスできるディレクトリプロファイルがあります。AWS X-Ray は、アプリケーションが処理するリクエストに関するデータを収集し、そのデータを表示、フィルタリング、考察することで、問題点や最適化の機会を特定するために使用できるサービスです。トレースされたリクエストは、リクエストとレスポンスの詳細情報を参照できるほか、アプリケーションがダウンストリームの AWS リソース、マイクロサービス、データベース、および HTTP Web API に対して行うリクエストについても確認することができます。Amazon S3 マネージドキーによるサーバー側の暗号化 (SSE-S3) を行うが、KMS管理のキーによる暗号化に設定が可能。AWS KMS は、次のタイプのデータキーペアをサポートしています。 ・RSA キーペア: RSA_2048、RSA_3072、RSA_4096 ・楕円曲線キーペア、ECC_NIST_P256、ECC_NIST_P384、ECC_NIST_P521、ECC_SECG_P256K1 ・SM キーペア (中国リージョンのみ): SM2
AWS KMS は、ローテーションが有効になってから 1 年 (約 365 日) 後にキーマテリアルをローテーションし、その後は毎年 (約 365 日間隔で) ローテーションします
https://docs.aws.amazon.com/ja_jp/kms/latest/developerguide/rotate-keys.html#rotate-keys-how-it-worksAWS Systems Manager を使用することで、複数の AWS のサービスの運用データを一元化し、AWS 上およびマルチクラウドやハイブリッド環境内のリソース全体のタスクを自動化できます。アプリケーション、アプリケーションスタックのさまざまなレイヤー、本番環境と開発環境といったリソースの論理グループを作成できます。Systems Manager では、リソースグループを選択し、その最新の API アクティビティ、リソース設定の変更、関連する通知、運用アラート、ソフトウェアインベントリ、パッチコンプライアンス状況を表示できます。運用ニーズに応じて、各リソースグループに対してアクションを実行することもできます。Systems Manager により、AWS 上およびマルチクラウドやハイブリッド環境内のリソースを一元的に表示および管理でき、運用を完全に可視化して制御できます。
AWS Windows AMI と Amazon Linux AMI にはデフォルトで Systems Manager エージェントがインストールされており、Amazon Linux リポジトリで利用できますAmazon EC2 インスタンス、およびオンプレミスで稼働するインスタンスを含む、さまざまなインスタンスへのコードのデプロイを自動化するサービスAWS CodeDeploy はさまざまな設定管理システム、継続統合およびデプロイシステム、ソースコントロールシステムと連動します
https://aws.amazon.com/jp/codedeploy/product-integrations/デプロイのために指定の必要があるパラメーター: 次の 3 つ リビジョン – 何をデプロイするか指定します。(リビジョン: リビジョンとはソースコード、ポストビルドアーティファクト、ウェブページ、実行ファイル、デプロイスクリプト、 AppSpec ファイルなどのデプロイコンテンツの特定のバージョン) デプロイグループ – どこにデプロイするか指定します。 デプロイ設定 – デプロイ方法を指定する任意のパラメータです。
AppSpec ファイルとは、コピーするファイルおよび実行するスクリプトを指定する設定ファイルです。AppSpec ファイルは YAML フォーマットを使用しており、リビジョンのルートディレクトリに含める必要があります。ユースケース データ処理 Machine Learning マイクロサービスのオーケストレーション IT およびセキュリティのオートメーション
Amazon ElastiCache は、Memcached または Redis プロトコルに準拠したキャッシュのクラウドへのデプロイと実行を効率化するウェブサービスです。ElastiCache は、低速なディスクベースのシステムに依存する代わりに、高速で管理されたインメモリシステムから情報を取得できるようにすることで、アプリケーションのパフォーマンスを向上させますサポートするRDB MariaDB Microsoft SQL Server MySQL Oracle PostgreSQL
リードレプリカ: DB インスタンスの読み取り専用コピー。DBエンジン組み込みのレプリケーション機能を使用。
aws sts get-caller-identity
aws s3 rb s3://~
aws s3 rb s3://~ --debug
deletemeという名前のバケット名のバケットをリストするaws s3api list-buckets --output text --query 'Buckets[?contains(Name, `deleteme`) == `true`] | [0].Name'
aws iam get-policy-version --policy-arn [ポリシーARN] --version-id v1
aws iam attach-role-policy --policy-arn [ポリシーARN] --role-name [ロール名]
aws iam list-attached-role-policies --role-name [ロール名]
if current_region == 'us-east-1':
response = s3Client.create_bucket(Bucket=name)
else:
response = s3Client.create_bucket(
Bucket=name,
CreateBucketConfiguration={
'LocationConstraint': current_region
})