2020年12月22日火曜日

AWSのドキュメントの機械翻訳の間違い

機械翻訳でドキュメントを英日翻訳していて、矛盾があった場合は英語を優先するとなっています。


たまに間違っていますね。明確な間違いに気がついたのでメモしておきます。

https://docs.aws.amazon.com/ja_jp/streams/latest/dev/troubleshooting-producers.html

日本語

シングルレコードオペレーション PutRecord では、スループットスロットリングの計算結果がキロバイト単位に四捨五入されます。マルチレコードオペレーション PutRecords では、各セルのレコードの累計が四捨五入されます。たとえば、PutRecords は 1.1 KB になる 600 レコードのリクエストをスロットリングしません。

英語

Remember to round up to the nearest kilobyte for throughput throttling calculations when using the single-record operation PutRecord, while the multi-record operation PutRecords rounds on the cumulative sum of the records in each call. For example, a PutRecords request with 600 records that are 1.1 KB in size will not get throttled.


round up to the nearest kilobyte を キロバイト単位に四捨五入  と訳してしまっています。これは続きの文を読めばわかるのですが・・・。機械翻訳では数字の扱いや英文字(APIとか)がまざるとおかしなことになるようです。

そこが大事なんですが・・・機械翻訳はまだ少し改善があるのかなというところです。

2020年12月17日木曜日

人月の神話のメモ

 人と月が交換可能になるのは、多くの作業者の間でコミュニケーションを図らなくても、仕事が分担できる場合だけである。


コンセプトの完全性には、システムが1つの原理を反映していること、および、利用者から見た仕様書が少人数で考えられたものであることが必要である。


一般的に、二度目のシステムをデザインし過ぎる傾向がある。


右手がやっていることを左手が知らないせいで、スケジュールの惨憺たる状態だとか、機能がうまく合っていないとか、システムのバグといったことが一度に生じる。


変更はないなどと想定するより、あると思って準備しておいたほうが良い。目的の変更ばかりでなく、開発戦略や技術の変更も避けられない。捨て石の考え方は、人が理解が進めばデザインを変更する、という事実をまさに受け入れることなのだ。


2020年12月16日水曜日

AWS Security Speciality 勉強していたときのメモ

Secrets Manager をEnableすると、即座に1回ローテションを実行する

invalid. https://docs.aws.amazon.com/secretsmanager/latest/userguide/enable-rotation-rds.html

Enabling rotation causes the secret to rotate once immediately when you save the secret. Before you enable rotation, be sure you update all of your applications using this secret credentials to retrieve the secret from Secrets Manager. The original credentials might not be usable after the initial rotation. Any applications you fail to update break as soon as the old credentials become 

EC2のメタデータはDisableできる 

https://aws.amazon.com/jp/about-aws/whats-new/2019/11/announcing-updates-amazon-ec2-instance-metadata-service/ 

インスタンスメタデータのアクセスリクエストの機能強化を導入し、不正なメタデータアクセスに対する深層防御を追加しました。インスタンスメタデータサービスを設定して、新しいインスタンスと実行中のインスタンスの両方でこの機能をリクエストできます。さらに、インスタンスメタデータへのアクセスを完全にオフにすることもできます。


S3 ACLの使いどころ

アカウントレベル、オブジェクトレベルでも設定できる

バウンダリーポリシーなのでDenyはできない

クロスアカウントアクセスで、別アカウントにオブジェクトをアップロードしたとき、そのアカウントへのアクセスを許可するために必要。下記参照。https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/access-policy-alternatives-guidelines.html

オブジェクト ACL は、バケットの所有者が所有していないオブジェクトへのアクセスを管理する唯一の方法です。バケットを所有する AWS アカウントは、別の AWS アカウントにオブジェクトをアップロードするアクセス許可を付与できます。バケットの所有者はこれらのオブジェクトを所有していません。オブジェクトを作成した AWS アカウントは、オブジェクト ACL を使用するアクセス許可を付与する必要があります。


cmkローテーション

Customer managed keys. 1年で自動更新を"選択可能" 

AWS managed keys.  3年で自動(強制)

インポートしたkms keys 手動でローテションのみ。いつでもいい。1年未満でローテションできるのはインポートのみ。

※インポートしたキーは削除は即座に行われるので、保管しておく


CloudTrailの証跡(trail)

証跡を設定しなくても、デフォルトのCloudTrailイベント履歴で90日間は保管されている

90日以前を見たいときはは証跡をonにする必要がある


CloudFront 署名付き URL と署名付き Cookie 

https://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/private-content-choosing-signed-urls-cookies.html

どちらも、コンテンツにアクセスできるユーザーを制御する

署名付き URL 

-  個別のファイルへのアクセスを制限 (アプリケーションのインストールダウンロードなど)

- ユーザーが Cookie をサポートしていないクライアント (カスタム HTTP クライアントなど) 

署名付き Cookie 

- 複数の制限されたファイル (HLS 形式の動画のすべてのファイルやウェブサイトの購読者の領域にあるすべてのファイルなど) へのアクセス

- 現在の URL を変更したくない場合


CLBでできること

CLB のみ独自の暗号化プロトコルに対応できる

CLB は 、HTTP/HTTPS に加えて、SSL接続可能

2020年12月6日日曜日

AWS の名前が紛らわしい機能についてメモ

 

Access Analyzer

IAMの機能

S3, IAM, KMS, Lambda, SQSが知らない内に共有されていないか調べる


Access Advisor

IAMの機能 Group, User, Policyのタブから見る

各サービスを、誰が、どの権限ポリシーで、最後にいつ使用したかを表示する。使用していない(削除対象の)ポリシーなどを探すのに便利。


Credential Report

IAMの機能で、CSVファイルをダウンロードできる。

各ユーザに対して以下の情報:

  • ユーザ作成日
  • パスワードが有効か、最後にいつ使われたか、最後にいつ変更したか、次のローテーションはいつか
  • MFAはアクティブか
  • アクセスキー(2つ)に関して、いつローテートしたか、最後にいつ使われたか、最後にどのリージョンで使われたか、最後にどのサービスで使われたか
  • X.509 署名証明書を所有し、その証明書のステータスが Active であるか、最後に変更された日時

Trusted Adviser 

サービスの1つ。Cost Optimization, Performance, Security, Fault Tolerance, Service Limitの5つの観点でチェック。無料でも使えるが有料にすると機能が増える。

例:

セキュリティ

- SecurityGroupが解放されている

- S3が公開されている

- EBS, RDSでスナップショットが公開になっている

- MFAがEnableになっている

コスト最適化

- 有料: EC2, ELB, EIP, RDS 使用率が低いものなど

RDS Recommendation

DB インスタンス、、リードレプリカ、DB パラメータグループなどのデータベースリソースについての推奨事項が自動で表示されます。これらの推奨事項は、、DB インスタンス構成、使用状況、パフォーマンスデータを分析して、ベストプラクティスガイダンスを提供します。

https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_Recommendations.html


Redshift Advisor

Amazon Redshift Advisor は、Amazon Redshift クラスターを最適化してパフォーマンスを高め、運用コストを低減するための方法に関する推奨事項を提供します。各推奨事項の説明は、前に示したようにコンソールに表示されます。

https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/advisor-recommendations.html

2020年12月3日木曜日

VSCODEのssmacroを使って全角の間の邪魔なスペースを削除する

日本語 ドキュメントをPDFなどからコピペすると、全角文字の間に半角スペースが不自然に入ったりします。修正が面倒なのでVSCODEのエクステンションssmacroに登録しました。

全ての全角文字は [^\x00-\x7F] でascii以外でマッチさせています。


ショートカットを定義するファイルを作ります。

ssmacro_delete_space_bw_zenkaku.json

[
    {
        "args":
        {
            "find": "([^\\x00-\\x7F]) ([^\\x00-\\x7F])",
            "replace": "$1$2",
            "all":true,
            "reg":true,
            "flag":"gmi"
        },
        "command": "ssmacro.replace"
    }
]

キーバインドでCtrl+8 にセットします。キーバインドのファイルはUserのkeybindings.jsonにしています。 上のマクロのjsonのフルパスを指定します。フルパス以外は使えないようです。

Code\User\keybindings.json

[
    {
        "key": "ctrl+8",
        "command": "ssmacro.macro", "args": {"path": "/fullpath/to/ssmacro_delete_space_bw_zenkaku.json"}
    },

]


これで例えば「あ<半角>あ」が「ああ」になります。

ssmacroの定義するファイルはコメントが入れられないのがちょっとだけ不便です。JSONだから仕方ないですかね。

私の場合、他にもAWSの用語を省略するときに便利に使っています。


正規表現Tips

例えば、negative lookforward で、microsoftをMSにしたいけど、ピリオドが次に来るときは除外したいときはこうなります。ピリオドはエスケープするために\\がついています。
{
        "args": {
            "find": "Microsoft(?!\\.)",
            "replace": "MS",
            "all": true,
            "reg": true,
            "flag": "gmi"
        },
        "command": "ssmacro.replace"
    },

URL中にないauthenticationにマッチしたいとき

 "find": "(?<!https*://)authentication"

negative lookbehind でこのように書きます。