Memo/AmazonWebServices

https://dexlab.net:443/pukiwiki/index.php?Memo/AmazonWebServices
 

AWS(Amazon Web Services)


Kinesis: 動画とストリーミングデータの収集、処理、分析


Lex: AI活用した会話型インタフェース


API Gateway

  • Edgeパターン
    • us-east-1のACMにSSL証明書をインポート
    • 専用のCloudFront Endpointが追加されるので、DNS設定
  • Regionalパターン
    • 各リージョンに設定する。CloudFrontは使わない。ACMも使わず、API gatewayに直接SSL証明書をインポート。
    • 専用のLambda Endpointが追加されるので、DNS設定
    • 中国はRegionalのみ対応(2019-04)

セキュリティ

  • 通知(SlackやEmail)等を有効にする。各機能を有効にしただけでは、気がつかない。
    • AWS SNS、Lambda等でSlackに通知を出す。
  • CloudTrail
    • 誰がどんな操作をしたかがログに残る。
  • GuardDuty
    • 不審なアクセス時に通知される。

SSM(Systems Manager): sshの代わりをconsole上から実行

AWS Console上からsshと同等のコマンドを実行できる。


SFTP: S3をバックエンドにしたSFTP/SCPマネージドサービス

  • AWS Transfer for SFTP
    • S3をバックエンドにできるので、堅牢性、容量の面で安心
    • ユーザ認証: SSH public key, Active Directory, LDAP
    • WinSCP、FileZilla、CyberDuck、OpenSSH(scp)等のメジャーなクライアントから使える

ElastiCache: Redis, Memcachedのマネージドサービス


EKS: マネージドKubernetes


サーバレス

サーバレス構成でよく使うサービス

  • API gateway
  • Lambda
  • CloudWatch
  • CloudFront

SNS: メッセージサービス


Lightsail: VPSサービス

  • Lightsail
    • WordPress, LAMP, Node.js, Redmine, GitLab, ... といったインストール済みのホストを数クリックで起動できる。
    • 月額 $4〜

Elasticsearch: 全文検索エンジン


サービスの選択


開発プロセス


Connect: マネージドコンタクトセンター

IVR(Interventional Radiology) 自動音声応答装置を構築できる。


AWS認定資格


Support: サポート

技術サポートは有償のdevプランからだが、お勧め。
ただし、料金は月額使用料の3%等なので、注意。


AWS Glue: マネージドETLサービス


AWS Data Pipeline: データの移動と変換を自動化

  • IAM ロールのセットアップ 古いAWSアカウントだと DataPipelineDefaultRole, DataPipelineDefaultResourceRoleが存在しない。あとこのドキュメントが理解しにくい。
  1. IAM > ロール> DataPipelineDefaultRole > ポリシーの編集 > ドキュメントからコピペ
  2. 保存
  3. IAM > ロール > DataPipelineDefaultRole > 信頼関係の編集 > ドキュメントからコピペ
  4. 保存
  5. DataPipelineDefaultResourceRoleも同様に行う

aws-toolkit-vscode: VSCode用拡張機能


GuardDuty: 脅威検出


DocumentDB(MongoDB)

MongoDBとは別物。API互換。


中国リージョン

  • Memo/Aliyun の注意点参照
  • AWS Global版とはアカウントが別になる。
  • AWS Chinaは中国法人が必要。
  • ICPライセンスが無いとweb公開(80,443,8080)ができない。
    • ICPライセンスの申請は、リージョン毎に別会社。1ヶ月くらいかかる?
    • API Gatewayでも同様に、認証無しでのアクセスができない。token認証有りは通信OK。ICPライセンスが無いと「curl -i https://<api-gateway endpoint>」が「x-amzn-ErrorType: AccessDeniedException」になる。
  • 時間帯によって非常に遅くなる。通信が悪い。 南北問題?
  • リージョンによって、無いサービスも多い。2019-01-30 NingxiaリージョンのみAuroraがある。
  • API Endpointが異なる。「ec2.cn-northwest-1.amazonaws.com.cns.com.cn
  • ARNが異なる。「arn:aws-cn:iam::123456789012:user/division_abc/subdivision_xyz/Bob」等

Fargate: サーバーやクラスターの管理が不要なコンテナの実行

  • ECSとの違い
    • ECSはEC2インスタンスの事を考える必要がある。

ECS: EC2上でDockerコンテナを管理


WAF: Web アプリケーションファイアーウォール


Console Recorder for AWS: 操作を記録して各種テンプレートを生成してくれるChrome/Firefoxアドオン


ベストプラクティス


Config: AWSリソース設定の評価

  • AWS Config とは - AWS Config

    AWS Config は、AWS アカウントにある AWS リソースの設定詳細ビューを提供します。これには、リソース間の関係と設定の履歴が含まれるため、時間の経過と共に設定と関係がどのように変わるかを確認できます。

Configと通知、合わせて初めて役に立つ。


モバイル(Android/iOS)アプリ


マーケティングEMAILを停止する

複数AWSアカウント使用時に同じメールが来て邪魔。

  1. AWS Email Preferences を開く
  2. AWS root accountを入力
  3. 「Do not send me marketing email」にチェック
  4. Save

DDoS対策


Aurora: MySQL互換のデータベース


Redshift


侵入/脆弱性テスト申請

  • 2019-03-01現在、EC2/NAT gateway/ELB/RDS/CloudFront/Lambda@Edge/Aurora/API gateway/Lambda/Lightsail/Elastic Beanstalkへのテストは事前承認無しになった。ただし、JPサイトはまだ更新されていない。ENサイトでは8つのサービスは不要と記述がある。
  • 侵入テスト - AWS
    • 1フォームで2種類の申請ができる。テスト元で入力が異なる
    • source: EC2からEC2への侵入テスト
    • target: 外部IPからEC2への侵入テスト
    • 承認番号を含むメールが届くまではテストは許可されない。通常2営業日以内
  • AWS以外のホストから、EC2へのスキャンを申請する場合: Scan Infomation
    • IP Addresses to be scanned (Destination): スキャン先EC2のプライベートIP
      aws --profile default --region ap-northeast-1 ec2 describe-instances \
       --filters "Name=instance-state-name,Values=running" \
       --query 'Reservations[].Instances[].NetworkInterfaces[].PrivateIpAddresses[].PrivateIpAddress' \
       --output text | tr '\t' '\n'
      
      172.31.0.1
      172.31.0.2
      ...
    • Are the instances the source of the scan or the target of the scan ?: Target
    • Instances IDs*: スキャン先EC2のインスタンスID
      aws --profile default --region ap-northeast-1 ec2 describe-instances \
       --filters "Name=instance-state-name,Values=running" \
       --query 'Reservations[].Instances[].InstanceId' \
       --output text | tr '\t' '\n'
      
      i-00000001
      i-00000002
      ...
    • Scanning IP addresses (Source)*: スキャン元IP
      1.2.3.4

Windows Server/SQL Server


2段階認証

IAMでのログイン時に2段階認証を利用できる。セキュリティのため利用したほうが良い

  • ハードウェアキーを使う場合

IPアドレス範囲


不正利用

  • IAM keysがgithubに漏れたり、SSL Heartbleed bug等の致命的な問題の時、AWSからメールが来る(aws-verification@amazon.com)。このメールには必ず返信が必要で、返信しないでいるとEC2を新規に立てられなくなるといった制限が付く(該当リージョンのみ)
    • IAM keysが漏れた場合、該当キーをinactiveにするだけはだめで、deleteする必要がある

SSL Heartbleed bug対応


API上限


ネットワーク図


AWS側のメンテナンス

EC2/RDS等、ハードウェア交換等でOSのリブートやインスタンスのstop/startをするようにとメールが来る場合がある。

  • Amazon EC2 のメンテナンスのヘルプページ
  • system-reboot
    • EC2 EBSベースなら、EC2のstop/start
    • EC2 S3ベースなら terminate/start。エフェメラルディスクの内容は消えるため、必要ならばバックアップが必要
  • instance-reboot
    • OSの再起動をすれば良い。reboot or shutdown -r now
    • エフェメラルディスクの内容はそのまま
  • 機器が古いのかus-west-1では多い(気がする)

Elastic Transcoder

  • AWSで動画の変換サービス
  • 米国東部リージョンで標準解像度(SD, 720p未満)の元動画1分あたり0.03ドル
  • 入力形式:MP4, 3GP, AAC, AVI, FLV
  • 出力形式:MP4, H.264, AAC

サービス上限緩和の申請

  • 現在の上限はAWS Management Consoleの Services > EC2 > Limitsから確認できるようになった。上限緩和申請もここからできる。

SESでメール送信


ログ


コスト削減/RI(Reserved Instance)


リソースにタグを振ってリソース毎のコストを計算

設定が必要だが、EC2,RDSといったリソースにタグを振ると、s3バケット上のCSVにそのタグが表示される。
そのため、CSVをExcel等のピボットテーブルで集計するとタグごとのコストが分かる。

ただし、現在全てのリソースにタグをふれないため、金額を厳密に分けたい場合(例えば、クライアント会社毎に請求書を作る)は、別のAWSアカウントを作成し、Consolidated BillingでメインのAWSアカウントに請求をまとめた方が良い。


コスト見積


ヘルスチェック/SLA

  • AWS Service Health Dashboard
    • 全リージョンの各サービス毎の状態を確認できる。
    • 大きい障害しか表示されない。
    • 小さな障害の場合、サポートに問い合わせると実は障害がありましたと言われる場合あり。

構築自動化


セミナー


添付ファイル: fileec2cli_vs_awscli.sh 315件 [詳細] filerds-list-tags-for-resource-sample.php 737件 [詳細] fileec2-describe-instances-sample.php 626件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-04-18 (木) 19:04:29 (10h)