Memo/AmazonWebServices

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

AWS(Amazon Web Services)


Chatbot: SlackやChimeへの通知

今まではSlackに通知したい場合、GurdDuty, Config等リソース毎にLambdaを作成する必要があって面倒だった。


ECR(Elastic Container Registry): マネージドDockerコンテナレジストリ


AppSync: GraphQL&サーバレスでバックエンドを実装


Resource Optimization Recommendations


Batch: マネージドbatch


Backup: 複数サービスのBackupポリシーを集中管理


Systems Manager: SSMエージェントをインストールしてEC2を管理


AWSアカウントの譲渡


Inspector: EC2にagentをインストールして脆弱性診断


EFS(Elastic File System): NFSでストレージをマウント


DMS(Database Migration Service):


Control Tower: 複数アカウントの管理


Service Quotas: サービス上限の一括管理


Security Hub: セキュリティアラートの一元管理


SecretManager: パスワード等の機密情報の管理


Workspaces: 仮想デスクトップサービス


FSx for Windows: SMBファイルサーバー


コンプライアンスの問い合わせ

普通の技術サポートではなく、専用のwebフォームから問い合わせる。

  • 使いたいサービスが、HIPAA, ISO27001, PCI, etc...に対応しているか

AWSグローバルインフラストラクチャの可視化


Cognito: アプリのユーザ管理


MSK(Amazon Managed Streaming for Kafka)


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)等を有効にする。各機能を有効にしただけでは、異常が起きても気がつかないため必須。
    • CloudWatch Events + SNS でEmail通知
      • 簡単。Slack専用のEmailアドレスに転送するだけなので楽。見た目はシンプル。
    • Lambda。Slack専用に見やすくカスタマイズが出来るが、手間がかかる。
  • CloudTrail
    • APIのログが残る。誰がどんな操作をしたかがが分かる。API単位なので件数が多い
  • GuardDuty
    • 不審なアクセスを検出。
  • Config
    • 予め指定したルールに一致しているか検出。

Transfer for 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プランから。
  • 購入済みRI があると、初月のサポート料金が跳ね上がる。SIMPLE MONTHLY CALCULATOR はRI購入済みの場合のサポート料金も見積に出るので使った方が良い。

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


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

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

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


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設定と通知、合わせて初めて役に立つ。
    • デフォルトでは通知なしなので、SNS+LambdaでSlackへ送信する等の手間がかかる。
  • 価格が高い。
    • 2019-08から: 1 ruleあたり評価回数ベースへ変わった。24時間に1回に変更すれば、$0.74/month に下がった。
    • 2019-07まで: 1 ruleあたり $2.00/monthなので全リージョン、全アカウントに設定すると非常に高コスト

モバイル(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を新規に立てられなくなるといった制限が付く(該当リージョンのみ)
  • すぐにAWSサポートへ連絡。連絡して、適切な処理をする事で、不正利用された金額が戻ってくる(こともある)
  • 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: メール送信サービス


ログ


ヘルスチェック/SLA

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

構築自動化


セミナー


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

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